RSS订阅 爱办公,享无限效率

你现在的位置:

函数XLOOKUP最强大、最灵活的查找

一、函数概述

XLOOKUP 是微软 Excel 365 和 Excel 2021 版本新增的查找函数,用于在数据范围内搜索指定值并返回对应结果 。相比 VLOOKUP,它具有以下核心优势

特性VLOOKUPXLOOKUP
查找方向只能从左向右左右任意方向
返回方式只能返回单列可返回整行/多列
错误处理需配合 IFERROR内置错误提示参数
查找方向只能从上往下支持上下双向查找
匹配模式精确/近似精确/近似/通配符/二分查找

二、语法结构

=XLOOKUP(
    lookup_value,      ← 必需:要查找的值
    lookup_array,       ← 必需:查找范围(列或行)
    return_array,       ← 必需:返回值的范围
    [if_not_found],     ← 可选:找不到时返回的内容
    [match_mode],       ← 可选:匹配方式(0精确/1近似/-1反向/2通配符)
    [search_mode]       ← 可选:查找方向(1从上到下/-1从下到上/2二分升序/-2二分降序)
)

三、参数详解

参数必需说明常用取值
lookup_value要搜索的值(文本、数字、单元格引用)如:"A001"F3
lookup_array查找范围(单列或单行)如:A2:A100
return_array返回值的范围(与查找范围同方向)如:B2:D100(可返回多列)
if_not_found未找到时显示的内容如:"未找到"0
match_mode匹配方式0=精确(默认),1=近似较大,-1=近似较小,2=通配符
search_mode查找方向1=从上到下(默认),-1=从下到上,2=二分升序,-2=二分降序

四、实用示例

示例 1:精确查找(最常用)

场景:根据职工编号查找评级

=XLOOKUP(C178, A165:A172, F165:F172)
  • A165:A172 中查找 C178 的值
  • 找到后返回 F165:F172 对应位置的评级

示例 2:横向查找(替代 HLOOKUP)

场景:横向表格中根据月份查销售额

=XLOOKUP(B158, B148:K148, B150:K150, "未找到")
  • 在第1行(B148:K148)查找月份
  • 返回第3行(B150:K150)对应的销售额
  • 找不到时显示 "未找到"

示例 3:反向查找(VLOOKUP 做不到)

场景:根据姓名反向查找职工编号(姓名在右,编号在左)

=XLOOKUP(C19, B2:B9, A2:A9)
  • 在姓名列 B2:B9 查找 "老赵"
  • 返回左侧编号列 A2:A9 的值

示例 4:返回多列(动态数组)

场景:根据订单编号一次性返回日期、书店、图书三列

=XLOOKUP(J4, A2:A35, B2:D35)
  • 只需在一个单元格输入公式
  • 结果自动溢出到相邻单元格,同时返回3列数据

整行返回

=XLOOKUP(M4, A:A, B:G, "没找到", 0, 1)
  • 返回 B:G 整行6列数据

示例 5:多条件查找

场景:根据”书店名称+图书名称”查找订单编号

=XLOOKUP(J4&K4, C2:C35&D2:D35, A2:A35)
  • & 连接多个条件作为查找值
  • & 连接多列作为查找范围

示例 6:模糊匹配(近似查找)

场景:根据销售金额查找对应的提成比例

=XLOOKUP(F2, $J$3:$J$7, $K$3:$K$7, 0, 1)
  • 第5参数 1:查找精确或下一个较大值
  • 第5参数 -1:查找精确或下一个较小值

示例 7:通配符查找

场景:根据图书名称中的部分词查找销售等级

=XLOOKUP("*"&J3&"*", D:D, H:H, , 2)
  • * 是通配符,代表任意字符
  • 第5参数 2:启用通配符匹配模式

示例 8:查找最后匹配的值

场景:查找某员工的最后一次打卡记录

=XLOOKUP(E2, A2:A100, C2:C100, , 0, -1)
  • 第6参数 -1:从下到上搜索,返回最后一个匹配项

示例 9:双向查找(嵌套 XLOOKUP)

场景:根据姓名和科目查找对应成绩

=XLOOKUP(F1, B1:C1, XLOOKUP(E2, A2:A5, B2:C5))
  • 内层 XLOOKUP:根据姓名返回该行的所有科目成绩数组
  • 外层 XLOOKUP:在科目行中查找指定科目,返回对应成绩

示例 10:自定义错误提示

场景:找不到时显示友好提示而非 #N/A

=XLOOKUP(E2, A2:A5, B2:B5, "ID Not Found")
  • 第4参数直接指定未找到时的返回值
  • 无需再嵌套 IFERROR 函数

五、注意事项

注意点说明
版本要求需 Excel 365、Excel 2021 或 Excel 网页版
区域对齐lookup_arrayreturn_array 必须同方向且大小一致
数据格式查找值和查找范围的数据格式必须一致(文本 vs 数字)
重复值默认返回第一个匹配项,如需最后一个请用 search_mode=-1
动态数组返回多列时会自动溢出,确保下方单元格为空

六、XLOOKUP vs VLOOKUP 对比总结

功能VLOOKUP 写法XLOOKUP 写法
基础查找=VLOOKUP(F3,A2:D10,4,0)=XLOOKUP(F3,A2:A10,D2:D10)
反向查找无法实现=XLOOKUP(F3,C2:C10,A2:A10)
横向查找=HLOOKUP(F3,A1:D10,3,0)=XLOOKUP(F3,A1:D1,A3:D3)
错误处理=IFERROR(VLOOKUP(...),"未找到")=XLOOKUP(...,,"未找到")
返回多列无法实现=XLOOKUP(F3,A2:A10,B2:D10)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注