MATCH 函数
位置定位 · 精准查找 · 侦察兵般的敏锐嗅觉
每天一个Excel函数系列 · 第8期
适用版本:Excel 全版本 | WPS 全版本 | 兼容性最强
5分钟学会 · 三种匹配方式 · 黄金搭档
目录
1. MATCH是什么?为什么被称为"侦察兵"?
2. 语法结构详解
3. 三种匹配方式对比
4. 基础用法 · 4步学会MATCH
5. INDEX+MATCH黄金组合
6. MATCH+VLOOKUP动态列号
7. 进阶技巧 · 3个高效用法
8. MATCH vs VLOOKUP vs XLOOKUP 对比
9. 常见错误与解决方法
10. 练习题 · 巩固提高
11. 下期预告
1. MATCH是什么?为什么被称为"侦察兵"?
MATCH 是 Excel 中最灵活的"位置定位"函数,它不像 VLOOKUP 那样直接返回数据值,而是像一名侦察兵——只负责找到目标的位置(第几个),不负责带回目标本身!

通俗理解:
• VLOOKUP 像自动售货机——投币(查找值)→ 出货(返回值),一步到位
• MATCH 像侦察兵——只报告"目标在第3个位置",需要配合 INDEX 等函数才能带回数据
MATCH 的独特优势
• 任意方向查找:不受数据排列方向限制(左/右/上/下随便查)
• 无需排序:精确匹配时数据无需排序,直接定位
• 动态定位:配合其他函数,自动识别行列位置
• 通配符支持:支持 * 和 ? 进行模糊匹配
• 全版本兼容:Excel 2003 到最新版全部支持
MATCH 的"脾气"(使用前必读)
❗ MATCH 不返回数据本身,只返回"位置序号"!需要配合 INDEX/VLOOKUP 等函数使用。
❗ 查找区域必须是单行或单列!不能是多行多列的矩形区域。
❗ 近似匹配时,数据必须按升序/降序排列,否则结果会出错!
2. 语法结构详解
MATCH 函数的语法非常简洁,只有三个参数:

参数 | 说明 | 示例 |
查找值 (lookup_value) | 你要找的内容 | "李四" 或 A2 或 85 |
查找区域 (lookup_array) | 单行或单列的搜索范围 | A2:A5 或 B1:D1 |
匹配方式 (match_type) | 0=精确匹配, 1=升序近似, -1=降序近似 | 0(最常用) |
💡 新手只需掌握 match_type=0 精确匹配,进阶再学近似匹配!
3. 三种匹配方式对比
MATCH 有三种"匹配模式",就像侦察兵的三种搜索策略,应对不同场景:

匹配方式 | 参数值 | 作用 | 数据要求 |
精确匹配 | 0 | 找完全相等的值 | 数据无需排序 |
升序近似 | 1 | 找 ≤ 目标的最大值 | 数据必须升序排列 |
降序近似 | -1 | 找 ≥ 目标的最小值 | 数据必须降序排列 |
⚠️ 重要提示:
• 90% 的场景使用 match_type=0(精确匹配),数据无需排序
• 近似匹配(1 或 -1)主要用于数值区间查找,如成绩等级判定
• 如果省略 match_type,Excel 默认使用 1(升序近似),容易出错!
4. 基础用法 · 4步学会MATCH
场景:学校需要根据学生信息表,找到"李四"在姓名列中的位置。
A(姓名) | B(语文) | C(数学) | D(英语) |
张三 | 85 | 90 | 88 |
李四 | 78 | 82 | 85 |
王五 | 92 | 95 | 89 |
赵六 | 88 | 76 | 92 |
目标:找到"李四"在 A2:A5 中的位置
操作步骤:
1. 在 F2 单元格输入 =MATCH(
2. 第一个参数:输入 "李四"(查找值)→ 逗号
3. 第二个参数:选中 A2:A5(查找区域)→ 逗号
4. 第三个参数:输入 0(精确匹配)→ ) → 回车
最终公式:
=MATCH("李四", A2:A5, 0)
结果:2("李四"在 A2:A5 的第 2 个位置)

💡 关键:MATCH 返回的是"在区域中的第几个",不是工作表的行号!A2 是区域的第 1 行,不是第 2 行。
5. INDEX+MATCH 黄金组合
MATCH 本身不会"取"数据,只会"找"位置。配合 INDEX 函数后,就能实现任意方向的精准查找!
这对组合被称为 Excel 查找界的"黄金搭档",功能比 VLOOKUP 更强大!
通俗理解:
• MATCH 像侦察兵——负责找到目标的位置(第几行/第几列)
• INDEX 像狙击手——根据侦察兵报告的位置,精准提取数据

实战:根据姓名"李四"查找数学成绩(INDEX+MATCH 组合)
分步拆解:
Step 1:MATCH 找到"李四"的位置 =MATCH("李四", A2:A5, 0) → 返回 2(第 2 行)
Step 2:MATCH 找到"数学"的位置 =MATCH("数学", B1:D1, 0) → 返回 2(第 2 列)
Step 3:INDEX 根据位置提取 =INDEX(B2:D5, 2, 2) → 返回 82
组合公式:
=INDEX(B2:D5, MATCH("李四", A2:A5, 0), MATCH("数学", B1:D1, 0))
结果:82(李四的数学成绩)
黄金组合的优势:不受数据方向限制,任意行列都能查!
6. MATCH + VLOOKUP 动态获取列号
VLOOKUP 的痛点:需要手动数"返回第几列",表头一变公式就失效。MATCH 可以完美解决这个问题!
场景:根据姓名查找"英语"成绩,但科目列经常变动

传统 VLOOKUP 写法:
=VLOOKUP("李四", B2:F5, 4, 0)
问题:如果"英语"列从第4列移到第5列,公式需要手动修改!
MATCH 动态写法:
=VLOOKUP($H$2, $A:$F, MATCH(I1, $A$1:$F$1, 0), 0)
优势:修改表头为"总分",公式自动更新列号,无需重写!
7. 进阶技巧 · 3个高效用法
技巧1:横向查找——找科目在第几列
MATCH 不仅可以纵向查找(行),还可以横向查找(列)!

公式:=MATCH("数学", B1:D1, 0) → 返回 2(数学在第 2 列)
应用场景:配合 INDEX 实现二维查找,或配合 VLOOKUP 动态获取列号
技巧2:近似匹配——根据分数自动判定等级
MATCH 的 match_type=1 可以实现"区间查找",常用于成绩等级、薪资等级等场景。

公式:=MATCH(85, A2:A6, 1) → 返回 4(对应第 4 行"良好")
⚠️ 注意:数据必须按升序排列!否则结果会出错!
技巧3:通配符查找——模糊匹配
MATCH 支持通配符 *(任意多个字符)和 ?(单个字符),实现模糊查找。

公式:=MATCH("邓*", A2:A6, 0) → 返回 1(第一个姓邓的人)
• * 代表任意多个字符(如"邓*"匹配所有姓邓的人)
• ? 代表单个字符(如"张?"匹配"张三"、"张四"等)
• 返回第一个匹配项的位置
8. MATCH vs VLOOKUP vs XLOOKUP 对比
三大查找方案各有优劣,选对工具才能事半功倍!

选择建议:
• 有 Excel 365 及新版 Excel(2021/2024)→ 优先用 XLOOKUP(功能最强,公式最简洁)
• 旧版本 Excel + 需要反向查找/动态行列 → INDEX+MATCH
• 旧版本 Excel + 简单正向查找 → VLOOKUP(最直观)
• 需要动态列号/模糊匹配 → MATCH(配合其他函数使用)
9. 常见错误与解决方法

错误 | 原因 | 解决方法 |
#N/A | 查找值不存在于查找区域 | 检查拼写/数据类型,或使用 IFERROR 包裹 |
结果偏差 | 近似匹配时数据未排序 | 使用 match_type=0,或先排序数据 |
#VALUE! | 查找区域包含多行多列 | MATCH 只支持单行或单列区域! |
新手最容易踩的3个坑
❌ 查找区域包含多行多列 → MATCH 只支持单行或单列!
❌ 近似匹配时数据未排序 → 必须先排序,否则结果完全错误!
❌ 查找值与区域数据类型不一致 → "85"(文本)≠ 85(数字),MATCH 认为是不同的值!
建议公式:
=IFERROR(MATCH(...), "未找到")
用 IFERROR 包裹 MATCH,出错时显示友好提示,避免满屏 #N/A!
10. 练习题 · 巩固提高
动手练习是掌握 MATCH 的最佳方式!打开 Excel,跟着题目练一练吧

基础题(★☆☆)
题目1:创建一个姓名列表(A1:A5:张三、李四、王五、赵六),用 MATCH 找到"王五"的位置。
=MATCH("王五", A1:A5, 0) → 返回 3
题目2:在上题基础上,配合 INDEX 函数:根据"李四"查找其位置,再用 INDEX 提取对应数据。
=INDEX(B1:B5, MATCH("李四", A1:A5, 0))
进阶题(★★☆)
题目3:创建一个员工表(姓名、部门、薪资),用 MATCH 找到"市场部"在部门列中的位置。
题目4:用 MATCH 横向查找:给定科目表头(语文、数学、英语),找到"数学"在第几列。
挑战题(★★★)
题目5:用 MATCH 实现近似匹配:给定分数等级表(0-不及格、60-及格、70-中等、80-良好、90-优秀),根据分数 85 自动判定等级。
题目6:对比实验:同一组数据分别用 VLOOKUP、INDEX+MATCH、XLOOKUP 查找,观察三者的写法差异。
11. 下期预告
每天一个Excel函数 · 系列预告
✅ 第1期:VLOOKUP 垂直查找 (已发布)
✅ 第2期:IF 条件判断 (已发布)
✅ 第3期:IF+VLOOKUP 组合 (已发布)
✅ 第4期:XLOOKUP 新一代查找 (已发布)
✅ 第5期:LOOKUP 经典查找 (已发布)
✅ 第6期:HLOOKUP 水平查找 (已发布)
✅ 特别篇:四大查找函数终极对比 (已发布)
✅ 特别篇:Excel常用函数速查手册 (已发布)
✅ 第7期:INDEX 精准定位 (已发布)
✅ 第8期:MATCH 位置定位 (本期)
🔜 第9期:INDEX+MATCH 黄金组合 (深度实战)
关注公众号 · 每日更新 · 告别加班!
附录:MATCH 函数速查卡

场景 | 公式 | 说明 |
精确匹配 | =MATCH(查找值, 区域, 0) | 最常用!数据无需排序 |
升序近似 | =MATCH(查找值, 区域, 1) | 数据必须升序排列 |
降序近似 | =MATCH(查找值, 区域, -1) | 数据必须降序排列 |
配合INDEX | =INDEX(区域, MATCH(...), MATCH(...)) | 黄金组合,任意方向查找 |
配合VLOOKUP | =VLOOKUP(值, 区域, MATCH(表头, 标题行, 0), 0) | 动态列号,无需手动数 |
夜雨聆风