系列 · Excel 函数学习与实战 第 3 篇 / 共 5 篇 教程

Excel 查找函数怎么选:VLOOKUP、XLOOKUP、INDEX、MATCH、XMATCH

用五张 Excel 真实行列结构的独立案例表,逐个讲清 VLOOKUP、XLOOKUP、INDEX、MATCH、XMATCH 的公式参数、查找过程、返回结果和组合关系。

作者:黄撑 更新于 2026-07-17

VLOOKUPXLOOKUPINDEXMATCHXMATCH 经常被放在一起学习,但它们并不是五种完全不同的做法。

先记住最重要的关系:VLOOKUP 和 XLOOKUP 是一步返回结果;MATCH 和 XMATCH 负责找到位置;INDEX 再根据位置取回内容。

LOOKUP FUNCTION MAP五个函数,只有两条主要路线

区别不是谁更高级,而是直接拿结果,还是把定位和取值拆开。

路线 A · 一步查找
查找值VLOOKUP / XLOOKUP返回结果

适合按 SKU、订单号或员工编号直接返回名称、价格、平台等数据。

路线 B · 先定位再取值
查找值MATCH / XMATCH位置INDEX结果

适合需要明确位置、灵活返回方向,或把查找过程拆开理解的场景。

五个函数,五个独立案例

下面五个案例都使用相同的商品资料,但每个函数都会单独展示一张表。每张表都保留 Excel 的列标和行号,让公式区域、命中位置和返回结果可以直接对应。

直接返回VLOOKUP

在区域第一列查找,再按列序号向右返回。

直接返回XLOOKUP

查找列和返回列分开写,方向更灵活。

返回位置MATCH

返回目标在查找区域中排第几个。

按位置取值INDEX

根据指定位置返回区域中的对应内容。

返回位置XMATCH

更现代的位置查找函数,默认精确匹配。

VLOOKUP:在区域第一列查找,再向右返回

案例目标:在商品资料区域中找到 SKU K161,返回这条记录的价格。

CASE 01VLOOKUP 查价格

在 A2:D5 的第一列找到 K161,再返回区域第 4 列。

ABCD
1SKU商品名称平台价格
2X51C便携键盘天猫159
3K161蓝牙键盘天猫199
4M30无线鼠标京东99
5P12平板保护套拼多多139
1查找区域 A2:D52第一列 A:SKU3第 4 列 D:价格
VLOOKUP 公式
=VLOOKUP(2"K161",1A2:D5,34,4FALSE)
1
指定一个区域

A2:D5 是完整查找区域。

2
在区域第一列查找

第一列 A 的 SKU 中找到 K161

3
返回区域第 4 列

同一行第 4 列 D 是价格。

4
使用精确查找

FALSE 表示必须完全相同。

第一列找到 K161锁定工作表第 3 行返回 D3:199

VLOOKUP 中的数字 4 表示所选区域 A2:D5 中的第 4 列。这个案例里它正好对应工作表 D 列,但真正的含义始终是“区域内第 4 列”。它的主要限制是:查找列必须位于区域最左侧,返回值只能来自右边。

XLOOKUP:在这列找,从那列返回

案例目标不变:根据 SKU K161 返回价格 199。XLOOKUP 不再选择一个大区域,也不需要数第几列。

CASE 02XLOOKUP 查价格

在 A2:A5 查找 K161,再从 D2:D5 返回同一行结果。

ABCD
1SKU商品名称平台价格
2X51C便携键盘天猫159
3K161蓝牙键盘天猫199
4M30无线鼠标京东99
5P12平板保护套拼多多139
2查找列 A2:A53返回列 D2:D5相同行返回 199
XLOOKUP 公式
=XLOOKUP(1"K161",2A2:A5,3D2:D5,4"未找到")
1
指定查找值

本例直接查找 K161

2
指定查找列

只在 SKU 列 A2:A5 查找。

3
指定返回列

从价格列 D2:D5 返回。

4
设置未找到提示

没有匹配时显示“未找到”。

A 列找到 K161保持工作表第 3 行D3 返回 199

XLOOKUP 的公式可以直接读成:在 A 列找 K161,再从 D 列返回结果。 它不依赖列序号,也可以向左返回,因此通常比 VLOOKUP 更直观。

MATCH:查找目标排第几个

MATCH 不会直接返回商品名称或价格。它只负责定位:K161 在 SKU 区域中排第几个?

CASE 03MATCH 查位置

在 A2:A5 中找到 K161,返回它在查找区域中的相对位置。

ABCD
1SKU商品名称平台价格
2区域第 1 个X51C便携键盘天猫159
3区域第 2 个K161蓝牙键盘天猫199
4区域第 3 个M30无线鼠标京东99
5区域第 4 个P12平板保护套拼多多139
2查找区域 A2:A5区域位置从 1 开始
最终结果2K161 是 A2:A5 中的第 2 个值,对应工作表第 3 行
MATCH 公式
=MATCH(1"K161",2A2:A5,30)
1
查找 K161

指定要寻找的目标值。

2
在 SKU 列查找

搜索范围是 A2:A5

3
使用精确匹配

第三个参数 0 表示精确。

A2 是第 1 个A3 的 K161 是第 2 个返回相对位置 2

MATCH 返回的 2 不是工作表第 2 行,也不是商品价格。它表示:K161 在查找区域 A2:A5 中排第 2 个;对应的真实单元格是 A3。

INDEX:根据位置取回内容

INDEX 不负责按关键词查找。它只接受一个区域和一个位置,然后返回对应内容。

CASE 04INDEX 按位置取值

从商品名称区域 B2:B5 中取第 2 个值。

ABCD
1SKU商品名称平台价格
2X51C区域第 1 个便携键盘天猫159
3K161区域第 2 个蓝牙键盘天猫199
4M30区域第 3 个无线鼠标京东99
5P12区域第 4 个平板保护套拼多多139
1取值区域 B2:B52指定区域第 2 个
最终结果蓝牙键盘B2:B5 中的第 2 个值,也就是 B3
INDEX 公式
=INDEX(1B2:B5,22)
1
指定取值区域

本例从商品名称列 B2:B5 取值。

2
指定位置 2

取这段区域中的第 2 个内容。

B2:便携键盘B3 是区域第 2 个返回蓝牙键盘

INDEX 单独使用时,位置 2 是直接写在公式里的。真正用于动态查找时,通常让 MATCH 或 XMATCH 自动计算这个位置。

XMATCH:更现代的位置查找

XMATCH 的核心作用和 MATCH 一样:返回目标在查找区域中的相对位置。

CASE 05XMATCH 查位置

在 A2:A5 找到 K161,默认使用精确匹配并返回位置 2。

ABCD
1SKU商品名称平台价格
2区域第 1 个X51C便携键盘天猫159
3区域第 2 个K161蓝牙键盘天猫199
4区域第 3 个M30无线鼠标京东99
5区域第 4 个P12平板保护套拼多多139
2查找区域 A2:A5默认精确匹配
最终结果2K161 是 A2:A5 中的第 2 个值,对应 A3
XMATCH 公式
=XMATCH(1"K161",2A2:A5)
1
查找 K161

指定要寻找的目标值。

2
在 SKU 列查找

范围是 A2:A5,默认精确匹配,不必再写 0

A2 是第 1 个A3 的 K161 是第 2 个返回相对位置 2
=MATCH("K161",A2:A5,0)=XMATCH("K161",A2:A5)

MATCH 和 XMATCH 都可以完成这个案例。当前版本支持 XMATCH 时,新公式通常更简洁;需要兼容旧文件时,MATCH 仍然很常见。

组合应用:INDEX + MATCH / XMATCH

单个函数看懂后,组合公式就很简单:位置函数负责找出 2,INDEX 再根据位置 2 返回商品名称。

第一步 · 找位置=MATCH("K161",A2:A5,0)返回相对位置 2
第二步 · 按位置取值=INDEX(B2:B5,2)返回 B3:蓝牙键盘
=INDEX(B2:B5,MATCH("K161",A2:A5,0))
=INDEX(B2:B5,XMATCH("K161",A2:A5))

两条组合公式得到的结果都是 蓝牙键盘。区别只是中间使用 MATCH 还是 XMATCH 计算位置。

最后到底怎么选

直接返回结果XLOOKUP

当前版本支持时优先考虑,查找列和返回列最直观。

旧文件或兼容优先VLOOKUP

适合查找列在左、返回列在右的普通表格。

只需要目标位置XMATCH / MATCH

返回目标排第几个,不直接返回名称或金额。

定位和取值分开INDEX + XMATCH

先找到位置,再从指定列取回内容。

五个容易出错的地方

01
VLOOKUP 忘记写 FALSE

做普通精确查找时,最后一个参数应明确写 FALSE

匹配方式
02
把 VLOOKUP 的列序号当成固定工作表列号

数字 4 表示所选区域中的第 4 列;只有区域从 A 列开始时,它才正好对应 D 列。

区域相对位置
03
把 MATCH / XMATCH 返回值当成真实行号

返回 2 表示在查找区域中排第 2 个;本例实际对应工作表第 3 行。

相对位置
04
把 INDEX 当成关键词查找函数

INDEX 根据位置取值,它本身不会寻找 K161 在哪里。

函数分工
05
忽略重复查找值

存在多个相同 SKU 时,普通正向查找通常先返回第一条匹配记录。

数据唯一性

相关文章