vlookup 函数两张表匹配,就是在当前工作表,调用另外一张工作表里面的数据源,通过共同关键字,比如编号 订单号 产品编码,把第二张表里对应的信息自动提取到第一张表,是财务 人事 库存台账最常用的数据核对方式,核心原理仍然是 vlookup 纵向查找规则,查找关键字必须放在第二张表选定区域的第一列,绝大多数人做两张表匹配的时候出错,都是跨表区域没有锁定,下拉填充之后数据源范围偏移,或者两张表关键字格式不统一,出现 n a 报错,只要掌握跨表引用写法 绝对引用锁定 精确匹配这三个关键点,就可以稳定完成两张表之间的数据调取。
跨表匹配基础语法
vlookup 函数两张表匹配完整公式结构
vlookup 当前表查找值 另一张表数据源区域 返回列序号 0
跨表引用的写法要点,在数据源区域前面加上工作表名称,中间用感叹号连接,比如数据源在 sheet2,区域是 A2:D100,书写的时候就是 sheet2!A2:D100,下拉公式之前一定要按 F4,把区域变成 sheet2!$A$2:$D$100,加上美元符号实现绝对引用,防止下拉的时候区域自动移动。
参数逐项说明
| 参数 | 说明 | 两张表匹配注意事项 |
|---|---|---|
| 查找值 | 当前表用来匹配的单元格 | 一般是 A2 这类单元格 |
| 数据源区域 | 另一张表整片数据范围 | 关键字必须是区域首列 |
| 返回列序号 | 在数据源区域内从左往右数第几列 | 不是工作表原始列号 |
| 匹配类型 | 填 0 精确匹配 | 两张表匹配优先选 0 |
实操完整步骤
第一步 准备两张工作表,第一张是结果表,第二张是源数据表,确认两张表都拥有同一个共同关键字,例如产品编号。
第二步 打开结果表,点击要输出匹配结果的单元格,输入等号,开始编写 vlookup 函数。
第三步 第一参数,点击结果表里面存放关键字的单元格,例如 A2。
第四步 第二参数,鼠标切换到源数据表,拖动选中全部数据源区域,选中之后立刻按 F4 锁定区域,自动添加美元符号。
第五步 第三参数,数清楚想要提取的内容,在源数据表选中区域里面是第几列,填入对应的数字。
第六步 第四参数填写 0,代表精确匹配,补齐右括号,按下回车键,单元格就会显示匹配出来的数据。
第七步 鼠标移动到单元格右下角,出现黑色十字填充柄,按住下拉,批量完成整列两张表匹配。
两张表匹配高频报错排查
n a 报错,优先检查关键字,两张表的编号,一边是文本数字,一边是常规数值,或者单元格前后带有看不见的空格,肉眼看起来一样,vlookup 函数两张表匹配就会判定不相等,可以使用 trim 函数清除空格,统一单元格格式。
下拉之后全部返回同一个结果,原因是第二参数跨表数据源没有加绝对引用,下拉的时候源数据区域跟着向下平移,需要重新编辑公式,按 F4 锁定区域。
数值错误,第三参数填写数字大于源数据区域总列数,比如源区域一共 4 列,却填写返回第 6 列。
关键字重复,vlookup 函数两张表匹配只会返回源表第一条匹配记录,后面重复的关键字不会继续调取,如果需要全部重复记录,vlookup 原生公式无法实现。
补充优化技巧
如果工作表名称里面带有空格,跨表引用的时候,工作表名称需要加上单引号,格式是 工作表名!区域,单引号包裹工作表名称。
如果需要跨工作簿,也就是另外一个独立文件做 vlookup 函数两张表匹配,引用写法会增加文件路径,关闭源文件之后公式会失效,日常优先推荐放在同一个工作簿里面的两张工作表做匹配,稳定性更好。
【常见问题】
问题 1 vlookup 函数两张表匹配为什么下拉之后数据全部一样
回答 1 vlookup 函数两张表匹配下拉之后数据全部一样,核心原因是跨表数据源区域没有设置绝对引用,vlookup 函数两张表匹配下拉填充时区域发生平移,重新按 F4 锁定源表区域,就可以解决这个 vlookup 函数两张表匹配异常。
问题 2 vlookup 函数两张表匹配出现 n a 但是编号肉眼一样是什么原因
回答 1 vlookup 函数两张表匹配出现 n a 但是编号肉眼一样,大多是文本型数字和数值格式不一致,或者单元格存在隐藏空格,在 vlookup 函数两张表匹配之前统一格式清除空格,就可以恢复正常匹配。
问题 3 vlookup 函数两张表匹配可以反向调取吗,源表关键字在右侧
回答 1 vlookup 函数两张表匹配原生不支持反向调取,vlookup 函数两张表匹配强制要求源表关键字放在选定区域第一列,如果关键字在右侧,需要新增辅助列调整顺序,或者改用 xlookup 函数完成 vlookup 函数两张表匹配类似需求。
【免责申明】
本内容基于 Excel 和 WPS 表格常规版本讲解 vlookup 函数两张表匹配,不同版本软件跨表引用规则基本一致,内容仅作为学习参考,不替代官方软件帮助文档。


