首页 >> 常识问答 >

问match 函数的使用方法 Excel 查找定位函数深度教程

2026-11-09 13:58:39

答

核心结论 MATCH 是 Excel 查找类函数,作用是在一行或者一列区域里面,查找指定内容,返回这个内容在该区域里面的相对位置序号,它本身只返回位置数字,经常搭配 INDEX 组成 INDEX+MATCH 经典组合,实现双向查询,很多新手容易把 MATCH 和 VLOOKUP 搞混,VLOOKUP 是找到之后返回对应列的值,MATCH 只返回第几行第几列的位置编号,理解这个核心区别,才能用好这个函数,接下来讲解语法、参数规则、三种匹配类型、实操案例、常见报错和组合用法。

一 函数语法

=MATCH(lookup_value, lookup_array, [match_type])

参数说明
lookup_value要查找的目标值,可以是数字、文本、单元格引用
lookup_array查找区域,必须是单行或者单列,不支持多块不连续区域
[match_type]匹配类型,可选参数,一共 3 种:1、0、-1,默认是 1

二 三种 match_type 匹配规则(重点)

match_type匹配模式要求
0精确匹配最常用,不需要排序,找到第一个完全相等的值,找不到返回 #N/A
1小于匹配查找区域必须升序排列,返回小于等于目标值的最大值位置
-1大于匹配查找区域必须降序排列,返回大于等于目标值的最小值位置

✅ 日常 90% 场景都使用 0 精确匹配,做查询推荐优先写 0,不要依赖默认值,避免排序错误导致结果异常。

三 基础实操案例

案例:A2:A8 是姓名列,现在查找 “张三” 在这个区域的第几个位置

=MATCH("张三",A2:A8,0)

如果张三在 A4 单元格,A2 是区域第一个,那么返回结果就是 3,代表是这个区域内第 3 个位置。

数字精确匹配示例:查找数值 80 在 B2:B10 的位置

=MATCH(80,B2:B10,0)

四 经典组合 INDEX+MATCH

MATCH 负责返回位置,INDEX 根据位置取出对应单元格的值,这个组合比 VLOOKUP 优势是支持反向查找、不受列顺序限制

示例:根据姓名,在 A 列查找位置,再用 INDEX 从 C 列取出对应的成绩

=INDEX(C2:C8,MATCH("张三",A2:A8,0))

五 常见报错与原因

报错原因解决办法
#N/A精确匹配找不到目标,或者升 / 降序错误核对目标内容,检查空格,确认 match_type=0 精确匹配
#VALUE!lookup_array 不是单行单列,或者参数类型错误改成单行 / 单列区域
#REF!返回位置超出区域范围检查查找区域是否正确

六 使用注意事项

1 MATCH 区分大小写吗?精确匹配模式下不区分大小写

2 如果查找区域里面有多个相同目标,MATCH 只会返回第一个匹配项的位置

3 通配符支持:精确匹配的时候,lookup_value 可以使用 代表任意多个字符,? 代表单个字符

4 查找区域如果存在多余前后空格,会匹配失败,建议先用 TRIM 清理空格

5 WPS 表格里面 MATCH 函数语法和 Excel 完全一致,可以通用

【常见问题】

问题 1 MATCH 函数和 VLOOKUP 有什么区别

回答 1 MATCH 函数只返回目标在区域内的相对位置序号,VLOOKUP 是找到目标之后直接返回对应列的数据,MATCH 经常搭配 INDEX 完成查询。

问题 2 MATCH 函数 match_type 不写默认是多少

回答 2 MATCH 函数 match_type 省略的时候默认是 1,也就是小于匹配,要求区域升序,日常查询推荐手动填写 0 做精确匹配。

问题 3 MATCH 函数可以横向一行里面查找吗

回答 3 可以,MATCH 函数既支持纵向单列查找,也支持横向单行查找,只要查找区域是单行或者单列就可以。

问题 4 MATCH 函数查找多个相同值会返回全部位置吗

回答 4 不会,MATCH 函数只会返回第一个匹配成功内容的位置,不会一次性输出所有匹配结果。

【免责申明】

本内容仅作为 Excel 函数学习参考,不同 Excel 版本函数细节基本一致,部分新版动态数组版本行为略有差异,本内容不替代官方帮助文档。

 

相关阅读

最新文章