在工作中经常会遇到查找文本的问题,单个条件的唯一值查找,首选使用VLOOKUP函数,也可以使用INDEX,LOOKUP函数。如果要通过多个条件来查找一个唯一值,上面三个函数也都是可以的,我们今天就来介绍三种多条件查找唯一值的公式组合:
问题描述:我们有一个表格,表格中的数据通过两个条件能够锁定一个唯一值,我们要通过两个条件来查找到这个唯一值。
这里的这个结果我们限定为文本,数值也没有问题,也能够查找出来,当然如果是通过两个条件来查找唯一的数值,那就更简单了,可以使用SUMIFS,SUM,SUMPRODUCT函数来查找。
这个组合我们之前也用过,可以使用IF {1,0}来重新排列数据源的索引列的位置,用来查找索引列不在第一列的这种数据源,拿上图来举个例子,如果要通过条件2来查找条件1的话,就要使用这个组合:
=VLOOKUP(F2,IF({1,0},B2:B5,A2:A5),2,0)
这是一个数组公式,需要使用CTRL+SHIFT+ENTER三键结束公式。
本篇里的其他两种组合也都是数组公式,同样需要使用三键。
我们来看,如果是多条件如何查找:
=VLOOKUP(E2&F2,IF({1,0},$A$2:$A$5&$B$2:$B$5,$C$2:$C$5),2,0)
其实很简单,就是构造两个内容:
这就是这个组合公式的原理。
INDEX+MATCH也是一个常用的查找组合,单条件查找肯定没问题,我们直接来看多条查找:
=INDEX($C$2:$C$5,MATCH(E2&F2,$A$2:$A$5&$B$2:$B$5,))
这个公式看起来是不是和上一个公式有些相近,对,也是使用了连字符&,目标数据是一列数据,要找到其中一个,就要找到对应的行号,MATCH就起到通过两个条件来查找对应行号的作用。这个公式最容易出错的地方是,MATCH函数的第三参数,我们在函数专栏里讲过,MATCH函数有三个参数:
公式里只写了一个逗号,那么第三参数就默认为0--精确匹配,这个很重要,如果没有这个逗号,就没有指定精确匹配,公式的结果就有可能不正确,所以一定要记得加上这个逗号。
LOOKUP我写了两个公式:
一个同前两个组合一样使用的是连字符&:
=LOOKUP(1,0/(E2&F2=$A$2:$A$5&$B$2:$B$5),$C$2:$C$5)
一个使用的是乘号*:
=LOOKUP(1,0/($A$2:$A$5=E2)*($B$2:$B$5=F2),$C$2:$C$5)
这两个符号的功能是一样的,都是为了使两个条件同时成立,就是我们所说的AND逻辑。
LOOKUP这种写法,就是典型的二分法,把数据分成符合条件与不符合条件的两面,然后取出符合条件的内容。
以上就是今天介绍的三种,多条件查找唯一值数据的方法,建议大家使用LOOKUP,最后再提示一下,今天将的都是数组公式,写好公式后,别忘了使用CTRL+SHIFT+ENTER。