Vlookup之横竖查询,查询条件横竖分布,该怎么处理?

Vlookup横竖查询 , 大家在做周报,月报和季报时,会经常用到 , 特别是做数据分析的个人或部门,如财务部,采购部,销售部,人事部等 。

  • 财务部,根据月份和部门,查询部门费用 。
  • 采购部,根据月份和采购员,查询采购金额 。
  • 销售部,根据月份和区域,查询销售额 。
  • 人事部,根据月份和部门 , 查询工资 。


案例 。
如以下数据 , 我们要根据月份和区域查询销售额 。根据前面几篇文章介绍的经验,我们可以归类为多条件查询 。但条件是横竖分布的,和以前介绍过的不一样 。
我们该如何处理呢?
Vlookup之横竖查询,查询条件横竖分布,该怎么处理?

下面分享横竖查询的几种方法 。
第一种方法 。添加辅助列的横竖查询 。
步骤1. 在销售额前插入辅助列E列 。在辅助列E2输入=A2&B2,并向下复制填充 。
Vlookup之横竖查询,查询条件横竖分布,该怎么处理?

步骤2. 创建复合查询条件,$J2&K$1 。根据上篇文章介绍的多列数据查询的经验,条件横向分布的 , 要加$锁定行号;条件竖向分布的,要加$锁定列号 。
步骤3. 将以上复合查询列和复合查询条件代入Vlookup公式 。
在K2输入公式=VLOOKUP($J2&K$1,E:F,2,0) 。并向下复制填充 。
Vlookup之横竖查询,查询条件横竖分布,该怎么处理?

步骤4. 同理,
  • 在L2输入公式=VLOOKUP($J2&L$1,E:F,2,0) 。并向下复制填充 。
  • 在M2输入公式=VLOOKUP($J2&M$1,E:F,2,0) 。并向下复制填充 。
  • 在N2输入公式=VLOOKUP($J2&N$1,E:F,2,0) 。并向下复制填充 。


Vlookup之横竖查询,查询条件横竖分布,该怎么处理?

第二种方法 。Vlookup if. 不需要添加辅助列 。
如果不能修改报表格式,或不想添加辅助列,或想展示一下自己的高超的Excel技能,就可以使用vlookup if的方式 。
步骤1. 创建两列复合数据列 。公式为 IF({1,0},A:A&B:B,E:E)
  • 第一列,A:A&B:B 。将A列和B列连接成一列 。
  • 第二列,E:E 。是结果列销售额 。
  • If({1,0})的目的是将第一列和第二列组合成一个两列的数组 。
步骤2. 创建复合查询条件,$I2&J$1 。同第一种方法 。
【Vlookup之横竖查询,查询条件横竖分布,该怎么处理?】步骤3. 将以上复合查询列和复合查询条件代入Vlookup公式.
在J2输入公式=VLOOKUP($I2&J$1,IF({1,0},A:A&B:B,E:E),2,0) 。并按Ctrl Shift Enter组合键 。再向下复制填充 。
Vlookup之横竖查询,查询条件横竖分布,该怎么处理?

步骤4. 同理,
  • 在K2输入公式=VLOOKUP($J2&K$1,IF({1,0},A:A&B:B,E:E),2,0) 。并按Ctrl Shift Enter组合键 。再向下复制填充 。
  • 在L2输入公式=VLOOKUP($J2&L$1,IF({1,0},A:A&B:B,E:E),2,0) 。并按Ctrl Shift Enter组合键 。再向下复制填充 。
  • 在M2输入公式=VLOOKUP($J2&M$1,IF({1,0},A:A&B:B,E:E),2,0) 。并按Ctrl Shift Enter组合键 。再向下复制填充 。
第三种方法 。Vlookup choose. 不需要添加辅助列 。
原理同第二种方法,只是将if换成choose.
步骤1. 创建两列复合数据列 。公式为 Choose({1,2},A:A&B:B,E:E)
  • 第一列 , A:A&B:B 。将A列和B列连接成一列 。
  • 第二列,E:E 。是结果列销售额 。
  • Choose({1,2})的目的是将第一列和第二列组合成一个两列的数组 。
步骤2. 创建复合查询条件,$I2&J$1 。同第一种方法 。
步骤3. 将以上复合查询列和复合查询条件代入Vlookup公式.
在J2输入公式=VLOOKUP($I2&J$1,Choose({1,2},A:A&B:B,E:E),2,0) 。并按Ctrl Shift Enter组合键 。再向下复制填充 。
步骤4. 同理,
  • 在K2输入公式=VLOOKUP($I2&K$1,Choose({1,2},A:A&B:B,E:E),2,0) 。并按Ctrl Shift Enter组合键 。再向下复制填充 。
  • 在L2输入公式=VLOOKUP($I2&L$1,Choose({1,2},A:A&B:B,E:E),2,0) 。并按Ctrl Shift Enter组合键 。再向下复制填充 。
  • 在M2输入公式=VLOOKUP($I2&M$1,Choose({1,2},A:A&B:B,E:E),2,0) 。并按Ctrl Shift Enter组合键 。再向下复制填充 。
第四种方法 。Sumproduct. 不需要添加辅助列 。
此方法只适用于,查询结果为数值的情况 。但比以上方法简单一些,不用添加辅助行,不需要设置复合数据列 , 不需要按Ctrl Shift Enter组合键 。
步骤如下 。
在J2输入公式=SUMPRODUCT((A:A=$I2)*(B:B=J$1),E:E),并向下复制填充;
在K2输入公式=SUMPRODUCT((A:A=$I2)*(B:B=K$1),E:E) ,并向下复制填充;
在L2输入公式=SUMPRODUCT((A:A=$I2)*(B:B=L$1),E:E) ,并向下复制填充;
在M2输入公式=SUMPRODUCT((A:A=$I2)*(B:B=M$1),E:E),并向下复制填充;


Sumproduct的语法结构为: Sumproduct((查询区域1)=条件1)*(查询区域2=条件2),结果区域) 。前面的违章“Vlookup之多条件查询”有介绍过,大家可以翻阅前面的文章 。
Vlookup之横竖查询,查询条件横竖分布,该怎么处理?

第五种方法 。Sumproduct绝对引用. 不需要添加辅助列 。
此方法和第四种方法相同 。区别在于第四种方法需要设置多个sumproduct公式 。而此种方法,只需要设置一个sumproduct公式 。
但缺点在于,必须对绝对引用非常熟悉 。
步骤如不:
  • 在J2输入公式=SUMPRODUCT(($A:$A=$I2)*($B:$B=J$1),$E:$E),
  • 并向下向右复制填充 。

Vlookup之横竖查询,查询条件横竖分布,该怎么处理?

如果对绝对引用不熟悉的朋友 , 还是使用前面几种方法 。


大家还有其他横竖查询的方法吗?


以后总会用得上,值得关注,收藏,点赞,转发 。

相关经验推荐