XLOOKUP 把“到哪里找”和“返回哪一列”分开指定,不再依赖列序号。数据表插入新列后,返回区域仍指向原列,因此比 VLOOKUP 更容易阅读和维护。

Excel 查找匹配练习工作簿打开“XLOOKUP练习”工作表可直接查看本页公式和预期结果。
下载 .xlsx 文件

最常用的 XLOOKUP 写法

当前表 A2 是客户编号,客户表 A 列保存编号、D 列保存客户名称:

=XLOOKUP(A2,客户表!$A$2:$A$11,客户表!$D$2:$D$11,"未找到")

四项内容依次是查找值、查找数组、返回数组和未找到时显示的文字。A2 为 C002 时,结果应是“远航科技”。

为什么不需要列序号

函数返回列写法插入列后的影响
VLOOKUP用数字 4 表示第 4 列区域结构变化后需要核对序号
XLOOKUP直接引用客户表 D 列公式跟随实际引用区域调整

XLOOKUP 的查找数组和返回数组可以位于任意方向,因此既能向右返回,也能向左返回。

返回金额并保留未找到提示

要返回客户表 F 列的本月金额,只需要替换返回数组:

=XLOOKUP(A2,客户表!$A$2:$A$11,客户表!$F$2:$F$11,"未找到")

与 IFERROR 不同,XLOOKUP 的第四个参数只处理“没有匹配项”的情况。公式结构错误等其他问题仍会显示,便于定位。

操作时必须保持数组等长

查找数组是 A2:A11 时,返回数组也应覆盖相同的 10 行,例如 D2:D11。若一个区域从第 2 行开始、另一个从第 3 行开始,即使行数相同,也会把编号和结果错位。

版本提示

XLOOKUP 适用于 Microsoft 365、Excel 2021 及更新版本。旧版 Excel 打开文件可能显示 #NAME?,需要改用 INDEX/MATCH 或 VLOOKUP。

向下填充前的检查

  1. 确认查找值引用的是当前行单元格。
  2. 使用 F4 锁定客户表中的查找数组和返回数组。
  3. 分别测试存在、不存在和重复的编号。
  4. 如果编号可能重复,确认业务上应返回第一条还是需要汇总全部结果。

常见问题

为什么返回第一条重复记录

XLOOKUP 默认从上到下搜索,找到第一条后返回。若一个编号可能对应多条记录,应先明确唯一键,或使用 FILTER 返回全部匹配项。

为什么公式在别人电脑上失效

通常是对方使用的 Excel 版本不支持 XLOOKUP。共享文件前应确认版本,并准备 INDEX/MATCH 兼容公式。

参考资料

  • Microsoft Excel 函数说明:XLOOKUP 的基本语法、未找到参数和匹配模式。
  • 配套工作簿:XLOOKUP练习、客户表和使用说明工作表。