首页 / 公式 / VLOOKUP 函数
查找与引用 Excel + Google Sheets

VLOOKUP 函数

VLOOKUP 是电子表格历史上最知名、但也最容易踩坑的查找公式。掌握 4 个参数结构、搞懂近似匹配与精确匹配的边界、避开列索引硬编码陷阱,并在锁定迷你表格上直接验证。

VLOOKUP 函数语法与 4 大参数结构

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

VLOOKUP(Vertical Lookup,垂直查找)从左至右扫描表格第一列,找到目标值后返回同列中指定列位置的数据。

1 lookup_value
必填

要寻找的目标值(例如商品编码 E2、客户名称或数值)。该值必须存在于 table_array 的“最左侧第一列”。

2 table_array
必填

包含数据的查找区域(例如 A2:D6)。公式向下或向右填充时,请务必加上 $ 符号锁定(如 $A$2:$D$6)。

3 col_index_num
必填

要取回数据的列索引序号(从 table_array 第一列起算为 1)。例如 A2:C6 中,A 列是 1,C 列是 3。非工作表绝对列号!

4 range_lookup
选填

匹配模式:FALSE 或 0 为精确匹配(绝大多数业务必填);TRUE 或 1(或省略)为近似匹配(阶梯档位查询且需预先升序排序)。

Excel VLOOKUP 示例:按商品编码查找单价

A 列是商品编码,B 列是品名,C 列是单价。E2 放要查的编码:SKU-102。这条 Excel VLOOKUP 示例使用精确匹配。

商品编码品名单价
SKU-101Notebook12
SKU-102Pen set8
SKU-103Binder15
SKU-104Stapler9
=VLOOKUP(E2, A2:C5, 3, FALSE)

VLOOKUP 在 A2:C5 的第一列找到 SKU-102,从同一行的第 3 列返回 8。FALSE(或 0)表示精确匹配。省略第 4 参数时,Excel VLOOKUP 改用近似匹配,未升序的表会悄悄返回错误行。编码不存在、文本型数字,或前后多一个空格,都会返回 #N/A。

VLOOKUP 最常踩的 4 大陷阱

1. 默认是近似匹配(忘记写 FALSE 导致安静出错)

如果不填第 4 参数,VLOOKUP 默认启用 TRUE 近似匹配。在未升序排序的文本数据中,它不仅不报错,还会悄悄返回错误行的数据!强烈建议日常查工号、订单号一律手动填写 FALSE 或 0。

2. 只能从左向右查(不能反向向左)

lookup_value 必须严格位于 table_array 的第一列。如果查找键在 C 列,要取的数据在 A 列,VLOOKUP 完全无能为力。此时必须改用 INDEX+MATCH 或现代 XLOOKUP。

3. 列索引硬编码(插入或删除列直接报错或错位)

col_index_num 是静态数值(如 3)。一旦有人在对照表中间插入新列,原本第 3 列的数据变成第 4 列,VLOOKUP 不会自动更新,直接读取错误数据或引发 #REF!。

4. #N/A 格式不匹配(文本型数字 vs 真实数字)

肉眼看都是 1001,但一个是文本型(左对齐),另一个是数值型(右对齐),VLOOKUP 就会返回 #N/A。文本前后多一个隐藏空格也会落空,可用 TRIM(E2) 或 VALUE(E2) 清洗。

查找三剑客:VLOOKUP vs XLOOKUP vs INDEX+MATCH

VLOOKUP

老牌霸主。历史最久、所有老版本 Excel 兼容性最佳、求职面试必考。缺点是只能向右、插入列易断裂、默认近似匹配。

XLOOKUP

现代推荐。向左向右随心查、原生支持 not_found 兜底值、默认精确匹配、插入列不破坏公式。推荐 Office 365 与 Google Sheets 用户优先使用。

INDEX + MATCH

经典组合。=INDEX(A2:A6, MATCH(E2, C2:C6, 0))。完全不怕列被插入移动、支持双向查找,老版本 Excel 跨版本兼容性无敌。

Excel 与 Google Sheets 平台差异与进阶用法

Microsoft Excel (365 / Desktop)

在 Excel 365 中,可使用数组常量同时返回多列:=VLOOKUP(F2, A2:D6, {2, 3, 4}, FALSE)。老版本 Excel 需锁定 $A$2:$D$6 并在各列分别调整索引序号。

Google Sheets

Google Sheets 原生支持整列展开:=ARRAYFORMULA(VLOOKUP(E2:E, A2:D, 3, FALSE)),免手动下拉即可为数千笔订单即时计算,公式仅需写在首行。

VLOOKUP 入门实战:按商品 SKU 查找单价

在下方锁定迷你表格中输入真实公式验证,获得毫秒级判定反馈,或打开独立全屏页面练习。

打开独立练习题页
题目说明
提示 0/4
官方解法 2
–
测试用例
1
2
3
重置
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在加载交互式电子表格...
正在准备单元格数据与公式求解引擎
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。

更多 VLOOKUP 实战关卡推荐

从精确匹配、阶梯税率近似查找,到多列连携取数与 IFERROR 容错,在真实业务情境中练出肌肉记忆。

常见问题

VLOOKUP 是如何运作的?

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) 在 table_array 的最左侧第一列寻找 lookup_value,并返回同列中第 col_index_num 列的对应数据。

为什么 VLOOKUP 会返回 #N/A 错误?

1) 对照表第一列中不存在该目标值。2) 文本前后包含不可见的多余空格。3) 数据类型不匹配(文本型数字 vs 真实数值)。4) 忘记写第 4 参数 FALSE,在未排序表格中导致近似匹配落空。

VLOOKUP 的 TRUE 与 FALSE 有什么区别?

FALSE(或 0)代表完全匹配(精确匹配);TRUE(或 1,或省略)代表近似匹配,要求对照表第一列必须严格升序排序,适用于阶梯税率、考核等级等区间查找。

Google Sheets 的 VLOOKUP 有何不同?

语法完全兼容。且 Google Sheets 原生支持 =ARRAYFORMULA(VLOOKUP(E2:E, A2:C, 3, FALSE)),可整列自动展开运算,无需手动向下填充公式。

XLOOKUP 与 VLOOKUP 该选哪一个?

现代 Excel(Microsoft 365)与 Google Sheets 强烈建议使用 XLOOKUP:支持向左或向右任意查找、插入列不破坏公式、默认精确匹配。但在兼容老版本文件与求职面试中,VLOOKUP 仍是必考基本功。