Σ表格公式学堂EXCEL FORMULA & SCENARIO

VLOOKUP纵向查找

拿一个值去左边的表里找,取回右边某一列。

Excel 2016+WPS 兼容在线测试
1

语法结构

VLOOKUP(查找值, 查找区域, 返回第几列, 精确/近似)
查找值查找区域返回第几列精确/近似方括号 [ ] 表示可选参数
参数必填类型说明示例值
查找值必填任意要拿去找的东西,必须位于查找区域的第一列A2
查找区域必填区域从「查找值所在列」开始选,一直选到要返回的列员工表!A:D
返回第几列必填数字从查找区域第一列数起,返回值在第几列(1 开始)2
精确/近似可选逻辑值FALSE / 0 表示精确匹配,几乎总是用它;TRUE / 1 是近似匹配FALSE

返回:任意:匹配行中指定列的内容;找不到返回 #N/A

2

什么时候用它

按工号匹配姓名部门
考勤表只有工号,从员工表把姓名、部门带过来。
看完整场景方案 →
两张表对账
用单号去另一张表找金额,找不到的就是漏单。
看完整场景方案 →
多条件查找
拼一个辅助列(姓名+月份)再查,是经典解法。
看完整场景方案 →
3

动画演示

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

示例演示

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

常见错误

现象#N/A 找不到
原因查找值不在区域第一列;或两边有空格、数字/文本格式不一致
解决用 TRIM 清洗,或统一转成文本;确认区域第一列就是查找列
现象#REF!
原因返回列数写得比区域还大,比如区域 2 列却写了 3
解决重新数一下列数,或用 COLUMN 计算
现象匹配到错的行
原因第 4 个参数漏写,默认成了近似匹配
解决一定补上 FALSE 或 0
现象拖公式后结果错乱
原因查找区域没锁定,往下拖时区域跟着跑了
解决区域按 F4 锁成 $A$2:$D$100
6

相关公式

动手试一试

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

在编辑器中打开示例 ↗

用到这个公式的场景