XLOOKUP 函数¶
一、函数概述¶
XLOOKUP 是 Excel 中用于“查找并返回结果”的新一代查找函数,可在指定区域中查找某个值,并从对应位置返回目标结果。它可以同时支持纵向/横向查找,并且默认就能处理很多常见需求,例如:精确匹配、未找到时返回自定义内容、从后往前查找、近似匹配等。
相较于传统的 VLOOKUP / HLOOKUP / LOOKUP,XLOOKUP 的特点包括:
- 不再需要手动数列序号:直接指定返回区域即可
- 默认精确匹配:更符合日常使用习惯
- 查找方向更灵活:既可从上到下,也可从下到上(或从左到右/从右到左)
- 可自定义未找到返回值:减少与
IFERROR的组合需求 - 可配合动态数组:返回多列/多行结果更方便(新版本 Excel 更常见)
二、基础语法¶
三、参数说明¶
| 参数 | 是否必填 | 含义 | 常见填写示例 |
|---|---|---|---|
lookup_value |
必填 | 要查找的值 | A2、"张三"、1001 |
lookup_array |
必填 | 查找值所在的区域(查找列/行) | A:A、A2:A100 |
return_array |
必填 | 返回结果所在的区域(返回列/行) | C:C、C2:C100 |
[if_not_found] |
可选 | 未找到时返回的内容 | "未找到"、0、"" |
[match_mode] |
可选 | 匹配模式(如何匹配) | 0(精确)、-1/1(近似)、2(通配符) |
[search_mode] |
可选 | 查找方向(从哪里开始找) | 1(从前往后)、-1(从后往前)等 |
1)match_mode 取值说明¶
| 取值 | 含义 | 典型场景 |
|---|---|---|
0 |
精确匹配(默认) | 编号、姓名、SKU 等必须一致的查找 |
-1 |
精确匹配;未找到则返回小于等于查找值的最近项 | 成绩/区间定价(按上限下限) |
1 |
精确匹配;未找到则返回大于等于查找值的最近项 | 阈值、阶梯规则(按最近上限) |
2 |
通配符匹配(支持 * 和 ?) |
模糊查找,如“包含某关键词的名称” |
2)search_mode 取值说明¶
| 取值 | 含义 | 典型场景 |
|---|---|---|
1 |
从前往后查找(默认) | 常规查找 |
-1 |
从后往前查找 | 取“最后一次出现”的记录 |
2 |
二分查找(升序) | 数据量大且已排序时加速(较少用) |
-2 |
二分查找(降序) | 数据量大且已排序时加速(较少用) |
四、基础用法示范¶
下面用一个常见的“员工信息表”举例(A 列是工号,B 列是姓名,C 列是部门,D 列是薪资):
| A(工号) | B(姓名) | C(部门) | D(薪资) |
|---|---|---|---|
| 1001 | 张三 | 销售 | 12000 |
| 1002 | 李四 | 财务 | 15000 |
| 1003 | 王五 | 技术 | 20000 |
示例 1:按工号精确查找部门(最常用)¶
需求:在 F2 输入工号,在 G2 返回部门。
解释:在 A2:A4 中找 F2,找到后返回同一行的 C2:C4 值。
示例 2:未找到时返回自定义文本¶
需求:若工号不存在,返回“未找到”。
这样比 IFERROR(XLOOKUP(...),"未找到") 更直接。
示例 3:返回多列结果(一次带回多项信息)¶
需求:输入工号后,同时返回姓名、部门、薪资(B~D 三列)。
在支持动态数组的 Excel 中,公式会向右“溢出”填充多列结果。
示例 4:通配符模糊查找¶
需求:在姓名列中查找“包含‘王’字”的姓名,并返回对应部门。
说明:
*表示任意长度字符2表示启用通配符匹配
示例 5:取“最后一次出现”的匹配结果¶
需求:某个工号可能出现多次(例如历史记录),希望取最后一次对应的部门。
说明:
0精确匹配-1从后往前找,因此返回最后一次匹配的结果
示例 6:近似匹配¶
场景:根据分数判断等级(假设 E 列是分数下限,F 列是等级,且 E 列升序排列):
| E(下限) | F(等级) |
|---|---|
| 0 | D |
| 60 | C |
| 80 | B |
| 90 | A |
需求:G2 是分数,返回等级(找“<=分数的最近下限”)。
-1 的含义是:精确匹配;若没有精确值,则取“小于等于查找值”的最近项(非常适合按下限分段)。
五、总结¶
XLOOKUP 是 Excel 查找函数体系中的“全能选手”,用更直观的方式完成查找返回:
- 三个必填参数就能完成绝大多数查找:
查找值 + 查找区域 + 返回区域 - 内置未找到处理,减少额外嵌套
- 支持精确、近似、通配符,以及从后往前查找
- 在新版本 Excel 中还能方便地返回多列/多行结果,搭配动态数组更高效
如果你的 Excel 版本支持 XLOOKUP,日常的查找需求基本可以优先使用它来替代 VLOOKUP / HLOOKUP。