VLOOKUP 查找匹配入门:从单条件到跨表引用的完整写法
阅读约 5 分钟 · 分类:函数公式 · 更新于 2026-10-22
VLOOKUP 的核心只有一件事:拿一个值去某张表里找,找到后把同一行的某一列取回来。真正让人困惑的不是函数本身,而是四个参数各写什么、区域要不要加绝对引用。
四个参数的含义
函数结构为 VLOOKUP(查找值, 查找区域, 返回列序, 匹配方式)。
- 查找值:要找的内容,例如工号或商品编号,通常是当前表里的某个单元格;
- 查找区域:去哪张表里找,注意查找值必须位于该区域的第一列;
- 返回列序:从区域第一列往右数,要取回的是第几列;
- 匹配方式:写 0 或 FALSE 表示精确匹配,日常业务几乎都应使用精确匹配。
单条件查找实例
假设 A 列是工号,B 列是姓名,另有一张花名册表记录工号与部门。要在 B2 中按 A2 的工号取部门,可写为:
=VLOOKUP(A2, 花名册!A:C, 3, 0)
含义是:用工号去花名册的 A 至 C 列中查找,返回同一行第 3 列(部门)。写完后向下填充即可批量匹配。
为什么要加绝对引用
查找区域一旦向下填充就会跟着偏移,导致后面的行查不到数据。规范写法是把区域锁定为 $A:$C 或按 F4 键切换为绝对引用。查询值则应保持相对引用,这样才能逐行变化。
精确匹配与近似匹配的区别
把最后一个参数写成 1 会启用近似匹配,它要求区域首列按升序排列,常用于按分数段评定等级。若顺序混乱,结果会莫名其妙。除非确实在做区间匹配,否则一律写 0。
#N/A 错误的六种原因
- 查找值在源表中确实不存在,需要补充数据或核对编号;
- 查找值带有空格或不可见字符,可用 TRIM 或替换功能清理;
- 格式不一致:一边是文本型数字,一边是数值型数字,用分列功能统一格式;
- 查找值不在区域第一列,VLOOKUP 只能从左向右取数;
- 区域未锁定,填充后整体偏移,导致后面的行指向错误区域;
- 引用的工作表名称被修改,公式中的表名失效。
需要向左取数怎么办
VLOOKUP 无法向左取值。若目标列在查找列左侧,可调整源表列顺序,或改用 INDEX 与 MATCH 组合:=INDEX(结果列, MATCH(查找值, 查找列, 0)),这种方式不受方向限制,维护起来也更直观。
小结
先确认「查找值在区域第一列」,再锁定区域、写 0 精确匹配,多数问题都能避免。更多表格技巧见 冻结窗格设置教程,需要桌面端可前往 下载页。