Excel技巧,当VLOOKUP函数遇到多条件查找时,请IF和数组来帮忙!
Excel技巧,当VLOOKUP函数遇到多条件查找时,请IF和数组来帮忙!
VLOOKUP函数被誉为Excel查找之王,但是当遇到多条件查找时,VLOOKUP自身是无法实现这个功能呢,这时候就需要借助IF函数和数组来完成。
下图这个案例要求分别查找出南京分部,1月、2月、3月的销售额,同时查找的条件为:南京分部+月份,下面通过使用IF函数,结合数组把多条件连接成单条件,然后再进行查找。

选中G2单元格,在编辑栏中输入公式:
=VLOOKUP(E3&F3,IF({1,0},A$3:A$17&B$3:B$17,C$3:C$17),2,0)
按Ctrl+Shift+Enter,因为有数组参与计算,所以要同时按这三键结束,并向下复制填充公式到G4单元格,结果如下图所示:
公式解析:
第1参数:E3&F3,为查找值,因为是双条件,所以使用&合并双条件为单条件,如E3&F3=上海分部1月。
第2参数:IF({1,0},A$3:A$17&B$3:B$17,C$3:C$17) 前面查找值由双条件变成单条件了,同样查找区域这里也要将双条件合并成单条件,所以使用IF函数来构建数组:
当为1时,返回A$3:A$17&B$3:B$17部分,值为:{"上海分部1月";"广州分部1月";"南京分部1月";……},相当于查询区域的第1列;
当为0时,返回C$3:C$17部分,值为:{239335;198223;128900;……},相当于查询区域的第2列;
那么IF函数构建出来数组的结果为:{"上海分部1月",239335;"广州分部1月",198223;"南京分部1月",128900;……},相当于组成了一个多行两列的单元格区域,作为查找区域。
另外因为公式需要向下复制填充,所以为了使查询区域不随着公式向下填充,所引用的单元格不发生变化,所以要对行号使用$进行固定。
第3参数:2,因为销售额在数组内的第2列,所以返回数组内的第2列的数值。
第4参数:0,因为是精确查找,所以为0或FALSE。
不过使用IF函数构建数组,结合VLOOKUP进行多条件查找时,有一个弊端:那就是当数据量庞大的时候,如果电脑配置不是特别高的话,Excel处理的速度会很慢,甚至电脑可能都会卡死。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。