Excel XLOOKUP函数怎么用

讲清XLOOKUP的参数写法、常见用法和它与VLOOKUP的区别,包括向左查找、自定义未找到提示和从后往前查找,并给出动手前的检查和做完后的核对方法。

在 Excel 里按工号、姓名或产品编号从另一张表取数,是很多人每周都要做的事。以前大多数人用 VLOOKUP,但它只能从左往右找,而且返回列要靠手动数“第几列”,表格一调整就容易出错。XLOOKUP 是较新版本的 Excel 提供的查找函数,专门解决这些问题。

这篇文章写给已经用过 VLOOKUP、或者刚开始学查找函数的读者。读完后,你可以写出一个完整的 XLOOKUP 公式,知道每个参数是什么意思,还能处理找不到、向左查找和重复值这几种常见情况。

XLOOKUP 怎么用?一句话结论

XLOOKUP 的基本思路是:拿一个值去一列里找,找到后返回同一行另一列中的内容。只要写出查找值、查找区域和返回区域,公式就能成立;其余参数按需要再加。

你的情况推荐做法原因
从左边一列找,返回右边一列的内容直接用 XLOOKUP 的前三个参数写法直观,不用数列号,列增减也不受影响
需要返回左边的列把返回区域设为左边那一列VLOOKUP 做不到这一点,XLOOKUP 可以
查找值在多行中重复出现,要最后一条第 6 参数设为-1默认从上往下找,会停在第一条
找不到时想显示提示而不是错误值第 4 参数填写提示文字默认返回#N/A,不够直观
所用的 Excel 版本没有 XLOOKUP继续用 VLOOKUP 或 INDEX 加 MATCH 组合老版本不支持新函数,公式在其他人电脑上可能打不开

开始之前:先确认这几点

动手前,先看清三件事,可以少走很多弯路。

  • 版本是否支持。在单元格里输入“=XL”,如果下拉提示里出现 XLOOKUP,说明当前版本可用。老版本没有这个函数,公式会显示为无效名称,换成 VLOOKUP 或 INDEX 加 MATCH 即可。
  • 查找值和查找区域的数据类型是否一致。一边是文本数字、另一边是数值,查找就会失败,即使肉眼看上去一样。这是常见的#N/A 原因。
  • 查找区域和返回区域的行数是否相同。两个区域必须一一对应,例如都从第 2 行到第 200 行。行数不同,公式会报错。
  • 你的数据是否有重复值。如果同一个工号出现多次,需要决定取第一条还是最后一条,这会决定第 6 参数怎么填。

在 Excel 里用 XLOOKUP 查找数据的步骤

下面的例子是这样一个场景:表一 A 列是工号,B 列是姓名,C 列是部门;表二里有工号,需要在 D 列根据工号填上部门。

  1. 在表二的目标单元格(比如 D2)输入“=XLOOKUP(”,开始写公式。
  2. 第 1 个参数是查找值,选中表二里的工号单元格,例如 B2。它表示“拿什么去找”。
  3. 第 2 个参数是查找区域,选中表一的工号列,例如表一的 A2:A200。它表示“在哪一列里找”。
  4. 第 3 个参数是返回区域,选中表一的部门列,例如表一的 C2:C200。它表示“找到后取哪一列的内容”。
  5. 第 4 个参数是未找到时显示的内容,直接输入引号括起来的提示文字,例如“未找到”。不写的话,找不到时会显示#N/A。
  6. 第 5、6 个参数通常省略。省略第 5 个参数表示精确匹配,这是常用的情况;需要从后往前找重复值时,第 6 个参数写-1。
  7. 输入右括号后按回车,确认结果。再向下拖动填充柄复制公式,注意把查找区域和返回区域的引用改成带美元符号的绝对引用,例如$A$2:$A$200 和$C$2:$C$200,否则下拉后区域会跟着移动。
  8. 抽查几行,确认结果与原表一致,再用于正式工作。

如果需要向左查找,只要把返回区域换成左边的列即可。例如用姓名查工号,公式写成=XLOOKUP(E2,B2:B200,A2:A200,"无此人"),结果返回工号。这是 VLOOKUP 难以直接做到的。

做完后逐项核对

公式填完不代表结果就对,建议逐项检查一遍。

检查项怎么看有问题怎么办
是否出现#N/A 或提示文字看结果列中有没有错误值或“未找到”确认源表确实有该值;检查两边是否有多余空格、文本与数值格式不一致
区域行数是否一致查看查找区域和返回区域的起止行把两个区域调整为相同的行范围,否则公式会报错
下拉后区域是否移动拖动填充后点开几个单元格看引用给区域加上美元符号,锁定行和列
重复值的结果是否符合预期对照源表,看是否取到了正确的那一条第 6 参数设为 1 取第一条,设为-1 取最后一条
数字是否被存成文本单元格左上角是否有绿色三角,或用 ISTEXT 函数判断统一为数值格式后再查找

如果检查后发现数据本身有错误,比如工号录入重复或漏填,应先修正源表,公式本身不会替你纠正数据。

📊 核心对比:XLOOKUP 与 VLOOKUP 的主要区别

两个函数都能查找取数,但在几个关键点上不一样。

对比项XLOOKUPVLOOKUP
查找方向可以向左、向右查找只能在查找区域的第一列查找,向右返回
返回列的指定方式直接选择返回区域需要填写第几列的数字,列增减后容易出错
找不到时的处理第 4 参数直接指定提示内容通常需要配合 IFERROR 等函数
默认匹配方式默认精确匹配默认近似匹配,精确匹配需写 0 或 FALSE,容易漏写
搜索方向可从前往后,也可从后往前只能从上往下
版本兼容性需要较新版本几乎所有版本都支持

简单说,新版本的表格建议优先用 XLOOKUP;需要给多人共用、对方版本未知的文件,VLOOKUP 或 INDEX 加 MATCH 更稳妥。

❓ 常见问题(FAQ)

1. XLOOKUP 和 VLOOKUP 哪个更好用?

看你的 Excel 版本和使用场景。版本支持时,XLOOKUP 在向左查找、列增减和未找到提示方面更省事;文件需要在旧版本中打开时,VLOOKUP 的兼容性更好。

2. 公式一直返回#N/A,是什么原因?

常见的原因有三个:查找值在源表中确实不存在,两边的数据类型不一致(文本与数值),或者有多余的空格。先用剪裁或查找功能检查,再决定是修正数据还是填写第 4 参数。

3. XLOOKUP 能一次返回多列内容吗?

可以。返回区域选择多列时,结果会自动横向展开到相邻单元格,这是 XLOOKUP 的一个特点。注意展开的目标区域要留空,否则会提示无法展开。

4. 能按两个条件同时查找吗?

可以。常见做法是新增一列辅助列,把两个条件用&连接起来,例如=A2&B2,然后用连接后的值作为查找区域和查找值。这种方法在各个版本中都容易理解。

📝 总结

XLOOKUP 用查找值、查找区域、返回区域三个参数就能完成大多数查找,第 4 参数可以设置未找到时的提示,第 6 参数可以控制从哪一端开始找。动手前确认版本和数据格式,做完后检查#N/A 和区域行数,就能避免大部分错误。

打开 OmniDoc,处理你的表格文件

更新于 2026-11-04