如图1所示,要求根据已知条件(部门和姓名)在左侧数据区域A2:C21中查找对应的销量。

excelif函数多值判断(Excel多条件匹配查找唯一值)(1)

图1

分析数据后可知,数据区域A2:C21中存在同名同姓人员:张无忌、乔峰,因此仅仅使用“姓名”这一个条件可能匹配出错误的结果。

如图2所示,乔峰、一灯大师的销量匹配正确,张无忌的销量匹配错误。

原因在于,VLOOKUP匹配顺序为自上而下,且只返回匹配到的第一个值,本例中要匹配的是销售三部张无忌的销量,但是因为销售六部张无忌在其上面,所以匹配到的是六部张无忌的销量,导致结果错误。

公式:=VLOOKUP(F4,$B$2:$C$21,2,FALSE)

参数含义:=VLOOKUP(已知条件,在哪里找,找到后返回第几个值,匹配方式)

excelif函数多值判断(Excel多条件匹配查找唯一值)(2)

图2

因此,需要同时满足“部门”、“姓名”这两个条件,才能返回准确值。


建立辅助列

可以把部门和姓名合并,作为一个条件。如图3所示,为了对数据有个直观的印象,在I列建立辅助列,将“部门”和“姓名”合并为“部门姓名”,此时再使用VLOOKUP即可得到准确的结果。公式:=VLOOKUP(L4,$I$2:$J$21,2,FALSE)

但是实际工作中建立辅助列会有诸多不便,能否在不建辅助列的情况下也能实现同样的效果呢?答案是可以的。

excelif函数多值判断(Excel多条件匹配查找唯一值)(3)

图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)}

excelif函数多值判断(Excel多条件匹配查找唯一值)(4)

图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的效果一致。

excelif函数多值判断(Excel多条件匹配查找唯一值)(5)

图5


结语

多条件匹配的使用方法就介绍到这里,后期我会陆续介绍其他多条件匹配方法,欢迎大家留言交流。让我们一起学起、共同成长。

,