有时候,我们需要根据多个条件在数据表中查找值,此时,就需要使用一些公式技巧了。本文的示例使用INDEX函数/MATCH函数组合的数组公式来实现多条件查找。
示例1:满足两个条件
如下图1所示,需要查找指定汽车制造商的车型的售价。其中,单元格区域A1:C19是数据表,单元格F1和F2中是条件。
图1
可以使用下面的数组公式:
=INDEX(C2:C19,MATCH(1,(A2:A19=F1)*(B2:B19=F2),0))
结果如下图2所示。
图2
公式中,最关键的部分是:
(A2:A19=F1)*(B2:B19=F2)
生成一个由0/1值组成的数组,其中的1代表满足条件的数据。接下来,MATCH函数在该数组中查找1的位置,即为满足条件的数据所在的位置,传递到INDEX函数中获取相应的数据值。
示例2:满足四个条件
如下图3所示,需要查找指定的汽车制造商中某型号汽车且指定座椅和车轮的售价。其中,数据表在单元格区域A1:E19,查找条件在单元格区域H1:H4。
图3
可以使用下面的数组公式:
=INDEX(E2:E19,MATCH(H1&H2&H3&H4,A2:A19&B2:B19&C2:C19&D2:D19,0))
结果如下图4所示。
图4
公式利用了四个条件合并起来的值唯一的特点,将F1:F4中的值连接起来成为一个值,然后将查找表中前4列的值也连接起来作为被查找值,使用MATCH函数查找得到满足条件的数据所在的位置,然后传递到INDEX函数中获取相应的值。
undefined