MATCH函数怎么用 语法参数与常见配合场景

wps小编 6 2026-07-17 15:00:00 编辑

MATCH函数怎么用 语法参数与常见配合场景

MATCH 函数的作用是返回某个值在指定区域中处于第几个位置,语法是 MATCH(查找值, 查找区域, 匹配方式),它不返回查找值本身、只返回位置数字,单独用一个 MATCH 意义有限,但它和 INDEX 组合后能实现比 VLOOKUP 更灵活的查找——比如向左查找、二维交叉查找等。下面从语法讲起,再到经典组合和常见报错排查。

前提说明:MATCH 函数在 WPS 表格和 Excel 里语法一致、行为相同,本文用通用表述。操作示例以 WPS 表格为参考,Excel 同样适用。

MATCH 的语法和参数

MATCH 的完整语法是 MATCH(lookup_value, lookup_array, match_type)。第一个参数 lookup_value 是要查找的值,可以是单元格引用、直接输入的文字或数字。第二个参数 lookup_array 是查找区域,一行或一列(不能是多行多列的区域)。第三个参数 match_type 是匹配方式,有三个选项:0 表示精确匹配(找不到就返回 #N/A),这是日常使用中最常用的模式;1 表示近似匹配(查找小于等于查找值的最大值),要求查找区域按升序排列,不常用;-1 也是近似匹配但相反方向,要求降序排列。绝大多数场景都用 match_type=0(精确匹配),记这个就行。

一个容易错的地方:查找区域必须是一行或一列,不能是多行多列。如果你给的区域是 B2:D10 这种多行多列的,MATCH 会报错。这个限制也解释了为什么 MATCH 常和 INDEX 组合——一个负责按行找、一个负责按列找。

MATCH 返回的是什么

MATCH 返回的是查找值在查找区域中排第几位(数字),不是查找值本身。比如在区域 B1:B10 里查找"张三",它在第 3 行,MATCH 返回 3。这个数字再给 INDEX 当参数,就能取出对应的值。单独用 MATCH 只是定位,配合 INDEX 才能取值。

MATCH 和 INDEX 的组合用法

INDEX 函数的作用是返回区域里某行某列交叉的值,语法是 INDEX(区域, 行号, 列号)。INDEX 自己不会"找",它需要一个行号和列号来定位。MATCH 正好能提供这个行号或列号——MATCH 先"找到某值在第几行/列",INDEX 再根据这个位置"取出对应值"。两者组合就实现了灵活的查找:=INDEX(返回区域, MATCH(查找值, 查找列, 0))。这个公式做的事情是:先用 MATCH 在"查找列"里找到值在第几行,再用 INDEX 在"返回区域"里取那个行的数据。

INDEX+MATCH 相比 VLOOKUP 的优势:第一,可以向左查找——VLOOKUP 只能从查找区域的第一列向右找,MATCH 不受方向限制,往哪查都行。第二,查找列和返回列不用相邻——VLOOKUP 的返回列号是从查找区域第一列算起的,INDEX+MATCH 两者是独立的区域,更灵活。第三,插入或删除列后 VLOOKUP 的返回列号会错,INDEX+MATCH 不会因为列号依赖于具体区域。所以当需要灵活查找(特别是向左、跨表、列经常变动)的场景,INDEX+MATCH 是更灵活的方案。

INDEX+MATCH 的基本公式模板

模板:=INDEX(你想要哪一列的数据, MATCH(找什么, 在哪一列找这个值, 0))。示例:=INDEX(D:D, MATCH("张三", A:A, 0)),意思是在 A 列找到"张三"在第几行,然后返回 D 列同行的值。这就是一套完整的查找取值逻辑。

MATCH 和 VLOOKUP 的区别

VLOOKUP 是一个独立完成"查找+取值"的函数,方便但不灵活——只能从左往右查。MATCH 只定位不取值,需要和 INDEX 联合使用,但不受方向、列位置限制。选哪个看场景:简单查找(查找列在返回列的左边、表结构稳定)用 VLOOKUP 省事;复杂查找(双向、向左、跨区域、列位置经常变)用 INDEX+MATCH 灵活。不是替代关系,是不同场景的搭配选择。

MATCH 常见报错排查

MATCH 返回 #N/A,最可能的原因是查找值在查找区域里不存在(检查是否真的存在、有没有隐藏空格或格式差异)。查找区域是多行多列的(改成一列)。match_type 没写(默认是 1 近似匹配,数据没排序就会返回奇怪的结果——写上 0 精确匹配)。这些排查完通常能解决。

FAQ

MATCH 函数怎么用?

MATCH(查找值, 查找区域(一行或一列), 0)。返回查找值在区域中排第几位(数字)。单独用意义有限,但和 INDEX 组合后可以灵活查找数据。WPS 表格和 Excel 里语法一致。

MATCH 和 INDEX 怎么组合?

=INDEX(返回哪一列, MATCH(找什么, 在哪一列找, 0))。MATCH 先找到值在第几行,INDEX 再取该行对应列的值。两者组合实现了比 VLOOKUP 更灵活的查找——可以向左、跨区域、不受列位置限制。

MATCH 和 VLOOKUP 有什么区别?

VLOOKUP 独立完成"查找+取值"但只能从左往右;MATCH 只返回位置数字,配合 INDEX 后查找方向不限、列位置灵活。简单场景用 VLOOKUP 省事,复杂双向或多条件查找选 INDEX+MATCH 更灵活。

MATCH 返回 #N/A 怎么办?

排查三件事:查找值是否真实存在于查找区域(空格差异、格式差异可能导致"看着有但实际没有");查找区域是否是一行或一列(不能多行多列);match_type 是否写了 0(不写默认 1,需要数据排序)。排查完一般能解决。

WPS 能用 MATCH 函数吗?

能。WPS 表格完整支持 MATCH 函数,语法、参数和行为与 Excel 一致。在 WPS 里输入 MATCH 时函数提示和参数说明也与 Excel 相同。INDEX+MATCH 同样可用。

总结

MATCH 是定位函数——告诉你某值在区域中排第几,本身不取值。它和 INDEX 组合后才形成灵活的查找能力,可以实现向左查找、跨区查找、不受列变动影响等 VLOOKUP 做不到的事。简单查找用 VLOOKUP 省事,复杂场景选 INDEX+MATCH。记住 MATCH 语法三参数(找什么、在哪找一行或一列、0 精确匹配),排查 #N/A 按"值在吗→区域对吗→类型写了吗"的顺序来。

上一篇: WPS 表格函数比 Excel 少吗?普通办公够不够用,一篇讲明白
相关文章