如何使用INDEX+MATCH实现多条件查找?

网友投稿 3834 2022-10-18

如何使用INDEX+MATCH实现多条件查找?

Q:如图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(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。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:WPS文字怎么添加轮子滚动的入场动画效果?
下一篇:wps文字怎么调整页边距 wps文字页边距设置方法
相关文章