如何使用INDEX MATCH实现多条件搜索?
问:如图1所示,A列和B列的数据是重复的。现在,我们需要使用INDEX MATCH函数组合来查找西区的空调数量。您可以使用MATCH函数来获取搜索值所在的行,并将其用作INDEX函数的参数来获取数据。但是因为MATCH函数只会返回第一个匹配数据的位置,也就是说公式:=MATCH(“空调”,A:A,0),返回的值是5,但是我们想要的是7的值,显然不符合我们的要求,结果肯定是不正确的。那么,如何实现呢?
图1
a:下面的数组公式结合INDEX MATCH函数来达到目的。
如图2所示,搜索条件列在单元格区域E2:F3中。在单元格F2中是要查找的项目,在单元格F3中是项目所在的仓库。
图2。
从查找数据表中,我们发现由货物和仓库组成的数据中没有重复的值,因此可以将它们组合成一个查找表,使查找值唯一。数组公式:
=MATCH(F2F3,A2:A11B2:B11,0)
在查找表中得到西空调的位置,返回值6。然后,将结果作为INDEX函数的参数,得到数量值。数组公式为:
=INDEX(A2:C11,MATCH(F2F3,A2:A11B2:B11,0),3)
结果如图3所示。
图3。
也可以通过公式中的逻辑判断来实现。以下数组公式:
=MATCH(1),(A2:A11=F2)*(B2:B11=F3),0)
在单元格区域A2:B11中查找行的位置,其中a列中的值是单元格F2中的数据,b列中的值是单元格F3中的数据。在本例中,a列中的行位置是“空调”,b列是“西区”。返回6,即单元格区域的第六行。
然后,将结果作为INDEX函数的参数,并排列公式:
=INDEX(A2:C11,MATCH(1),(A2:A11=F2)*(B2:B11=F3),0),3)
西区获得的空调数量为600台。
版权声明:如何使用INDEX MATCH实现多条件搜索?是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。