Σ表格公式学堂EXCEL FORMULA & SCENARIO

XLOOKUP新一代查找

VLOOKUP 的升级版,左右都能查,还能自定义找不到时显示什么。

Excel 365WPS 兼容在线测试
1

语法结构

XLOOKUP(查找值, 查找数组, 返回数组, [找不到时], [匹配模式], [搜索模式])
查找值查找数组返回数组找不到时匹配模式方括号 [ ] 表示可选参数
参数必填类型说明示例值
查找值必填任意要找的内容A2
查找数组必填区域(一列或一行)在哪一列/行里找员工表!A:A
返回数组必填区域(一列或一行)要带回哪一列/行,可以和查找列不相邻员工表!C:C
找不到时可选任意找不到时显示什么,省略则返回 #N/A"新员工"
匹配模式可选数字0 精确(默认);-1 精确或更小;1 精确或更大;2 通配符0

返回:任意:返回数组中对应位置的值

2

什么时候用它

从右往左查
要用后面的列去查前面的列,VLOOKUP 做不到,XLOOKUP 一行搞定。
看完整场景方案 →
查不到时直接给提示
第 4 个参数直接写「无此工号」,不用再套 IFERROR。
看完整场景方案 →
3

动画演示

动画演示·员工表第 1 / 8 步
ABCD
1工号姓名部门月薪
2E01张三销售部8000
3E02李四技术部9500
4E03王五销售部7600
5E04赵六市场部6800
6E05孙七销售部8200
STEP 1
第 1 步:确定查找值「E03」,准备在 A 列里逐行比对。
4

示例演示

B2 : =XLOOKUP(A2,员工表!A:A,员工表!B:B,"新员工")
=XLOOKUP(A2,员工表!A:A,员工表!B:B,"新员工") 返回「王五」
ABCD
1工号姓名出勤天数
2E03王五21
3E0122
4E0419
5
6
当前表:考勤表 · 公式单元格 B2 · 绿色底为公式,蓝色底为动态数组溢出结果
5

常见错误

现象#NAME?
原因Excel 2016/2019 不支持 XLOOKUP
解决老版本用 INDEX+MATCH,或升级到 365
现象#VALUE!
原因查找数组和返回数组行数不一样
解决两个区域保持同样行数,如都写整列 A:A / B:B
6

相关公式

动手试一试

在编辑器里载入这个公式的示例数据,改改数字看看结果怎么变。

在编辑器中打开示例 ↗

用到这个公式的场景