vlookup 函数的使用方法核心就是利用这个纵向查找函数,按照指定查找关键字,在选定区域的首列进行检索,找到对应行之后,返回该行指定列的目标数据,它是 Excel 和 WPS 表格通用的高频函数,适合两表数据合并 编号对照 信息补全 业绩核对等办公场景,函数一共四个参数,分别是查找值 数据表 列序数 匹配类型,硬性规则是查找关键字所在列必须是所选数据区域的第一列,只支持从左向右提取数据,日常业务优先使用精确匹配模式,下拉填充就可以批量完成整列匹配,源数据更新之后公式结果会自动刷新,相比人工逐行查找核对,能够大幅提升效率并且减少人工录入错误。之所以 vlookup 函数的使用方法在办公场景长期普及,是因为绝大多数业务表格都会把工号 商品编码 订单号这类主键放在表格左侧,对应的附属信息放在右侧,刚好匹配 vlookup 函数的查找逻辑,但是这个函数本身存在先天限制,不能直接提取主键左侧的数据,遇到重复主键只会返回第一条匹配记录,近似匹配模式还要求首列提前升序排序,很多新手报错基本都是没有理解这些底层规则。
函数语法和参数详解
vlookup (查找值,数据表,列序数,匹配类型)
| 参数名称 | 参数含义 | 实操填写要点 |
|---|---|---|
| 查找值 | 用来检索的基准内容,可以是单元格引用,也可以手动输入文本或者数字 | 查找值和源表主键格式必须统一,清除隐藏空格,避免匹配失败 |
| 数据表 | 参与查找的整片单元格区域 | 主键列必须是该区域第一列,推荐设置绝对引用,防止下拉时区域偏移 |
| 列序数 | 目标结果在数据表区域内部是第几列 | 从区域第一列开始计数,不是工作表本身的列序号 |
| 匹配类型 | 控制精确查找或者近似查找 | 填 0 代表精确匹配,填 1 代表近似匹配,近似匹配要求首列升序排序 |
完整实操步骤
第一步 准备两张表格,一张是需要填充结果的目标表,另一张是存放基础档案的对照表,确认对照表主键列位于最左侧。
第二步 点击需要输出结果的单元格,输入等号,接着输入 vlookup,再输入左括号。
第三步 填写第一个参数,点击作为查找基准的单元格,例如 A2,输入逗号分隔参数。
第四步 填写第二个参数,鼠标选中对照表全部查找区域,按下 F4 把区域转为绝对引用,避免下拉填充之后查找区域平移,输入逗号。
第五步 填写第三个参数列序数,数清楚目标列在选中区域里面排第几,例如选中区域是 A 到 D 列,要提取 C 列的数据就填写 3,输入逗号。
第六步 填写第四个参数,普通业务匹配填写 0 代表精确匹配,补齐右括号,按下回车键得到第一条匹配结果。
第七步 选中这个单元格,把鼠标移动到单元格右下角,光标变成黑色十字填充柄之后,向下拖动,完成整列批量填充。
跨工作表与跨工作簿应用
跨工作表使用 vlookup 函数的时候,数据表参数需要带上工作表名称加感叹号,写法为工作表名称加感叹号再加数据区域,例如 Sheet2!A2:C100,其余三个参数填写规则和同表查找保持一致。跨工作簿也就是引用另外一个独立 Excel 文件,公式会附带外部文件路径,缺点是外部文件一旦移动 重命名或者关闭,vlookup 函数就会直接报错,长期业务不推荐跨工作簿使用 vlookup 函数,建议把源数据复制到同一个文件内部再执行匹配。
报错深度解析
N/A 没有找到匹配项,常见原因是查找值和源表主键存在看不见的空格,数字和文本格式不一致,或者源对照表本身不存在这个主键,可以使用 TRIM 函数清除空格,统一单元格格式之后重新运行 vlookup 函数。
REF! 列序数填写的数值超过数据表区域总列数,也就是填写的列序号大于选中区域包含的列总数,修改列序数数值或者扩大数据表区域即可解决。
VALUE! 参数书写错误,一般是逗号遗漏,括号没有闭合,或者参数类型填写错误,检查公式标点符号和参数顺序。
匹配结果错乱 大多是没有锁定数据表区域,下拉填充之后查找区域自动平移,或者使用近似匹配但是首列没有升序排序,vlookup 函数在近似匹配模式下排序错误会直接返回错误的对应值。
vlookup 函数的局限性
vlookup 函数仅支持纵向查找,不能横向查找,横向查找需要使用 HLOOKUP 函数。vlookup 函数只能从左向右取值,想要获取主键左侧列的数据,原生 vlookup 函数无法直接实现,这种场景一般搭配 INDEX 加 MATCH 组合公式,或者使用新版 Excel 的 XLOOKUP 函数替代。如果主键存在多条重复记录,vlookup 函数只会返回第一行匹配到的数据,后面重复条目不会继续识别,需要多条件匹配的时候,还需要借助辅助列拼接主键,改造之后再使用 vlookup 函数查找。
熟练掌握 vlookup 函数的使用方法之后,就可以独立完成两表信息补全 数据校验 编码对照这类办公任务,核心要点就是牢记主键必须放在区域首列,优先选择精确匹配 0,下拉填充前锁定数据表区域,提前统一两边数据格式,规避重复主键和排序问题,就可以稳定使用 vlookup 函数完成批量匹配工作。
【常见问题】
问题 1 vlookup 函数的使用方法里面精确匹配和近似匹配该怎么选择
回答 1 vlookup 函数的使用方法中精确匹配参数填写 0,不需要首列排序,要求查找值和主键完全一致,日常订单 工号 编码匹配优先选用,vlookup 函数的使用方法中近似匹配参数填写 1,要求首列升序排序,会返回小于等于查找值的最大对应项,适合分数区间 档位区间这类判定场景,普通编号匹配不要使用近似匹配。
问题 2 vlookup 函数的使用方法里面下拉填充之后全部报错是什么原因
回答 2 主要原因是 vlookup 函数的使用方法里数据表区域没有设置绝对引用,下拉填充的时候查找区域自动平移,脱离原始数据源,解决方式是选中数据表区域添加美元符号锁定,同时还要核对查找值和源表主键是不是存在格式差异。
问题 3 vlookup 函数的使用方法能不能提取主键左边那一列的数据
回答 3 原生 vlookup 函数的使用方法不能直接实现,vlookup 函数强制要求查找主键必须是选中区域第一列,只能向右取值,如果需要取左侧数据,可以改用 INDEX MATCH 组合,或者使用新版 Excel 的 XLOOKUP 替代 vlookup 函数。
问题 4 vlookup 函数的使用方法返回 N/A 代表公式本身写错了吗
回答 4 不一定,vlookup 函数的使用方法里返回 N/A 代表没有检索到对应的查找值,大概率是源对照表缺少该主键,或者两边内容存在隐藏空格,数字文本格式不统一,清洗源数据之后再重新运行 vlookup 函数查找即可。
【免责申明】
本文内容基于 Microsoft Excel 原生 vlookup 函数的使用方法进行讲解,不同版本 Excel 以及 WPS 表格在函数兼容性上可能存在细微差异,函数运算结果受原始数据格式 重复主键 区域引用方式影响,正式业务使用前请自行校验匹配结果,本文仅作为函数学习参考,不对实际业务数据产生的损失承担责任。


