如何使用INDEX+MATCH实现多条件查找
图1
A:下面使用INDEX+MATCH函数组合编写的数组公式来实现目的。
如图2所示,在单元格区域E2:F3中列出查找条件。在单元格F2中是要查找的物品,单元格F3中是物品所在的仓库。
图2
从查找数据的表中,我们发现物品和仓库组成的数据没有重复值,因此可以将它们组合成查找表,这样查找值也是唯一的。数组公式:
=MATCH(F2&F3,A2:A11&B2:B11,0)
获得西区空调在查找表中的位置,返回值6。然后,将结果作为INDEX函数的参数,获取数量值。数组公式为:
=INDEX(A2:C11,MATCH(F2&F3,A2:A11&B2:B11,0),3)
结果如图3所示。
图3
还可以在公式中使用逻辑判断来实现。下面的数组公式:
=MATCH(1,(A2:A11=F2)*(B2:B11=F3),0)
查找单元格区域A2:B11中满足列A中的值为单元格F2中的数据并且列B中的值为单元格F3中的数据所在行的位置,本例中为列A中为“空调”且列B中为“西区”的行在单元格区域A2:B11中的位置,返回6,即位于单元格区域的第6行。
然后,将结果作为INDEX函数的参数,数组公式:
=INDEX(A2:C11,MATCH(1,(A2:A11=F2)*(B2:B11=F3),0),3)
获取西区空调的数量为600。