目录
WPS表格中的 XLOOKUP 用于在一个区域查找指定内容,再返回同一位置的对应数据。最常用写法是 =XLOOKUP(查找值,查找区域,返回区域):例如按员工编号查姓名,只要分别选好编号列和姓名列即可。它不需要计算“第几列”,还能向左或向右返回结果;如果当前文件要交给旧版软件用户打开,则应同时考虑兼容性。
先看结论:什么情况该用 XLOOKUP
| 你的情况 | 建议选择 |
|---|---|
| 要按编号、姓名或编码返回对应信息,且当前 WPS 可识别 XLOOKUP | 用 XLOOKUP,公式更直观 |
| 需要从右往左查找,或返回列在查找列左侧 | 优先用 XLOOKUP |
| 文件可能由旧版 WPS 或 Excel 2019 及更早版本打开 | 优先考虑 VLOOKUP 或 INDEX+MATCH,并先做兼容性确认 |
使用前先准备好数据
- 让查找列中的编号、姓名或商品编码尽量保持统一格式;例如不要把部分编号存为文本、另一部分存为数字。
- 查找区域和返回区域应从同一行开始,并且行数保持一致。
- 若数据来自多个工作表,可先了解WPS表格跨表引用怎么用,再把其他工作表的区域作为查找区域或返回区域。
- 在结果单元格输入 =XLOOKUP( 后,如果没有出现函数提示或公式无法识别,说明当前客户端或文件环境可能不支持该函数,需要以实际显示为准。
XLOOKUP 语法与参数含义
=XLOOKUP(查找值, 查找区域, 返回区域, [未找到值], [匹配模式], [搜索模式])
| 参数 | 作用 | 示例 |
|---|---|---|
| 查找值 | 你想找的内容 | H2 中的员工编号 |
| 查找区域 | 到哪里寻找该内容 | $A$2:$A$10 的编号列 |
| 返回区域 | 找到后要返回哪一列或哪一行 | $C$2:$C$10 的姓名列 |
| 未找到值 | 查不到时显示的文字或结果 | “未找到” |
| 匹配模式 | 控制精确、近似或通配符匹配 | 0、-1、1、2 |
| 搜索模式 | 控制从前往后或从后往前查找 | 1 或 -1 |
前三个参数是基础查找必需项。后面三个参数可以按需要补充;日常按编号查姓名时,通常先掌握前三项和“未找到值”即可。
按编号查姓名:一步完成基础查找
示例数据
示例场景:假设 A 列是员工编号,B 列是部门,C 列是姓名;H2 中输入待查询的员工编号,希望在 I2 显示姓名。
- 确认编号表在 A2:A10,姓名表在 C2:C10,且两段区域对应同一批记录。
- 选中用于显示结果的 I2 单元格。
- 输入公式:=XLOOKUP(H2,$A$2:$A$10,$C$2:$C$10,”未找到”)。
- 按回车键。若 H2 的编号存在,I2 会返回对应姓名;若不存在,则显示“未找到”。
- 需要查询多行时,向下复制公式。可配合WPS表格自动填充怎么用,减少逐行拖拽和修改公式的操作。
公式中的 $ 用于固定数据表范围。这样向下填充时,H2 会依次变成 H3、H4,而编号列和姓名列的查找范围不会跟着偏移。
反向查找:返回列在查找列左边也能处理
VLOOKUP 通常要求查找值位于所选区域的第一列,而 XLOOKUP 的查找区域与返回区域可以分别指定。因此,即使部门在 B 列、姓名在 C 列,仍可按姓名返回部门。
例如,H2 输入姓名,I2 需要显示部门,可写为:=XLOOKUP(H2,$C$2:$C$10,$B$2:$B$10,”未找到”)
这里先在 C 列找 H2 的姓名,再从 B 列返回同一行的部门。无需调整原始表格的列顺序。
两个实用参数:查不到提示与最后一次记录
查不到时显示友好提示
如果省略第四个参数,未找到匹配项时可能出现错误值。加入 “未找到”、“请核对编号” 等提示,查看结果的人更容易判断下一步该检查什么。
示例:=XLOOKUP(H2,$A$2:$A$10,$C$2:$C$10,”请核对编号”)
从下往上找最后一次出现的记录
同一个编号可能在明细表中出现多次,例如同一员工有多条打卡记录。若要返回最后一条匹配记录,可将第六个参数设为 -1:
=XLOOKUP(H2,$A$2:$A$100,$D$2:$D$100,”未找到”,0,-1)
其中 0 表示精确匹配,-1 表示从后往前搜索。此公式会在 A 列中从底部开始找 H2,并返回 D 列同一行的结果。
近似匹配和通配符:先理解再使用
按分数或区间返回等级
当需要依据分数下限返回等级时,可使用匹配模式 -1,表示精确匹配;若没有精确值,则匹配小于查找值的下一项。为避免规则难以判断,分数下限表建议按从小到大的顺序排列。
例如,J2:J5 依次为 0、60、80、90,K2:K5 对应“不及格、合格、良好、优秀”,F2 是分数:
=XLOOKUP(F2,$J$2:$J$5,$K$2:$K$5,””,-1)
按部分文字查找
匹配模式设为 2 时可使用通配符。* 代表任意长度字符,? 代表单个字符。比如要查找名称中包含“办公”的项目:
=XLOOKUP(“*办公*”,$A$2:$A$20,$B$2:$B$20,”未找到”,2)
通配符可能同时匹配多条记录,默认会返回先找到的那一条。需要准确结果时,优先使用唯一编号进行精确匹配。
XLOOKUP 与 VLOOKUP 的区别
| 对比项 | XLOOKUP | VLOOKUP |
|---|---|---|
| 查找方向 | 查找区域和返回区域可分别指定 | 通常从区域第一列向右返回 |
| 返回列设置 | 直接选择返回区域 | 需要填写列序号 |
| 未找到提示 | 可直接使用第四参数设置 | 通常需要配合 IFERROR 等函数 |
| 跨版本兼容 | 需确认接收方软件是否支持 | 旧版表格软件中通常更常见 |
如果你目前已经在使用 VLOOKUP,且文件无需兼顾旧版本,XLOOKUP 往往更容易维护。需要按多个条件汇总数值而不是返回某一个字段时,则应使用WPS表格SUMIFS函数怎么用这一类条件汇总函数。
公式报错或结果不对,按这个顺序排查
- 先看函数是否可用:输入 =XLOOKUP( 后没有提示、保存后显示函数名错误时,不要假设所有版本都支持;请以当前客户端显示为准。
- 检查查找值格式:看似相同的编号,可能一边是数字、一边是文本,或含有前后空格。可先统一数据格式并清理多余字符。
- 检查两个区域行数:查找区域和返回区域应覆盖相同数量的行。例如 A2:A10 对应 C2:C10;不要误写成 A2:A10 和 C2:C9。
- 检查是否存在重复值:XLOOKUP 默认返回首先找到的匹配项。若编号本应唯一却出现重复,应先处理源数据,而不是只修改公式。
- 检查绝对引用:批量填充后结果错位,常见原因是数据范围没有固定。将范围改为 $A$2:$A$10 这类写法再填充。
- 检查跨表名称:跨表引用时,工作表名称、感叹号和区域都要正确;带空格或特殊字符的工作表名称尤其要仔细核对。
常见问题
WPS表格 XLOOKUP 函数需要手动选择“插入函数”吗?
不一定。可以直接在结果单元格输入公式;也可以在“公式”相关功能中查找 XLOOKUP 并按参数提示填写。不同平台和版本的入口名称可能不同,请以当前界面为准。
XLOOKUP 为什么显示“未找到”?
先确认查找值确实存在,再检查编号是否存在文本与数字混用、隐藏空格、重复记录或区域选错等问题。若公式中设置了第四参数,显示“未找到”正是该参数的预设结果。
XLOOKUP 能跨工作表使用吗?
可以在查找区域和返回区域中引用其他工作表的单元格范围。跨表公式更容易因为工作表名或区域写错而失效,建议先完成单表公式,再替换为跨表区域。
是否应该把所有 VLOOKUP 都改成 XLOOKUP?
不必。新建且确认兼容性的表格可优先使用 XLOOKUP;已有文件稳定运行、需要兼容旧版环境,或接收方版本不确定时,保留现有方案通常更稳妥。
验证情况与使用说明
本文依据相关品牌的官方帮助资料整理。具体功能入口、规则名称和可选样式可能随系统、地区、账号与版本变化,请以当前客户端或官方页面显示为准。本页为第三方使用教程,并非相关品牌的官方帮助页面。
