给你安排一篇干货技术文,直接上硬菜👇
一、函数简介
VLOOKUP — 表格查找的"老前辈"
=VLOOKUP(查找值, 数据区域, 返回列号, 匹配方式)
Excel诞生之初就有的函数,江湖地位毋庸置疑。
XLOOKUP — 2019年登场的"新天王"
=XLOOKUP(查找值, 查找数组, 返回数组, 未找到值, 匹配模式, 搜索模式)
微软专门为解决VLOOKUP的痛点而生的升级版。
二、核心区别图解
对比维度 | VLOOKUP | XLOOKUP |
|---|---|---|
查找方向 | 只能从左往右 | 任意方向 |
返回列指定 | 用列号(易数错) | 用数组(直观) |
插入列 | 列号会错位 | 不受影响 |
找不到时 | 返回错误值 | 可自定义返回值 |
默认匹配 | 近似匹配(危险!) | 精确匹配(安全) |
跨表引用 | 麻烦 | 简单 |
三、案例实操解析
📌 案例一:基础查找——查员工部门
数据源:
A姓名 | B部门 | C工资 |
|---|---|---|
小明 | 销售部 | 8000 |
小红 | 技术部 | 12000 |
小刚 | 财务部 | 9000 |
目标:根据姓名查部门❌ VLOOKUP写法:
=VLOOKUP("小明", A:C, 2, FALSE)
解释:查找"小明",在A:C区域,返回第2列,精确匹配
✅ XLOOKUP写法:
=XLOOKUP("小明", A:A, B:B)
解释:查找"小明",在A列找,返回B列的值
⚠️ VLOOKUP的坑:
如果你在A列前插入一列序号:
序号 | A姓名 | B部门 | C工资 |
|---|---|---|---|
1 | 小明 | 销售部 | 8000 |
VLOOKUP的公式要改成 =VLOOKUP("小明", B:D, 2, FALSE)— 原公式直接废掉!
XLOOKUP呢?完全不用改,因为它用的是列引用,不是列号。
📌 案例二:反向查找——查员工工号
场景:根据姓名查工号,但工号在姓名左边**
A工号 | B姓名 | C部门 |
|---|---|---|
E001 | 小明 | 销售部 |
E002 | 小红 | 技术部 |
E003 | 小刚 | 财务部 |
❌ VLOOKUP直接歇菜:
=VLOOKUP("小明", A:C, ?, FALSE) ← 不行!工号在左,但VLOOKUP只能返回右边的列
✅ XLOOKUP轻松搞定:
=XLOOKUP("小明", B:B, A:A)
在B列找"小明",返回A列的值——支持向左查找!
📌 案例三:找不到时的处理
场景:查一个不存在的员工❌ VLOOKUP返回错误值:
=VLOOKUP("小王", A:C, 2, FALSE)
结果:#N/A错误——需要外套IFERROR才能好看
✅ XLOOKUP优雅处理:
=XLOOKUP("小王", B:B, C:C, "查无此人")
结果:直接显示"查无此人"——原生支持默认值!
📌 案例四:区间查找/近似匹配
场景:根据绩效分查找等级
| 分数区间 | 等级 |
|---------|
| 0 | D |
| 60 | C |
| 80 | B |
| 90 | A |
目标:给87分找对应等级❌ VLOOKUP近似匹配——容易出错:
=VLOOKUP(87, $E$1:$F$5, 2, TRUE)
⚠️ 必须数据按升序排列,否则结果离谱
✅ XLOOKUP近似匹配——更智能:
=XLOOKUP(87, $E$1:$E$5, $F$1:$F$5, , 1)
参数1表示精确匹配或下一个最小项,无需排序!
📌 案例五:跨多表查找
场景:在sheet1中查找sheet2的数据VLOOKUP:
=VLOOKUP(A2, Sheet2!$A:$C, 3, FALSE)
能用,但当sheet名带空格或特殊字符时需要加引号
XLOOKUP:
=XLOOKUP(A2, Sheet2!A:A, Sheet2!C:C)
语法更简洁清晰,不易出错
四、总结对比
│ VLOOKUP 局限 │
├───────────────────────────────
│ ❌ 只能从左往右查 │
│ ❌ 列插入后公式要改 │
│ ❌ 默认近似匹配(坑新手) │
│ ❌ 找不到返回错误值 │
│ ❌ 语法不够直观 │
└───────────────────────────────
│ XLOOKUP 优势 │
├───────────────────────────────
│ ✅ 任意方向查找 │
│ ✅ 列插入不影响 │
│ ✅ 默认精确匹配 │
│ ✅ 支持自定义未找到的返回值 │
│ ✅ 语法简洁优雅 │
│ ✅ 支持垂直+水平查找 │
└───────────────────────────────
五、什么时候用哪个?
场景 | 推荐 |
|---|---|
Excel 2019以下版本 | 只能用VLOOKUP |
简单正向精确查找 | 两者都行,XLOOKUP更简洁 |
反向查找(查左边的列) | 选XLOOKUP |
数据表会经常增删列 | 选XLOOKUP |
找不到时要有友好提示 | 选XLOOKUP |
数据必须升序排列的近似匹配 | VLOOKUP或XLOOKUP都行 |
小提示:如果你用的是Office 365或Excel 2021+,直接上手XLOOKUP就对了,它就是VLOOKUP的完美升级版~
夜雨聆风