Excel查找函数(二):XLOOKUP
- 2026-09-16 14:43:00
讲讲Excel中XLOOKUP查找函数
查找是Excel中常用的功能,前面我们讲了VLOOKUP查找函数。今天我们来聊一聊一个更高级的查找函数——XLOOKUP。
XLOOKUP函数
概念
XLOOKUP函数是微软在Excel 365和Excel 2021中推出的新一代查找函数,跟VLOOKUP最大的不同是——XLOOKUP不需要你费心去数"第几列",也不需要把查找列放在最左边,它把"在哪找"和"返回什么"分成两个独立的参数,清晰又直观。
语法结构
公式 = XLOOKUP(查找值, 查找列, 返回列, [未找到时返回], [匹配模式], [搜索模式])。共有6个参数,前三个必填,后三个可选。
第1个参数:查找值(找什么)
就是你想要查找的关键词。可以是一个具体的文本(如"张三")、一个数字(如1001),也可以是一个单元格引用(如A2)。
第2个参数:查找列(在哪找)
就是XLOOKUP执行查找的范围,比如B:B或B2:B100。如果数据在另一个工作表里,你也可以进行跨表查询,比如Sheet2!B:B,表示在工作簿的Sheet2表的B列中查找。
第3个参数:返回列(返回什么)
告诉XLOOKUP要返回哪一列的内容。比如C:C或C2:C100。
关键点:返回列和查找列的行数要一致,要不然会返回错误值。如果要把整行多列都返回,直接选多列就行,比如C:E——XLOOKUP会自动把多列结果一起返回。
第4个参数:未找到时返回(查不到怎么办)
这个参数是XLOOKUP的贴心设计——当找不到匹配值时,你可以自定义返回什么内容,比如"查无此人"或0。如果不写这个参数,找不到就返回#N/A错误。
关键点: VLOOKUP遇到找不到的情况,如果不想返回错误值需要嵌套IFERROR函数,但XLOOKUP一个参数就搞定了。
第5个参数:匹配模式(精确找还是近似找)
这个参数决定XLOOKUP的匹配方式:
0或省略: 精确匹配,必须找到完全一致的值才返回结果(默认)
-1: 精确匹配,如果没有则返回下一个较小项
1: 精确匹配,如果没有则返回下一个较大项
2: 通配符匹配(支持*和?)
绝大多数实际工作中,我们使用精确匹配(0,默认值)就够了。
第6个参数:搜索模式(从上找还是从下找)
这个参数决定XLOOKUP的搜索方向:
1或省略: 从第一项开始向下搜索(默认)
-1: 从最后一项开始向上搜索
2: 二分搜索(要求查找列按升序排列)
-2: 二分搜索(要求查找列按降序排列)
如果查找列里有多个相同值,用-1可以从下往上找,返回最后一个匹配项。
示例
场景
你有一份员工信息表,A列是姓名,B列是部门,C列是基本工资。现在你要在另一张表中,根据姓名查找出对应的工资。

步骤
第1步:找到你要查找的关键字在哪里(比如A2单元格里写的是"张三")。
第2步:在你想要反馈结果的单元格(比如B2),输入公式的开头:=XLOOKUP(A2,
第3步:指定查找列——姓名在哪一列?在A列。输入:=XLOOKUP(A2, Sheet1!A:A,
第4步:指定返回列——工资在哪一列?在C列。输入:=XLOOKUP(A2, Sheet1!A:A, Sheet1!C:C)
第5步:可以加上"查不到"的处理:=XLOOKUP(A2, Sheet1!A:A, Sheet1!C:C, "查无此人")
搞定!就这么简单。

使用技巧
XLOOKUP还可以进行多条件筛选,将多个条件合并成一个唯一值,然后进行查找匹配。
方法(使用&字符)
1. 合并查找值:将多个条件用连接符 & 拼接成一个“复合键”。
2. 合并查找区域:同样用 &将数据源中对应的多列拼接成一个“复合列”。
之后,XLOOKUP 就在这个“复合列”里查找“复合键”,找到后返回目标列的值。
公式结构:XLOOKUP(条件1&条件2, 列1&列2, 返回列)
示例
还是以部门姓名为例,有时候姓名很容易重复,再加上部门,就可以使匹配结果更加精准。
假设要根据A列的“姓名”和B列的“部门”,在C列中查找对应的工资(C列)。
=XLOOKUP(A2&B2,Sheet1!A:A&Sheet1!B:B, Sheet1!C:C)

总结
相对于VLOOKUP,利用 XLOOKUP 进行查找非常灵活,不仅支持多条件查询,还可以使用正则表达式,能够实现更加强大的查找。下期再介绍下INDEX+MATCH函数,也可以实现大多数的查找功能。