跳转至

XLOOKUP 函数

一、函数概述

XLOOKUP 是 Excel 中用于“查找并返回结果”的新一代查找函数,可在指定区域中查找某个值,并从对应位置返回目标结果。它可以同时支持纵向/横向查找,并且默认就能处理很多常见需求,例如:精确匹配未找到时返回自定义内容从后往前查找近似匹配等。

相较于传统的 VLOOKUP / HLOOKUP / LOOKUPXLOOKUP 的特点包括:

  • 不再需要手动数列序号:直接指定返回区域即可
  • 默认精确匹配:更符合日常使用习惯
  • 查找方向更灵活:既可从上到下,也可从下到上(或从左到右/从右到左)
  • 可自定义未找到返回值:减少与 IFERROR 的组合需求
  • 可配合动态数组:返回多列/多行结果更方便(新版本 Excel 更常见)

二、基础语法

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

三、参数说明

参数 是否必填 含义 常见填写示例
lookup_value 必填 要查找的值 A2"张三"1001
lookup_array 必填 查找值所在的区域(查找列/行) A:AA2:A100
return_array 必填 返回结果所在的区域(返回列/行) C:CC2: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 返回部门。

=XLOOKUP(F2, A2:A4, C2:C4)

解释:在 A2:A4 中找 F2,找到后返回同一行的 C2:C4 值。


示例 2:未找到时返回自定义文本

需求:若工号不存在,返回“未找到”。

=XLOOKUP(F2, A2:A4, C2:C4, "未找到")

这样比 IFERROR(XLOOKUP(...),"未找到") 更直接。


示例 3:返回多列结果(一次带回多项信息)

需求:输入工号后,同时返回姓名、部门、薪资(B~D 三列)。

=XLOOKUP(F2, A2:A4, B2:D4, "未找到")

在支持动态数组的 Excel 中,公式会向右“溢出”填充多列结果。


示例 4:通配符模糊查找

需求:在姓名列中查找“包含‘王’字”的姓名,并返回对应部门。

=XLOOKUP("*王*", B2:B4, C2:C4, "未找到", 2)

说明:

  • * 表示任意长度字符
  • 2 表示启用通配符匹配

示例 5:取“最后一次出现”的匹配结果

需求:某个工号可能出现多次(例如历史记录),希望取最后一次对应的部门。

=XLOOKUP(F2, A2:A100, C2:C100, "未找到", 0, -1)

说明:

  • 0 精确匹配
  • -1 从后往前找,因此返回最后一次匹配的结果

示例 6:近似匹配

场景:根据分数判断等级(假设 E 列是分数下限,F 列是等级,且 E 列升序排列):

E(下限) F(等级)
0 D
60 C
80 B
90 A

需求:G2 是分数,返回等级(找“<=分数的最近下限”)。

=XLOOKUP(G2, E2:E5, F2:F5, "无", -1)

-1 的含义是:精确匹配;若没有精确值,则取“小于等于查找值”的最近项(非常适合按下限分段)。


五、总结

XLOOKUP 是 Excel 查找函数体系中的“全能选手”,用更直观的方式完成查找返回:

  • 三个必填参数就能完成绝大多数查找:查找值 + 查找区域 + 返回区域
  • 内置未找到处理,减少额外嵌套
  • 支持精确、近似、通配符,以及从后往前查找
  • 在新版本 Excel 中还能方便地返回多列/多行结果,搭配动态数组更高效

如果你的 Excel 版本支持 XLOOKUP,日常的查找需求基本可以优先使用它来替代 VLOOKUP / HLOOKUP