核心结论是 MATCH 函数是 Excel 经典查找类函数,作用是在一行或者一列区域里面查找指定内容,返回这个内容在区域里面的相对位置序号,它本身只返回位置数字,不会直接返回单元格内容,绝大多数场景都会搭配 INDEX 函数组合使用,也就是 INDEX+MATCH 黄金组合,实现双向查询,很多新手会把 MATCH 和 VLOOKUP 搞混,VLOOKUP 是直接返回匹配到的值,MATCH 只返回第几行第几列的位置编号,函数语法是 = MATCH (lookup_value, lookup_array, [match_type]),第三个参数 match_type 是最容易出错的关键点,分为精确匹配 小于匹配 大于匹配三种模式,选错模式很容易出现 N/A 错误或者结果异常
函数基础语法
=MATCH (查找值,查找区域,[匹配类型])
| 参数 | 含义 |
|---|---|
| lookup_value | 要找的目标值,可以是数字 文本 单元格引用 |
| lookup_array | 查找范围,必须是单行 或者单列,不能是多行多列整块区域 |
| match_type | 可选参数,填 1 0 -1,默认是 1 |
三种匹配类型详解
| match_type | 匹配模式 | 要求 | 适用场景 |
|---|---|---|---|
| 0 | 精确匹配 | 区域不需要排序 | 最常用,文本精确查找,推荐优先写 0 |
| 1 | 小于匹配 | 查找区域必须升序排列 | 查找小于等于目标值的最大项 |
| -1 | 大于匹配 | 查找区域必须降序排列 | 查找大于等于目标值的最小项 |
基础示例
示例 1 精确匹配,A1:A5 区域内容是 苹果 香蕉 橙子 葡萄 芒果
公式 =MATCH ("橙子",A1:A5,0)
结果返回 3,代表橙子在这个单列区域里面排第 3 位
示例 2 小于匹配,A1:A5 是升序数字 10 20 30 40 50
公式 = MATCH (25,A1:A5,1)
结果返回 2,也就是小于等于 25 里面最大数字是 20,位置是第 2 位
高频组合 INDEX+MATCH
因为 MATCH 只返回位置,搭配 INDEX 就可以根据位置取出对应单元格内容
公式 =INDEX (返回值区域,MATCH (查找值,查找区域,0))
这个组合最大优势:支持从左往右查,也支持从右往左反向查询,VLOOKUP 做反向查找非常麻烦,INDEX+MATCH 就可以轻松实现
常见错误说明
1 N/A 错误:精确匹配找不到目标;升序降序不符合 match_type 要求;查找区域不是单行单列
2 VALUE! 错误:lookup_array 选成了多行多列的矩形区域
3 区分大小写:MATCH 精确匹配默认不区分大小写
学习练习步骤
第一步 单独练习 MATCH 基础公式,先固定使用 match_type=0 精确匹配,理解返回位置序号这个核心逻辑
第二步 练习 1 和 - 1 模糊匹配,记住区域排序硬性要求
第三步 学习 INDEX+MATCH 组合,练习单条件查询
第四步 拓展多条件 MATCH 数组用法,处理复杂表格查询
第五步 排查 N/A VALUE 错误,熟悉常见报错原因
最终总结
MATCH 核心功能就是定位相对位置,最常用就是 match_type=0 精确匹配,单独使用不多,主力场景是搭配 INDEX 完成灵活查询,记住硬性限制:查找区域只能单行或者单列,模糊匹配必须提前排序,这两点是 MATCH 函数最核心考点
【常见问题】
问题 1 match 函数和 vlookup 区别是什么
回答 1 match 函数只返回目标内容在区域里面的相对位置序号,vlookup 是直接返回匹配到的单元格数值,match 函数经常搭配 index 一起使用,实现比 vlookup 更灵活的查询
问题 2 match 函数为什么一直报 N/A
回答 1 match 函数出现 N/A 常见原因,精确匹配没有找到目标内容,或者模糊匹配的时候查找区域没有按要求升序降序,使用 match 函数优先把第三参数写 0 做精确匹配排查
问题 3 match 函数查找区域可以选整个表格吗
回答 1 match 函数查找区域 lookup_array 必须是单行或者单列,不能选中多行多列的矩形区域,否则 match 函数会报错,这是 match 函数重要限制
问题 4 match 函数区分大小写吗
回答 1 match 函数精确匹配默认不区分大小写,如果需要区分大小写的查找,单纯 match 函数无法实现,需要搭配其他数组函数处理
【免责申明】
本文内容为 Excel 函数学习参考,不同版本 Excel WPS 对数组运算支持略有差异,部分旧版本需要按 Ctrl+Shift+Enter 数组三键,新版本支持动态数组自动运算,函数细节以软件官方帮助文档为准


