首页 >> 知识问答 >

问match 函数 Excel 查找定位精讲

2026-11-09 13:58:39

答

match 函数是 Excel 经典查找类函数,核心作用是在一行或者一列区域里面查找指定内容,返回这个内容在区域当中的相对位置序号,它本身只返回位置数字,不直接返回单元格内容,日常经常搭配 index 函数组合使用,也就是 index 加 match 经典双查,用来实现双向查找,它一共包含 3 个参数,重点就是第三参数匹配类型,0 精确匹配 1 升序近似匹配 -1 降序近似匹配,很多新手报错 N/A,大多是匹配类型选错,或者数据源排序不满足近似匹配要求,掌握 match 函数之后,做动态定位 交叉查询 动态列号行号会非常方便。

函数基础语法

=MATCH(lookup_value, lookup_array, [match_type])

参数含义
lookup_value要查找的值
lookup_array查找区域,必须是单行或者单列,不能是多行多列整块区域
match_type匹配类型,可选,默认是 1

match_type 三种模式详解

取值名称要求说明
0精确匹配不需要排序找到第一个完全相等的值,找不到返回 #N/A,最常用
1升序近似匹配查找区域必须从小到大升序查找小于等于查找值的最大值
-1降序近似匹配查找区域必须从大到小降序查找大于等于查找值的最小值

基础示例

示例 1 精确匹配

A 列:苹果 香蕉 橙子

公式 =MATCH("香蕉",A1:A3,0)

结果是 2,因为香蕉在这个区域排第 2 位

示例 2 近似匹配

A 列升序 10 20 30 40

公式 =MATCH(25,A1:A4,1)

结果是 2,找到小于等于 25 的最大值也就是 20,位置是 2

index+match 经典组合

match 负责拿到行号或者列号,index 根据这个位置取出对应单元格内容

公式示例

=INDEX(B1:B10,MATCH("张三",A1:A10,0))

含义:先 match 找到张三在 A 列的位置,再用 index 取出 B 列对应行的数据,这个组合优势比 vlookup 更灵活,可以左右双向查找,不受查找列必须在最左边的限制

高频错误清单

1 N/A:精确匹配找不到目标,或者近似匹配没有符合条件数据

2 VALUE!:lookup_array 选成多行多列区域,match 只支持单行单列

3 N/A 近似匹配报错:区域没有按要求升序或者降序排列

4 查找值带空格,肉眼看起来一样,实际匹配失败,这是非常隐蔽的坑

拓展要点

match 支持模糊通配符,配合精确匹配 0 的时候,可以使用 和?

示例 =MATCH("张",A1:A10,0) 查找第一个姓张的数据

match 返回的是相对位置,不是工作表真实行号,比如查找区域是 A5:A10,命中第一个单元格 A5,match 返回结果是 1,不是 5,这点是新手最容易混淆的关键点

【常见问题】

问题 1 match 函数第三参数 0 是什么意思

回答 1 match 函数第三参数 0 代表精确匹配,match 函数这个模式不需要数据源排序,也是日常使用最多的 match 函数模式,找不到内容会返回 N/A。

问题 2 match 函数为什么返回 N/A

回答 1 match 函数出现 N/A 常见原因是目标值不存在,或者 match 函数近似匹配模式下区域排序不符合要求,也有可能单元格存在隐藏空格。

问题 3 match 函数可以和 vlookup 互换吗

回答 1 match 函数不能完全替代 vlookup,match 函数只返回位置序号,match 函数一般搭配 index 来实现取值,和 vlookup 功能类似但是逻辑不一样。

问题 4 match 函数返回的是真实行号吗

回答 1 match 函数返回的是所选区域内部的相对位置,match 函数返回值不是工作表原始行号,这个是 match 函数很重要的特点。

【免责申明】

本内容仅为 match 函数教学科普,WPS Excel 不同版本函数细节基本一致,部分新版动态数组函数场景会有细微差异,实际使用以软件版本为准。

 

相关阅读

标签: match函数
最新文章