对于工作中,我们经常会遇到多条件的查询。这时,我们可能会抓耳挠腮。EXCEL有没有函数可以帮助我们完成这个操作?答案是有的,我给大家准备了案例,大家可以跟着案例一起做一做, 相信我们就能够很好的理解多条件查询是如何做到的。

Index和Match如何实现多条件查询

首先,我给大家准备了一组源数据。

excel中Index和Match如何实现多条件查询?Index和match函数的详解-趣帮office教程网

图1 2020年度销量

上述数据结构是在2020年年度,每一位员工对应的每一种车型的销售数量。

现在我们的查询需求为,如图所示:

excel中Index和Match如何实现多条件查询?Index和match函数的详解-趣帮office教程网

图2 查询需求

员工关羽在2020年度宝马汽车的销量,其中两个条件为:(1)员工——关羽 (2)汽车——宝马

我们知道Match函数在EXCEL中的提示如下图所示:

excel中Index和Match如何实现多条件查询?Index和match函数的详解-趣帮office教程网

图3 Match 函数提示

第一个参数:所需要查询的对象

第二个参数:查询的数据源

第三个参数:查找方式

通过对函数的分析,我们可以利用Match函数来获取员工关羽在A列的第几行,公式为:=MATCH("关羽",A:A,0),同样宝马汽车在第几列的公式为:=MATCH("宝马",2:2,0)

Index函数在EXCEL中的提示如下图所示:

excel中Index和Match如何实现多条件查询?Index和match函数的详解-趣帮office教程网

图4 Index函数的提示

第一个参数:查询的数据源

第二个参数:数据源的第几行

第三个参数:数据源的第几列

第四个参数:在第一个参数有几个区域时,数字几就代表选择的第几个区域。比如说数据源有2个区域,数字2就代表查询第二个区域的对应行列的数据

通过对Index函数分析,我们需要完成图2的需求,同时我们可以看到图1 中关羽在第3行,宝马在第3列。所以公式可以为:=INDEX(A1:Q18,3,3)

为了程序的复用性,前面讲解Match函数时,我们知道Match函数可以获取行列号。这样我们就可以将Match函数嵌套进Index函数中,公式为:

=INDEX('2020年销售人员报表'!$A$1:$Q$18,MATCH(数据查询!$A$2,'2020年销售人员报表'!$A$1:$A$18,0),MATCH(数据查询!$B$2,'2020年销售人员报表'!2:2,0))

现在我们来看一下,完成效果:

excel中Index和Match如何实现多条件查询?Index和match函数的详解-趣帮office教程网

图5 效果展示

说到这里,很多用过Index函数的朋友可能会说,Index函数的第三个和第四个函数可以省略。是的,就刚才的案例来说,需求宝马是在第3列,我们公式也可以写成:

=INDEX('2020年销售人员报表'!$c$1:$c$18,MATCH(数据查询!$A$2,'2020年销售人员报表'!$A$1:$A$18,0))

这种情况只能是在我们知道我们需要的数据在那一列的情况下,我们可以使用这种方式。

图5 中的下拉列表的做法:

excel中Index和Match如何实现多条件查询?Index和match函数的详解-趣帮office教程网

图6 下来列表的制作

最后,感谢大家的观看,我是EK。如果上述内容能够帮助到你们,希望你们能点赞,关注,评论,你们不清楚的地方我会尽力为大家解答,谢谢大家的支持。我会给大家带来更多关于EXCEL的小技巧。