XLOOKUP 把“到哪里找”和“返回哪一列”分开指定,不再依赖列序号。数据表插入新列后,返回区域仍指向原列,因此比 VLOOKUP 更容易阅读和维护。
最常用的 XLOOKUP 写法
当前表 A2 是客户编号,客户表 A 列保存编号、D 列保存客户名称:
四项内容依次是查找值、查找数组、返回数组和未找到时显示的文字。A2 为 C002 时,结果应是“远航科技”。
为什么不需要列序号
| 函数 | 返回列写法 | 插入列后的影响 |
|---|---|---|
| VLOOKUP | 用数字 4 表示第 4 列 | 区域结构变化后需要核对序号 |
| XLOOKUP | 直接引用客户表 D 列 | 公式跟随实际引用区域调整 |
XLOOKUP 的查找数组和返回数组可以位于任意方向,因此既能向右返回,也能向左返回。
返回金额并保留未找到提示
要返回客户表 F 列的本月金额,只需要替换返回数组:
与 IFERROR 不同,XLOOKUP 的第四个参数只处理“没有匹配项”的情况。公式结构错误等其他问题仍会显示,便于定位。
操作时必须保持数组等长
查找数组是 A2:A11 时,返回数组也应覆盖相同的 10 行,例如 D2:D11。若一个区域从第 2 行开始、另一个从第 3 行开始,即使行数相同,也会把编号和结果错位。
XLOOKUP 适用于 Microsoft 365、Excel 2021 及更新版本。旧版 Excel 打开文件可能显示 #NAME?,需要改用 INDEX/MATCH 或 VLOOKUP。
向下填充前的检查
- 确认查找值引用的是当前行单元格。
- 使用 F4 锁定客户表中的查找数组和返回数组。
- 分别测试存在、不存在和重复的编号。
- 如果编号可能重复,确认业务上应返回第一条还是需要汇总全部结果。
常见问题
为什么返回第一条重复记录
XLOOKUP 默认从上到下搜索,找到第一条后返回。若一个编号可能对应多条记录,应先明确唯一键,或使用 FILTER 返回全部匹配项。
为什么公式在别人电脑上失效
通常是对方使用的 Excel 版本不支持 XLOOKUP。共享文件前应确认版本,并准备 INDEX/MATCH 兼容公式。
参考资料
- Microsoft Excel 函数说明:XLOOKUP 的基本语法、未找到参数和匹配模式。
- 配套工作簿:XLOOKUP练习、客户表和使用说明工作表。