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 精确匹配,多数问题都能避免。更多表格技巧见 冻结窗格设置教程,需要桌面端可前往 下载页。