Excel 公式

Excel XLOOKUP 怎么用?比 VLOOKUP 更强的查找

更新于 2026-06-04 · 阅读约 7 分钟

用了多年 VLOOKUP,你一定踩过这几个坑:查找列必须放最左边、中间插列后列号全错、没找到就扔一个 #N/A 没法处理。微软在较新版本的 Excel 里推出了 XLOOKUP,把这些老毛病一次性改掉了。本文讲清 XLOOKUP 的语法、比 VLOOKUP 强在哪里、有什么门槛,以及如果你用的是老版本 Excel 或者根本不想写公式,用超级表关联列点几下就能搞定同样的事。


超级表中按某列匹配两表、把数据带过来的示意
XLOOKUP 也是按一列查另一表——超级表里点选关联列即可。

XLOOKUP 语法是什么?

XLOOKUP 的基础语法只需要三个必填参数,第四个可选:

=XLOOKUP(查找值, 查找列, 返回列, [找不到时显示的内容])

举个例子:你有一张订单表(A 列是「客户 ID」,B 列是「客户姓名」),另一张客户信息表(E 列是「客户 ID」,F 列是「所属城市」)。你想在订单表 C 列把城市查过来:

=XLOOKUP(A2, 客户表!E:E, 客户表!F:F, "未找到")

  • A2:要查的值(这一行的客户 ID);
  • 客户表!E:E:去哪一列找(查找列,单独一列,不是范围);
  • 客户表!F:F:找到后返回哪一列(返回列,同样单独一列);
  • "未找到":找不到时显示这段文字,而不是报 #N/A

向下填充整列,城市就全部匹配好了。如果还要匹配「联系电话」,把返回列改成 客户表!G:G 就行,完全不用数第几列。

和 VLOOKUP 最直观的区别
VLOOKUP 要你数「返回列是范围里第几列」——插列后全部错位。XLOOKUP 直接写「返回哪一列」,插列、删列都不影响。

XLOOKUP 比 VLOOKUP 强在哪里?

不用写列号,插列不会坏

VLOOKUP 的第三个参数是「返回第几列」,这个数字写死在公式里。一旦在数据范围中间插入或删除一列,所有 VLOOKUP 的列号立刻错位,必须手动逐个修改。XLOOKUP 直接引用「返回列」本身,无论中间怎么增删列,公式始终指向正确的那一列。

可以从右往左反向查找

VLOOKUP 要求查找列必须是范围最左边那列——想反向查就得用更复杂的 INDEX+MATCH 组合。XLOOKUP 没有这个限制:查找列和返回列是分开指定的,左边、右边都无所谓,直接写就行。

找不到时可以自定义提示

VLOOKUP 找不到匹配项就返回 #N/A,再套 IFERROR 包一层才能换成友好提示,写起来啰嗦。XLOOKUP 第四个参数直接指定「找不到时显示什么」,一个公式搞定,不需要再嵌套。

精确匹配是默认行为

VLOOKUP 第四个参数如果忘记写 FALSE,默认近似匹配,经常匹配出奇怪的值。XLOOKUP 默认就是精确匹配,漏写不会出错。

XLOOKUP 的门槛:并非所有版本都有

XLOOKUP 是微软 2019 年底之后陆续推送的新函数,只在以下版本可用:

  • Microsoft 365(Office 365,订阅版)——所有平台均已支持;
  • Excel 2021 及更新版本——永久授权版本从 2021 起支持;
  • Excel Online / Excel for the web——在线版已支持。

如果你用的是 Excel 2019、Excel 2016、Excel 2013 或更老版本,XLOOKUP 函数根本不存在,输入之后直接报 #NAME? 错误。遇到这种情况,可以用 VLOOKUP(见VLOOKUP 怎么用)或者 INDEX+MATCH(见INDEX+MATCH 查找)来替代,也可以用本文下面介绍的超级表关联列,完全绕开版本限制。

即使你的 Excel 版本支持 XLOOKUP,如果文件要分发给使用老版本的同事,他们打开之后公式一样会变成错误。这是 XLOOKUP 目前最大的实际痛点。

更简单:用超级表关联列,不挑版本

超级表(TableDI)是一款桌面高能表格助手,macOS 和 Windows 均可用,离线运行,不需要登录。它把「按某列查另一张表」做成了可视化的关联列操作,不用写任何公式,也不挑 Excel 版本。步骤如下:

  1. 两张表导入超级表(支持 Excel / CSV,直接拖进来)。
  2. 在查询表上新建一个关联列,选择「按客户 ID 匹配 客户信息表」。
  3. 勾选要带过来的列(城市、联系电话可以一次全选,不用逐列操作)。
  4. 完成——关联结果自动填好。之后客户信息表一改,这边自动更新,无需重拖公式。

关联列支持反向查找,也支持多列同时匹配,和 XLOOKUP 解决的问题完全一致,但不依赖任何 Excel 版本,旧系统一样用得了。匹配好的数据还能继续接分组汇总、AI 处理,做进一步的数据加工。

如果你还不熟悉 VLOOKUP 的基础用法,可以先看VLOOKUP 怎么用两个表格匹配数据这两篇,再结合本文理解 XLOOKUP 的改进之处。

XLOOKUP vs VLOOKUP vs 超级表关联列

对比项VLOOKUPXLOOKUP超级表关联列
写法复杂度要记 4 个参数+列号3 个参数,更直观点选,不写公式
插列后公式是否坏坏,列号错位不坏,引用列本身不坏
反向查找不支持,要改 INDEX+MATCH支持支持
找不到时处理要套 IFERROR第 4 参数直接指定自动空值/可配置
一次匹配多列每列写一次每列写一次一次勾选多列
源表更新后不自动更新不自动更新自动跟着变
Excel 版本要求无(所有版本)需要 365 / 2021+无(桌面独立程序)

常见问题

XLOOKUP 哪个版本的 Excel 才有?

Microsoft 365(订阅版)和 Excel 2021 及更新版本均已支持 XLOOKUP。Excel 2019 及更旧版本不支持,输入后会报 #NAME? 错误。如果你的 Excel 是永久授权的老版本,可以改用 VLOOKUP(见VLOOKUP 怎么用)、INDEX+MATCH(见INDEX+MATCH 查找),或者使用超级表关联列完全绕开版本限制。

XLOOKUP 和 VLOOKUP 有什么区别?

核心区别有四点:XLOOKUP 不写列号(直接引用返回列,插列不坏公式);支持从右往左反向查找;第四参数可以直接指定找不到时的显示内容,不需要套 IFERROR;默认精确匹配,不会因为漏写 FALSE 而出错。VLOOKUP 只需要 Excel 任意版本即可,兼容性更广;XLOOKUP 只在较新版本才有,但写起来更简单、更不容易出错。

老版本 Excel 没有 XLOOKUP,有什么替代方案?

最常用的替代是 INDEX+MATCH 组合——它同样支持反向查找、不写死列号,在所有版本的 Excel 里都能用,只是写法比 XLOOKUP 稍复杂一些,可以看INDEX+MATCH 查找一文。或者用超级表关联列,完全不写公式,也不受任何版本限制,操作体验比两种函数都更简单。

不想被 Excel 版本卡住?

免费下载超级表,关联列点几下完成查找,不挑版本、自动更新

免费下载(macOS / Windows)