WPS表格常用查找函数终极指南3——INDEX与MATCH
在日常的数据处理工作当中,经常需要对成百上千行的数据进行查询,掌握这几个函数,让你在数据查询中游刃有余。
本系列将详细介绍六个最常用的查找引用函数:VLOOKUP、HLOOKUP、XLOOKUP、LOOKUP、INDEX、MATCH,通过通俗易懂的案例,帮助你理解它们各自的特点和适用场景。本系列共四期,本期为第三期,介绍INDEX与MATCH函数。
WPS表格常用查找函数终极指南1——VLOOKUP与HLOOKUP
WPS表格常用查找函数终极指南2——XLOOKUP与LOOKUP
WPS表格常用查找函数终极指南4——INDEX+MATCH组合
5️⃣INDEX——找到查询内容所在位置,查询函数中的北斗导航
如果说前面介绍的几个函数都是在“找东西”,那INDEX的思维方式完全不同——只要你告诉她行号和列号,她就能把你带到那个单元格。
INDEX的核心作用是根据位置定位内容。来看看它的基本语法:
=INDEX(数组, 行序数, [列序数],[区域序数])
参数详解:
数组——在哪儿定位:可以是多个不连续的区域(用逗号隔开,外面套括号)。
行序数——第几行:你要返回的数据在所选区域中的行号。
[列序数]——第几列(可选):你要返回的数据在所选区域中的列号。
[区域序数]——第几个区域(可选):当第一个参数指定了多个区域时,这个参数告诉INDEX用哪个区域。
简单来说,INDEX就像电影院的座位引导员:你告诉她“第3排第5座”,她就能准确地把你带到那个位置。
- INDEX基本用法
还以学生成绩表的例子,假如我知道学号1001在成绩表的第2行,想返回他的阅读成绩(在第3列):
B9单元格公式:
=INDEX($A$2:$E$5, 2, 3)
公式拆解:
数组:$A$2:$E$5(整个成绩表区域)
行序数:2(区域从上到下第2行,对应学号1002的数据行)
列序数:3(区域从左到右第3列,C列,语文成绩)
- INDEX返回整行或整列数据
INDEX还有一个隐藏技能:当行序数填0时,返回整列数据;当列序数填0时,返回整行数据。
返回整列数据(所有学生姓名):
返回整行数据(1001号的所有成绩):
这个特性在其他函数嵌套使用时非常有用。
- INDEX引用整个区域
如果你把行序数和列序数都省略(或者填0),INDEX会返回整个区域:
=INDEX($A$2:$E$5, , ) 或 =INDEX($A$2:$E$5, 0, 0)
这看起来好像没啥用,但在定义名称、制作动态图表时,这个特性可以让你的公式更加灵活。
- INDEX制作动态图表
INDEX返回整个区域的特性,在定义名称时简直是神器。为啥?因为INDEX返回的是引用,不是值。这意味着你可以用INDEX构建动态区域,然后给它起个名字,让这个区域自动适应数据的变化。
这里有一份每日营业额的销售数据,每天结束营业后都会统计当日的营业额和订单量,现需要制作一份折线图来统计每天的数据变化情况。因为每天都会新增数据,如果插入折线图直接引用范围只能固定一个区域,后续新增数据又要调整引用范围,这个时候INDEX就派上用场了。
- 第一步:定义名称
依次点击【公式】「名称管理器」「新建」,分别输入以下内容添加自定义名称
日期 | =INDEX($A:$A,2):INDEX($A:$A,COUNTA($A:$A)) |
营业额 | =INDEX($B:$B,2):INDEX($B:$B,COUNTA($B:$B)) |
公式拆解:
INDEX($A:$A,2):引用A列的第二个单元格,也就是A2
COUNTA($A:$A):计算A列的非空单元格数量
INDEX($A:$A,COUNTA($A:$A)):引用A列的最后一个单元格,因为A列的数据每天都会增加,使用COUNTA计算非空单元格数量后,INDEX再定位到最后一行数据
::将引用区域链接起来,也就是第二行到最后一行的数据
这样我们就得到了一个日期和营业额的自定义名称,并且这个名称会随着数据的增加而变化范围。
- 第二步:插入图表
首先选中数据区域,插入折线图,配置好折线图的横轴纵轴等属性后,右键数据区域点击「选择数据」,依次编辑「系列」与「类别」。分别设置系列值与轴标签区域为刚才定义好的名称,如下图。
这样就能得到一个可以随着内容增加而改变的动态数组,效果如下图:
当然也能通过创建表等其他方式实现自动更新的效果,这里提供了一种选择。
6️⃣MATCH——返回指定位置的内容,告诉我地址我就能找到你
如果说INDEX是“给我坐标,我带你过去”,那MATCH正好相反——给我内容,我告诉你它在哪儿。
MATCH的作用是在一行或一列中查找某个值,并返回它的相对位置。它的语法是:
=MATCH(查找值, 查找数组, [匹配模式])
参数详解:
查找值——找什么:需要查找的值。
查找数组——在哪找:搜索的单行或单列区域。
匹配模式——怎么匹配(可选):
0:精确匹配(最常用)。查找等于查找值的第一个值。
1:近似匹配(默认值)。找到小于或等于查找值的最大值,要求查找数组升序排列。
-1:近似匹配。找到大于或等于查找值的最小值,要求查找数组降序排列。
- MATCH精确匹配
还以学生成绩表为例,我想知道“小美”这个名字在第几个,如下图:
B8单元格公式:
=MATCH("小美",$B$2:$B$5,0)
公式拆解:
找什么:"小美"(要找的学生姓名)
在哪找:$B$2:$B$5(在姓名列中查找)
匹配模式:0(必须精确匹配)
- MATCH判断数据是否存在
MATCH经常被用来判断某个值是否在列表中存在。如果找到,返回位置;如果没找到,返回错误值#N/A。结合IFERROR函数,可以实现优雅的判断:
B8单元格公式:
=IFERROR(MATCH("小帅", $B$2:$B$5, 0), "查无此人")
如图,“小帅”不在列表中,就不会显示难看的#N/A,而是提示“查无此人”。
- MATCH通配符匹配
和VLOOKUP一样,MATCH在精确匹配模式(0)下也支持通配符:
A8单元格公式:
=MATCH("*红色*",$B$2:$B$5,0)
返回第一个包含“红色”的单元格的位置。注意MATCH函数与前面介绍的查询函数一样,只能返回一个结果,所以此处返回了第一个查找到的位置。
WPS表格常用查找函数终极指南1——VLOOKUP与HLOOKUP


创作者俱乐部成员