VLOOKUP 函数怎么用?四参数语法一次讲清

办公软件 · 2026-08-20 · 阅读约 7 分钟

VLOOKUP 是 Excel 里按"列"查值的函数:你给它一个要找的值,它在指定区域的第一列去匹配,再把同一行某一列的结果带回来。核心就一句:VLOOKUP(查找值, 表格区域, 返回第几列, 匹配方式)。比如拿"客户名称"去客户档案表里把"应收余额"自动带出来,不用一行行对。WPS 表格同样支持。

4个参数
0精确匹配
5 个避坑要点

1先给结论:就四个参数

VLOOKUP 的完整语法是:

VLOOKUP(查找值, 表格区域, 返回列序号, 匹配方式)
  • 查找值:你要拿什么去查(比如某个客户名、某个工号)。通常填一个单元格,如 A2
  • 表格区域:去哪个范围里查,必须包含"查找列"和"结果列",如 $D$2:$F$100
  • 返回列序号:结果在区域里的第几列(从左往右数,第一列是 1)。
  • 匹配方式:0(或 FALSE)表示精确匹配,填 1(或 TRUE)表示近似匹配。日常查表几乎都用 0

关于函数入口的说明:VLOOKUP 是 Excel / WPS 表格的内置函数,直接在单元格输入等号 = 后写函数名即可,菜单位置以你软件的实际界面为准(Excel 在"公式 - 查找与引用"里也能插入,WPS 同类)。本文讲清参数含义,具体面板随版本略有差异。

2什么是 VLOOKUP

VLOOKUP 的 V 是 Vertical(纵向),它做的是"在第一列找到查找值,再向右取同一行指定列"的动作。它只往右找,不能往左找(要往左取数得用 INDEX+MATCH 或新版 XLOOKUP)。

  • 只认第一列:它永远在你给的区域的最左列里找"查找值"。
  • 只取同一行:找到匹配行后,按"返回列序号"把那一行对应列的值带回来。
  • 找到第一个就停:如果第一列里有重复值,它只返回最上面那一条。

3为什么要学它

  • 跨表取数:凭证里只有客户名,想带出客户的"信用额度/余额",不用手工抄,一个公式自动带。
  • 避免抄错:几百行手工对,容易串行、漏行;公式一次写对,往下拉即可。
  • 随源更新:档案表里的金额改了,引用处自动跟着变,不用重对一遍。

4四参数怎么填(对照表)

参数 填什么 常犯错误
查找值 要匹配的关键字,通常是一个单元格引用,如 A2 写成固定汉字而非单元格,下拉后不变
表格区域 含查找列+结果列的范围,建议加 $ 锁死,如 $D$2:$F$100 没加 $,下拉后区域跑偏
返回列序号 结果列在区域内的第几列(从左数,首列=1) 数错列,带出隔壁列的值
匹配方式 0(精确)或 1(近似)。查具体值用 0 漏填/填 1,返回"最近"而非"相等"的值

一个完整例子(语义示例,非真实数据):

=VLOOKUP(A2, $D$2:$F$100, 3, 0) ' 拿 A2 的值去 D 列找,找到后在同行的第 3 列(F列)取数,精确匹配

5关键设置:精确匹配、区域锁定与首列

  • 匹配方式填 0 还是 1:查"某个具体名字/编号对应的数"一律用 0(精确)。1 是近似匹配,要求区域首列升序,常用于"区间分级"(如按分数段给等级),用错会出怪结果。
  • 区域一定要加 $:写成 $D$2:$F$100 这种绝对引用,否则公式向下拉时查找区域会跟着下移,越拉越偏。这是 VLOOKUP 报错最频繁的原因。
  • 查找值必须在区域首列:VLOOKUP 只认你给的区域的最左边一列。想用"客户名"查,客户名这列就得是区域的第一列;否则要去调整区域顺序,或换 INDEX+MATCH。
  • 列序号从 1 数:区域的第 1 列是 1,不是 A 列的绝对列号。区域如果从 D 列开始,D 列就是 1、E 列是 2、F 列是 3。
  • 两边格式要一致:查找值是文本、区域里是数字(或反过来),会"看着一样却查不到"。确保两边都是文本或都是数值。

别把"匹配方式"漏成空或填 1。很多人第四个参数不写,Excel 默认当成 1(近似匹配),于是查"客户A"可能给你返回"客户Z"那一行——因为近似匹配会找"不大于查找值的最大值"。查具体条目时,第四个参数一定写 0FALSE

65 个最容易翻车的坑

  • 坑 1 · 返回列序号数错:想要 F 列的值,却填了 2,结果带出 E 列。→ 列序号按"区域从左数",先数清楚再填。
  • 坑 2 · 区域没加 $ 锁死:下拉后查找区域从 D2:F100 变成 D3:F101,下半截全错。→ 区域用 $D$2:$F$100 绝对引用。
  • 坑 3 · 精确匹配写成 TRUE/1:查具体编号却得到"接近"的行。→ 查具体值一律 0
  • 坑 4 · 查找列不在区域最左:想用 B 列查、结果在 D 列,但区域从 C 列起,B 不在首列,直接报错。→ 把查找列放进区域第一列,或改用 INDEX+MATCH/XLOOKUP。
  • 坑 5 · 重复值只返回第一个:首列有两个"客户A",公式永远只带最上面那个,下面的被忽略。→ VLOOKUP 不支持"一对多",要汇总同类得用 SUMIF/数据透视。

7常见问题

为什么 VLOOKUP 返回 #N/A?
最常见两种:① 查找值在区域首列里确实没有(拼写/空格/格式不一致);② 匹配方式用了 1 但区域首列没升序。先确认两边有没有多余空格、是不是一文本一数值,再把第四个参数改成 0。也可用 IFERROR 包一层,查不到时显示空或"无"。
能不能往左查?比如结果列在查找列左边。
VLOOKUP 只能向右取数。结果列在左边时,要么调整区域让查找列在最左,要么用 INDEX+MATCH 组合,或用新版 Excel/WPS 的 XLOOKUP(支持任意方向)。老版本没有 XLOOKUP 就用 INDEX+MATCH。
第四个参数 0 和 FALSE 有什么区别?
没有区别,都是"精确匹配"。0 是数字写法,FALSE 是逻辑值写法,效果一样,挑顺手的用。同理 1TRUE 都表示近似匹配。
公式往下拉,区域怎么越拉越偏?
因为你没锁区域。把区域写成绝对引用 $D$2:$F$100(输入后按 F4 可快速加 $),再下拉,查找范围就固定不变了。查找值 A2 保持相对引用即可,这样每行查各自的 A 列值。
WPS 表格里 VLOOKUP 能用吗?
能,WPS 表格完整支持 VLOOKUP,语法、参数、坑点都和 Excel 一致。上面所有写法在 WPS 里同样适用。

相关文章

Excel 函数练不熟?河池本地办公培训带你上手

河池点金除金蝶财税软件外,也提供电脑办公实战培训:从 VLOOKUP 跨表查值、SUMIF/SUMIFS 条件求和、数据透视,到金蝶报表引出 Excel 后的整理核对。别让"一行行对账""公式满屏 #N/A"拖累财务效率,把函数练熟,日常取数事半功倍。

咨询办公培训