excel 中的 vlookup 函数是最经典的纵向查找函数,作用是根据查找关键字,在数据表第一列匹配,然后返回同一行指定列的数据,跨表取数 档案匹配 信息查询都是高频场景,很多新手使用 vlookup 报错,大多是四个参数理解错误,查找区域没有锁定绝对引用,还有匹配类型选错,vlookup 硬性要求查找关键字必须放在选定数据区域的第一列,如果关键字不在首列,就会匹配失败,这个是 vlookup 最大的局限,函数一共四个参数,精确匹配日常使用最多,最后一个参数写 0,近似匹配一般用于区间分级,下面讲解语法,操作步骤,实战案例,常见报错还有拓展优化方案。
函数基础语法
vlookup 查找值 数据表区域 返回列序号 匹配类型
参数说明
第一个参数 查找值,就是用来匹配的关键字,比如姓名 产品编号
第二个参数 数据表区域,也就是完整数据源范围,重点要求,查找关键字必须在这个区域的第一列
第三个参数 返回列序号,代表要返回的数据,在选定区域里面是第几列,不是工作表原本的列号
第四个参数 匹配类型,可选参数,写 0 代表精确匹配,写 1 或者省略代表近似匹配,近似匹配要求首列提前升序排序
基础操作步骤 同表精确匹配
1 准备数据表,A 列是产品编号,B 列产品名称,C 列单价
2 在 E2 单元格输入查找编号,也就是查找值
3 在 F2 单元格输入公式 =VLOOKUP (E2,A2:C20,3,0)
4 公式解释,用 E2 的编号,在 A2:C20 这片区域第一列也就是 A 列匹配,匹配成功之后,返回这个区域里面第 3 列也就是 C 列单价,最后参数 0 是精确匹配
5 按下回车得到结果,鼠标放在单元格右下角,十字填充柄向下拖动,批量完成多行查找
6 重点优化,下拉填充的时候数据源区域会偏移,把区域改成绝对引用,公式修改为 =VLOOKUP (E2,$A$2:$C$20,3,0)
跨工作表 vlookup 用法
如果数据源在另外一张工作表,公式里面区域前面加上工作表名称
示例 =VLOOKUP (E2, 数据源表!$A$2:$C$20,3,0)
含义就是到名叫数据源表的工作表里面查找匹配,跨表查找依旧要记得锁定区域,防止下拉偏移
近似匹配场景
近似匹配最后参数写 1,适用成绩等级 区间定价这类业务,要求首列数值升序排列,找到小于等于查找值的最大匹配项,日常办公绝大多数情况都是精确匹配,优先使用 0
搭配 iferror 优化
vlookup 找不到匹配值的时候,会返回 N/A 错误,报表里面大量 N/A 不好看,可以套 iferror 屏蔽错误
公式 =IFERROR (VLOOKUP (E2,$A$2:$C$20,3,0),"无匹配")
含义 查找失败的时候,单元格显示文字无匹配,正常匹配依旧返回查找结果
vlookup 核心限制说明
vlookup 只能从左往右查找,也就是查找列必须在返回列的左边,如果想要查找列在右边,反向查找,vlookup 原生写法很难实现,这种场景可以改用 index 加 match 组合,新版 excel 还可以使用 xlookup 替代 vlookup,解决 vlookup 的多项缺陷
vlookup 相关要点对比表
| 项目 | vlookup | xlookup |
|---|---|---|
| 查找方向 | 只能纵向,从左向右 | 支持左右双向查找 |
| 列序号 | 需要手动填写第几列 | 直接选定返回列 |
| 版本兼容 | 全部 excel 版本可用 | 仅高版本 excel 支持 |
| 匹配失败 | 默认 #N/A | 可以自定义找不到返回值 |
重要注意事项
1 查找区域首列必须是关键字列,这是硬性规则,不满足就无法匹配
2 第三个参数是相对选定区域的列序号,不是工作表原始列字母,很多新手在这里写错
3 精确匹配一定要写 0,省略参数会默认近似匹配,容易出现错误结果
4 数据源里面存在空格,肉眼看起来一样,但是 vlookup 识别成不同内容,会匹配失败,可以搭配 trim 清理空格
5 数值格式不一致,一边是数字,一边是文本型数字,也会查找失败
【常见问题】
问题 1 excel 中的 vlookup 函数怎么使用,为什么返回 N/A 错误
回答 1 excel 中的 vlookup 函数怎么使用出现 N/A,代表没有找到匹配关键字,常见原因是关键字存在隐藏空格,两边数据格式不一致,或者查找区域第一列没有这个关键字,使用 excel 中的 vlookup 函数的时候,优先检查数据源格式和隐藏空格,也可以搭配 iferror 处理 excel 中的 vlookup 函数的 N/A 报错
问题 2 excel 中的 vlookup 函数怎么使用,下拉之后查找区域偏移怎么办
回答 1 excel 中的 vlookup 函数怎么使用下拉偏移,是数据源区域没有添加绝对引用,使用 excel 中的 vlookup 函数的时候,把数据表区域加上美元符号锁定,excel 中的 vlookup 函数下拉填充,数据源范围就不会跟着单元格移动
问题 3 excel 中的 vlookup 函数怎么使用,第三个参数是什么意思
回答 1 excel 中的 vlookup 函数怎么使用,第三个参数是选定数据表区域里面的相对列序号,不是工作表原本的列号,使用 excel 中的 vlookup 函数的时候,选定区域第一列是第 1 列,向右依次累加,excel 中的 vlookup 函数就是依靠这个参数决定返回哪一列的数据
问题 4 excel 中的 vlookup 函数怎么使用,能不能反向查找右边列的数据
回答 1 excel 中的 vlookup 函数怎么使用,原生 vlookup 只能从左向右查找,查找关键字必须在返回列左侧,想要反向查找不适合继续使用 excel 中的 vlookup 函数,可以改用 index 加 match,或者新版 excel 的 xlookup 实现反向匹配
【免责申明】
本文操作基于微软 excel 常规版本演示,xlookup 仅高版本 excel 支持,本文仅作为函数学习参考,不承担因公式参数错误造成数据匹配失误相关责任。


