XLOOKUP是Excel 365/2021中替代VLOOKUP的增强型查找函数,支持左右双向、上下搜索、精确/近似匹配、多结果返回及多条件查询,语法简洁且不易出错。

Excel表格XLOOKUP函数怎么用_替代VLOOKUP实现多向查询  第1张

XLOOKUP 是 Excel 365 和 Excel 2021 中推出的全新查找函数,比 VLOOKUP 更灵活、更直观,能轻松实现**从左向右、从右向左、上下双向、精确匹配、近似匹配、甚至返回多个结果**的查询,彻底解决 VLOOKUP 的诸多限制(比如不能向左查、必须固定列号、不支持数组返回等)。

一、XLOOKUP 基本语法与核心参数

公式结构简洁明了:

=XLOOKUP(查找值, 查找数组, 返回数组, [未找到时返回], [匹配模式], [搜索模式])

  • 查找值:要找的内容,如 A2 单元格的姓名
  • 查找数组:在哪个区域里找?必须是一行或一列(如 B2:B100)
  • 返回数组:找到后返回哪一列/行的数据?大小需与查找数组一致(如 D2:D100 或 F1:J1)
  • [未找到时返回]:可选,找不到时显示自定义提示,如“未查到”
  • [匹配模式]:0=精确匹配(默认),-1=精确匹配或下一个较小项,1=精确匹配或下一个较大项
  • [搜索模式]:1=从上到下/从左到右(默认),-1=从下到上/从右到左(实现“最后一个匹配”)

二、用 XLOOKUP 替代 VLOOKUP 的常见场景

✅ 向左查询(VLOOKUP 做不到)
例如:已知“工号”在 E 列,想查对应的“姓名”(在 C 列):

=XLOOKUP(H2,E2:E100,C2:C100,"未找到")

→ 不用调整数据顺序,也不用辅助列,直接反向定位。

✅ 多条件查询(配合数组运算)
例如:查“部门=销售”且“职级=主管”的员工姓名:

=XLOOKUP(1,(B2:B100="销售")*(C2:C100="主管"),A2:A100,"未找到")

→ 利用逻辑判断生成 TRUE/FALSE 数组,乘号转为 1/0,再用 XLOOKUP 找第一个 1 的位置。

✅ 返回整行/整列数据(VLOOKUP 只能单列)
例如:根据订单号查该订单全部信息(D2:G2 对应4个字段):

=XLOOKUP(I2,A2:A100,D2:G100)

→ 自动返回 D2:G2 这一行的四个值(作为动态数组,会自动溢出到右侧单元格)。

三、实用技巧与避坑提醒

  • 查找数组和返回数组的**行数或列数必须一致**,否则报错 #N/A
  • 查找值为空时,XLOOKUP 默认匹配空值;若想忽略空值,可在查找数组中加筛选,如 FILTER(B2:B100,B2:B100"")
  • 搜索模式 -1 可查“最后一次出现”,适合查最新记录:
    =XLOOKUP(F2,A2:A100,B2:B100,,0,-1)
  • 支持通配符(* ?)但需开启通配符匹配:
    =XLOOKUP("张*",B2:B100,C2:C100,,2)(匹配模式设为 2)

四、为什么推荐优先用 XLOOKUP 而不是 VLOOKUP

  • VLOOKUP 插入列易出错(列号写死),XLOOKUP 引用区域清晰,不怕增删列
  • VLOOKUP 向左查要靠 INDEX+MATCH 组合,XLOOKUP 一步到位
  • XLOOKUP 默认精确匹配,VLOOKUP 默认近似匹配(易误结果)
  • 错误处理更友好:直接用第4参数写提示,不用套 IFERROR