Excel 查找函数怎么选:VLOOKUP、XLOOKUP、INDEX、MATCH、XMATCH
用五张 Excel 真实行列结构的独立案例表,逐个讲清 VLOOKUP、XLOOKUP、INDEX、MATCH、XMATCH 的公式参数、查找过程、返回结果和组合关系。
VLOOKUP、XLOOKUP、INDEX、MATCH、XMATCH 经常被放在一起学习,但它们并不是五种完全不同的做法。
先记住最重要的关系:VLOOKUP 和 XLOOKUP 是一步返回结果;MATCH 和 XMATCH 负责找到位置;INDEX 再根据位置取回内容。
区别不是谁更高级,而是直接拿结果,还是把定位和取值拆开。
适合按 SKU、订单号或员工编号直接返回名称、价格、平台等数据。
适合需要明确位置、灵活返回方向,或把查找过程拆开理解的场景。
五个函数,五个独立案例
下面五个案例都使用相同的商品资料,但每个函数都会单独展示一张表。每张表都保留 Excel 的列标和行号,让公式区域、命中位置和返回结果可以直接对应。
在区域第一列查找,再按列序号向右返回。
查找列和返回列分开写,方向更灵活。
返回目标在查找区域中排第几个。
根据指定位置返回区域中的对应内容。
更现代的位置查找函数,默认精确匹配。
VLOOKUP:在区域第一列查找,再向右返回
案例目标:在商品资料区域中找到 SKU K161,返回这条记录的价格。
在 A2:D5 的第一列找到 K161,再返回区域第 4 列。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | SKU | 商品名称 | 平台 | 价格 |
| 2 | X51C | 便携键盘 | 天猫 | 159 |
| 3 | K161 | 蓝牙键盘 | 天猫 | 199 |
| 4 | M30 | 无线鼠标 | 京东 | 99 |
| 5 | P12 | 平板保护套 | 拼多多 | 139 |
A2:D5 是完整查找区域。
第一列 A 的 SKU 中找到 K161。
同一行第 4 列 D 是价格。
FALSE 表示必须完全相同。
VLOOKUP 中的数字 4 表示所选区域 A2:D5 中的第 4 列。这个案例里它正好对应工作表 D 列,但真正的含义始终是“区域内第 4 列”。它的主要限制是:查找列必须位于区域最左侧,返回值只能来自右边。
XLOOKUP:在这列找,从那列返回
案例目标不变:根据 SKU K161 返回价格 199。XLOOKUP 不再选择一个大区域,也不需要数第几列。
在 A2:A5 查找 K161,再从 D2:D5 返回同一行结果。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | SKU | 商品名称 | 平台 | 价格 |
| 2 | X51C | 便携键盘 | 天猫 | 159 |
| 3 | K161 | 蓝牙键盘 | 天猫 | 199 |
| 4 | M30 | 无线鼠标 | 京东 | 99 |
| 5 | P12 | 平板保护套 | 拼多多 | 139 |
本例直接查找 K161。
只在 SKU 列 A2:A5 查找。
从价格列 D2:D5 返回。
没有匹配时显示“未找到”。
XLOOKUP 的公式可以直接读成:在 A 列找 K161,再从 D 列返回结果。 它不依赖列序号,也可以向左返回,因此通常比 VLOOKUP 更直观。
MATCH:查找目标排第几个
MATCH 不会直接返回商品名称或价格。它只负责定位:K161 在 SKU 区域中排第几个?
在 A2:A5 中找到 K161,返回它在查找区域中的相对位置。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | SKU | 商品名称 | 平台 | 价格 |
| 2 | 区域第 1 个X51C | 便携键盘 | 天猫 | 159 |
| 3 | 区域第 2 个K161 | 蓝牙键盘 | 天猫 | 199 |
| 4 | 区域第 3 个M30 | 无线鼠标 | 京东 | 99 |
| 5 | 区域第 4 个P12 | 平板保护套 | 拼多多 | 139 |
指定要寻找的目标值。
搜索范围是 A2:A5。
第三个参数 0 表示精确。
MATCH 返回的 2 不是工作表第 2 行,也不是商品价格。它表示:K161 在查找区域 A2:A5 中排第 2 个;对应的真实单元格是 A3。
INDEX:根据位置取回内容
INDEX 不负责按关键词查找。它只接受一个区域和一个位置,然后返回对应内容。
从商品名称区域 B2:B5 中取第 2 个值。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | SKU | 商品名称 | 平台 | 价格 |
| 2 | X51C | 区域第 1 个便携键盘 | 天猫 | 159 |
| 3 | K161 | 区域第 2 个蓝牙键盘 | 天猫 | 199 |
| 4 | M30 | 区域第 3 个无线鼠标 | 京东 | 99 |
| 5 | P12 | 区域第 4 个平板保护套 | 拼多多 | 139 |
本例从商品名称列 B2:B5 取值。
取这段区域中的第 2 个内容。
INDEX 单独使用时,位置 2 是直接写在公式里的。真正用于动态查找时,通常让 MATCH 或 XMATCH 自动计算这个位置。
XMATCH:更现代的位置查找
XMATCH 的核心作用和 MATCH 一样:返回目标在查找区域中的相对位置。
在 A2:A5 找到 K161,默认使用精确匹配并返回位置 2。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | SKU | 商品名称 | 平台 | 价格 |
| 2 | 区域第 1 个X51C | 便携键盘 | 天猫 | 159 |
| 3 | 区域第 2 个K161 | 蓝牙键盘 | 天猫 | 199 |
| 4 | 区域第 3 个M30 | 无线鼠标 | 京东 | 99 |
| 5 | 区域第 4 个P12 | 平板保护套 | 拼多多 | 139 |
指定要寻找的目标值。
范围是 A2:A5,默认精确匹配,不必再写 0。
=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 计算位置。
最后到底怎么选
当前版本支持时优先考虑,查找列和返回列最直观。
适合查找列在左、返回列在右的普通表格。
返回目标排第几个,不直接返回名称或金额。
先找到位置,再从指定列取回内容。
五个容易出错的地方
做普通精确查找时,最后一个参数应明确写 FALSE。
数字 4 表示所选区域中的第 4 列;只有区域从 A 列开始时,它才正好对应 D 列。
返回 2 表示在查找区域中排第 2 个;本例实际对应工作表第 3 行。
INDEX 根据位置取值,它本身不会寻找 K161 在哪里。
存在多个相同 SKU 时,普通正向查找通常先返回第一条匹配记录。