VLOOKUP函数的高级查找功能 1.VLOOKUP函数的多条件查找 VLOOKUP函数可以使用数组功能来实现多条件查找。 如根据销售地区和品种来查找销量。 根据VLOOKUP的查询特点,我们想办法重构一下数组,把多个条件用&连接在一起,同样的两列也可以连成一列,然后用IF函数进行组合,得到合适的查询条件。 根据以上分析,可以利用下列公式: {=VLOOKUP(F2&G2,IF({1,0},A2:A11&B2:B11,C2:C11),2,0)} F2&G2是把两个条件连在一起,把他们作为一个整体来查找。 A2:A11&B2:B11和查询条件对应,把地区和品种连接在一起,作为一个待查找的整体。 IF({1,0},A2:A11&B2:B11,C2:C11)是利用if({1,0},,)把连接后的两列与C列合并成一个内存数组。按F9后查看结果为: {"江苏苹果",3000;"山东西瓜",4500;"河北香蕉",2000;"浙江鸭梨",8900;"湖南葡萄",3500;"江西哈密瓜",4600;"西藏猕猴桃",7200;"山东西瓜",3000;"浙江桃子",4000;"江苏葡萄",9000} 因为公式中有多个数据与多个数据运算(A2:A11&B2:B11),需要以数组形式进行计算,按Ctrl + Shift + Enter完成输入。 2.VLOOKUP函数的批量查找 VLOOKUP一般情况下只能查找一个结果,如果有多个结果如何查找? 比如要求把下图中所有“江苏”的销售金额列出来。 对于复杂的查找,我们的思路是如何重构一个查找内容和查找区域。比如想实现多项查找,可以对查找的内容进行编号,第一个出现的后面连接1,第二个出现的连续2…… 公式如下: {=VLOOKUP(A$2&ROW(A2),IF({1,0},$A$2:$A$11&COUNTIF(INDIRECT("A2:A"&ROW($2:$11)),A$11),$C$2:$C$11),2,0)} A$2&ROW(A2)连接序号,公式向下复制时会变成A$2连接1,2,3等。 (INDIRECT("A2:A"&ROW($2:$11))给所有的“江苏”进行编号,生成一个不断扩充的区域,然后在这个扩充的区域内统计“江苏”的个数,再连接上$A$2:$A$11就可以对所有的“江苏”进行编号了。 If({1,0},,)把编号后的A列和C列重构成一个数组。 更多精彩,敬请期待。 |
|