如图1所示,要求根据已知条件(部门和姓名)在左侧数据区域A2:C21中查找对应的销量。
图1
分析数据后可知,数据区域A2:C21中存在同名同姓人员:张无忌、乔峰,因此仅仅使用“姓名”这一个条件可能匹配出错误的结果。
如图2所示,乔峰、一灯大师的销量匹配正确,张无忌的销量匹配错误。
原因在于,VLOOKUP匹配顺序为自上而下,且只返回匹配到的第一个值,本例中要匹配的是销售三部张无忌的销量,但是因为销售六部张无忌在其上面,所以匹配到的是六部张无忌的销量,导致结果错误。
公式:=VLOOKUP(F4,$B$2:$C$21,2,FALSE)
参数含义:=VLOOKUP(已知条件,在哪里找,找到后返回第几个值,匹配方式)
图2
因此,需要同时满足“部门”、“姓名”这两个条件,才能返回准确值。
建立辅助列
可以把部门和姓名合并,作为一个条件。如图3所示,为了对数据有个直观的印象,在I列建立辅助列,将“部门”和“姓名”合并为“部门姓名”,此时再使用VLOOKUP即可得到准确的结果。公式:=VLOOKUP(L4,$I$2:$J$21,2,FALSE)
但是实际工作中建立辅助列会有诸多不便,能否在不建辅助列的情况下也能实现同样的效果呢?答案是可以的。
图3
无辅助列
录入公式:
第一步:在G2单元格中输入以下数组公式:
=VLOOKUP(E2&F2,IF({1,0},A2:A21&B2:B21,C2:C21),2,FALSE)
第二步:按Ctrl+Shift+Enter,此时公式外层自动包裹一层大括号{},录入成功。
最终显示效果:{=VLOOKUP(E2&F2,IF({1,0},A2:A21&B2:B21,C2:C21),2,FALSE)}
图4
公式分析:
第一个参数E2&F2比较容易理解,是将已知的两个条件合并为一个条件;
第二个参数IF({1,0},A2:A21&B2:B21,C2:C21)看上去比较复杂,该如何理解呢,下面详细介绍。
首先分析整个公式的含义:如果IF函数的第一参数{1,0}正确,返回第二参数A2:A21&B2:B21,否则返回第三参数C2:C21。
那么IF函数的第一参数{1,0}又该如何理解呢?
我们知道,在Excel中,1表示正确、0表示错误,也就是说:
如果IF函数第一参数为1,则返回第二参数A2:A21&B2:B21;
如果IF函数第一参数为0,则返回第三参数C2:C21;
本例中IF函数第一参数是1和0同时存在,所以第二参数、第三参数均返回。
为了验证IF函数的计算结果,在图5中选择O2:P21单元格区域,输入数组公式:=IF({1,0},A2:A21&B2:B21,C2:C21),按Ctrl+Shift+Enter,即可显示IF函数的计算结果。可以看到与图3的效果一致。
图5
结语
多条件匹配的使用方法就介绍到这里,后期我会陆续介绍其他多条件匹配方法,欢迎大家留言交流。让我们一起学起、共同成长。