Excel VLOOKUP 函数详解
用法介绍 · 参数说明 · 实战案例 · 常见问题
一、什么是 VLOOKUP
VLOOKUP(Vertical Lookup,垂直查找)是 Excel 中最常用的查找函数之一。它能够在一个数据区域的第一列中搜索指定值,并返回同一行中指定列的数据,非常适合处理两张表之间的数据关联与匹配。
二、基本语法
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
参数说明
参数 | 含义 | 常用值 / 说明 |
lookup_value | 要查找的值(关键字) | 可以是单元格引用,如 E2 |
table_array | 查找的数据区域(表格范围) | 如 A:C 或 $A$2:$C$100(建议用绝对引用) |
col_index_num | 要返回的列序号(从 1 开始) | 1=第1列,2=第2列,依此类推 |
range_lookup | 匹配方式 | FALSE = 精确匹配(推荐) TRUE = 近似匹配 |
三、工作原理
① 在 table_array 的第一列中,从上往下逐行搜索 lookup_value;
② 找到匹配的单元格后,定位到该行;
③ 返回该行中第 col_index_num 列对应的值。
⚠ 注意:查找值必须位于 table_array 的第一列,VLOOKUP 无法向左查找。
四、实际案例
场景描述
公司有一张员工信息表(A~C列),现在需要根据员工编号自动查出对应的姓名和薪资,将结果填入另一处。
员工信息表
A员工编号 | B姓名 | C薪资(元) |
1001 | 张三 | 8,000 |
1002 | 李四 | 9,500 |
1003 | 王五 | 7,200 |
1004 | 赵六 | 11,000 |
查找公式
在 E2 单元格输入员工编号 1002,然后:
查询姓名(F2):
=VLOOKUP(E2, A:C, 2, FALSE)
→ 返回结果:李四
查询薪资(G2):
=VLOOKUP(E2, A:C, 3, FALSE)
→ 返回结果:9,500
五、常见注意事项
▶ 务必使用 FALSE 精确匹配
日常工作中几乎都应使用 FALSE(精确匹配)。使用 TRUE 时,数据必须升序排列,否则结果不可靠。
▶ 查找列必须在第一列
VLOOKUP 只能从左向右查找,查找值必须是 table_array 的第一列。如需向左查找,请改用 INDEX + MATCH 组合。
▶ 使用绝对引用锁定区域
公式向下填充时,table_array 会随之偏移。建议加 $ 锁定:$A$2:$C$100。
▶ 处理 #N/A 错误
当找不到匹配值时,函数返回 #N/A 错误,可用 IFERROR 包裹:
=IFERROR(VLOOKUP(E2, A:C, 2, FALSE), "未找到")
六、总结
VLOOKUP 的本质是「按关键字在表格中取值」,适用于两张表之间的数据关联匹配, 例如:根据订单号查商品信息、根据学号查成绩、根据工号查部门等。 掌握 VLOOKUP 是 Excel 数据处理的入门必备技能,配合 IFERROR 和绝对引用, 可以构建健壮、易维护的查找公式。
快速参考卡
功能 | 公式示例 |
精确查姓名 | =VLOOKUP(E2, A:C, 2, FALSE) |
精确查薪资 | =VLOOKUP(E2, A:C, 3, FALSE) |
容错处理 | =IFERROR(VLOOKUP(E2,A:C,2,FALSE),"未找到") |
跨表查询 | =VLOOKUP(A2, Sheet2!$A:$D, 3, FALSE) |
夜雨聆风