问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Excel中Index和Match函数实现多条件查询的详细教程

创作时间:
作者:
@小白创作中心

Excel中Index和Match函数实现多条件查询的详细教程

引用
1
来源
1.
https://www.quoffice.com/11748.html

工作中,我们经常会遇到需要进行多条件查询的情况。Excel中有没有函数可以帮助我们完成这个操作?答案是肯定的。本文将通过一个具体案例,详细讲解如何使用Index和Match函数实现多条件查询。

准备数据

首先,我们有一组2020年度销量数据,展示了每位员工对应每种车型的销售数量。


图1 2020年度销量

查询需求

我们的查询需求是:查找员工“关羽”在2020年度宝马汽车的销量。具体条件为:

  1. 员工:关羽
  2. 汽车:宝马

Match函数的使用

Match函数在Excel中的提示如下:


图3 Match 函数提示

  • 第一个参数:所需要查询的对象
  • 第二个参数:查询的数据源
  • 第三个参数:查找方式

我们可以利用Match函数来获取“关羽”在A列的行号和“宝马”在第2行的列号:

  • 获取“关羽”行号的公式为:=MATCH("关羽",A:A,0)
  • 获取“宝马”列号的公式为:=MATCH("宝马",2:2,0)

Index函数的使用

Index函数在Excel中的提示如下:


图4 Index函数的提示

  • 第一个参数:查询的数据源
  • 第二个参数:数据源的第几行
  • 第三个参数:数据源的第几列
  • 第四个参数:在第一个参数有几个区域时,数字几就代表选择的第几个区域

根据Index函数的分析,我们需要完成如图2所示的需求。从图1中可以看出,“关羽”在第3行,“宝马”在第3列。因此,可以直接使用以下公式:
=INDEX(A1:Q18,3,3)

为了提高程序的复用性,我们可以将Match函数嵌套进Index函数中,公式如下:
=INDEX('2020年销售人员报表'!$A$1:$Q$18,MATCH(数据查询!$A$2,'2020年销售人员报表'!$A$1:$A$18,0),MATCH(数据查询!$B$2,'2020年销售人员报表'!2:2,0))

效果展示

完成后的效果如下:


图5 效果展示

特殊情况处理

如果已经知道需要查询的数据在某一列,可以简化公式。例如,如果知道宝马汽车的销量在第3列,可以使用以下公式:
=INDEX('2020年销售人员报表'!$C$1:$C$18,MATCH(数据查询!$A$2,'2020年销售人员报表'!$A$1:$A$18,0))

下拉列表制作

最后,关于图5中下拉列表的制作方法:


图6 下拉列表的制作

通过以上步骤,我们可以高效地完成多条件查询任务。希望这些技巧能帮助你提升工作效率!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号