乐于分享
好东西不私藏

5 分钟吃透 MATCH 函数!Excel 定位查找神器,效率翻倍

5 分钟吃透 MATCH 函数!Excel 定位查找神器,效率翻倍

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)

动态列号,无需手动数