Excel VLOOKUP从入门到精通,跨表核对再也不用逐行找
Excel VLOOKUP从入门到精通,跨表核对再也不用逐行找
做销售、财务、行政的朋友,一定遇到过这种崩溃时刻:两张表要核对数据,一张几百行,一张几千行,眼睛都看花了还容易错。今天就把VLOOKUP这个神器给你讲透,学会之后,原本半小时的核对工作,30秒搞定。
一、VLOOKUP到底是干嘛的
简单说:你给它一个"关键字",它去指定区域的第一列找,找到后返回同一行某一列的值。就像你拿着订单号去快递柜找快递,找到对应格子拿东西。
公式长这样:
=VLOOKUP(找什么, 在哪找, 返回第几列, 精确找还是大概找)
四个参数逐个说:
- 找什么:你要查的关键字,比如A2单元格的订单号
- 在哪找:查找的范围,注意关键字必须在这个范围的第一列
- 返回第几列:找到后,返回范围中第几列的值(从1开始数)
- 匹配模式:FALSE=精确匹配(99%的场景用这个),TRUE=近似匹配
举个最简单的例子:根据员工工号查工资
=VLOOKUP(A2, 员工表!$A:$C, 3, FALSE)
意思是:拿A2的工号,去"员工表"的A到C列找,找到后返回第3列(工资列)的值,必须精确匹配。
⚠️ 新手必记:范围要用$锁定(按F4键),不然下拉公式时范围会乱跑。
二、3个最常用的实战场景
场景1:两表数据核对(最高频)
销售表有订单号和金额,库存表有订单号和发货状态,想把发货状态匹配到销售表。
=VLOOKUP(A2, 库存表!$A:$B, 2, FALSE)
下拉,几千行数据几秒就匹配完了。
场景2:区间查找(分数评级、销售提成)
比如销售额0-5000提成3%,5000-20000提成5%,20000以上提成8%。
这时候第4参数用TRUE(近似匹配),但前提是查找范围的第一列必须升序排序。
=VLOOKUP(B2, $F$2:$G$5, 2, TRUE)
场景3:一次返回多列信息
想根据姓名一次性查出部门、职位、工资三列信息。
用COLUMN()函数动态生成列号,输入第一个公式后向右拖拽:
=VLOOKUP($A2, $D:$G, COLUMN(B1), FALSE)
原理:COLUMN(B1)返回2,右拉到C1变成3,D1变成4,刚好对应第2、3、4列。
三、新手最容易踩的5个坑
| 坑点 | 表现 | 解决方法 |
|---|---|---|
| 查找列不在第一列 | 永远#N/A | VLOOKUP只查第一列,把关键字列移到最左边,或改用INDEX+MATCH |
| 范围没锁定 | 下拉后结果时对时错 | 按F4加$锁定范围:$A$2:$D$100 |
| 数字存为文本 | 看起来一样却查不到 | 选中列→数据→分列→完成,统一格式 |
| 第4参数不写 | 返回莫名其妙的值 | 默认是TRUE近似匹配,99%的情况要写FALSE |
| 有空格或不可见字符 | 肉眼一样却匹配失败 | 用TRIM()清除空格,或用查找替换清理 |
四、两个进阶小技巧
1. 找不到时不显示#N/A
用IFERROR包一下,找不到时显示空白或"无数据":
=IFERROR(VLOOKUP(A2, B:C, 2, FALSE), "无")
2. 多条件查找
比如要同时满足"部门"和"姓名"两个条件才返回结果,用&把两个条件拼起来:
=VLOOKUP(A2&B2, IF({1,0}, D:D&E:E, F:F), 2, FALSE)
这是数组公式,输入后按Ctrl+Shift+Enter三键结束。
写在最后
VLOOKUP是Excel函数里的"敲门砖",学会它,你就打开了Excel高效处理的大门。很多人觉得函数难,其实常用的也就那五六个,每个花10分钟练一遍,工作效率直接翻倍。
建议收藏这篇文章,下次遇到两表核对的场景,翻出来照着公式套就行。
👉 更多办公效率技巧,访问 effiwork.cn 打工人效率导航