Excel多条件查找文本的方法

问题描述:我们有一个表格,表格中的数据通过两个条件能够锁定一个唯一值,我们要通过两个条件来查找到这个唯一值。

这里的这个结果我们限定为文本,数值也没有问题,也能够查找出来,当然如果是通过两个条件来查找唯一的数值,那就更简单了,可以使用SUMIFS,SUM,SUMPRODUCT函数来查找。

VLOOKUP+IF{1,0}

这个组合我们之前也用过,可以使用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)

其实很简单,就是构造两个内容:

  • 索引:E2&F2,两个条件用&符号连接成一个字符串,作为第一参数。
  • 索引列:$A$2:$A$5&$B$2:$B$5,将数据源中的两个条件列用&符号连接,作为索引列,用IF {1,0},重新构造数据源。

这就是这个组合公式的原理。

INDEX+MATCH

INDEX+MATCH也是一个常用的查找组合,单条件查找肯定没问题,我们直接来看多条查找:

=INDEX($C$2:$C$5,MATCH(E2&F2,$A$2:$A$5&$B$2:$B$5,))

这个公式看起来是不是和上一个公式有些相近,对,也是使用了连字符&,目标数据是一列数据,要找到其中一个,就要找到对应的行号,MATCH就起到通过两个条件来查找对应行号的作用。这个公式最容易出错的地方是,MATCH函数的第三参数,我们在函数专栏里讲过,MATCH函数有三个参数:

公式里只写了一个逗号,那么第三参数就默认为0--精确匹配,这个很重要,如果没有这个逗号,就没有指定精确匹配,公式的结果就有可能不正确,所以一定要记得加上这个逗号。

LOOKUP+1,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。

(0)

相关推荐