帮助中心 统计分析 数据导出与分析 Google Sheets VLOOKUP 函数教程

Google Sheets VLOOKUP 函数教程

本教程说明如何在 Google 表格(Google Sheets) 中使用 VLOOKUP 做数据匹配,并介绍 SurveyMars 内置的 VLOOKUP 问卷关联 题型如何实现问卷数据联动


一、认识 VLOOKUP

如果您在电子表格中已有部分已知信息,可以使用 VLOOKUP 按行搜索相关信息。例如:想买一个橙子,可在价格表中用 VLOOKUP 根据「橙子」查其价格。


VLOOKUP(Vertical Lookup,垂直查找)在指定区域第一列中搜索关键字,找到匹配行后返回该行从左数第 N 列的值。适用于按编号、订单号、手机号、工号等匹配名称、价格、状态等字段。


提示:查找键值列必须位于 range最左侧;VLOOKUP 只能从左往右取列,不能从右侧列反查左侧列。


函数语法


=VLOOKUP(查找值, 查找范围, 返回列号, [是否近似匹配])
    =VLOOKUP(search_key, range, index, [is_sorted])

search_key(查找值):要搜索的值,可为单元格引用或具体文本/数字;须位于 range 第一列。

range(查找范围):包含键值列与返回列的数据区域;可使用命名范围,跨表写作 Sheet2!$A$2:$B$100

index(返回列号):range 最左列起算,从 1 开始的正整数。

is_sorted(是否近似匹配,可选):FALSE 完全匹配(推荐);TRUE 近似匹配(使用前须对第一列升序排序)。省略时默认为 TRUE



二、VLOOKUP 函数示例

示例 1:G9 输入水果名称,用下列公式在 B4:D8 中查价格(第 3 列为价格):

=VLOOKUP(G9, B4:D8, 3, FALSE)
    =VLOOKUP("Apple", B4:D8, 3, TRUE)

VLOOKUP例


以下示例整理自 Google 官方帮助。点击标题可展开/收起;各示例可点击「试试看」在表格副本中练习。


VLOOKUP 基本示例

使用 VLOOKUP 查找不同的搜索键值

使用 VLOOKUP 查找「Orange」和「Apple」的价格。

VLOOKUP 不同搜索键值示例

试试看


说明:可使用不同搜索键值(如「Apple」「Orange」)。如需返回非错误值,这些搜索键值必须位于 range (范围)的第一列中。如果您不想为搜索键值填充值,也可以使用单元格引用,例如“G9”。

说明公式与返回值
search_key (搜索键值)为「Orange」=VLOOKUP("Orange", B4:D8, 3, FALSE)
返回值 = $1.01
search_key (搜索键值)为「Apple」=VLOOKUP("Apple", B4:D8, 3, FALSE)
返回值 = $1.50
search_key (搜索键值)使用「Apple」的单元格引用(G9)=VLOOKUP(G9, B4:D8, 3, FALSE)
返回值 = $1.50
使用 VLOOKUP 查找不同列编号

在第二列(数量)中查找「Orange」的数量。

VLOOKUP 不同列编号示例

试试看


说明:假设range (范围)中的列从左到右编号,且从 1 开始。如需查找目标信息,您必须指定其列编号。例如,第 2 列表示数量。

说明公式与返回值
index (编号)为2
找出橙子的数量,也就是 range(范围)的第二列。
=VLOOKUP(G3, B4:D8, 2, FALSE)
返回值 = 5
VLOOKUP 完全匹配或近似匹配

- 完全匹配FALSE):查找确切 ID。
- 近似匹配TRUE):查找最接近的 ID(第一列须升序)。


VLOOKUP 完全匹配与近似匹配示例

试试看


说明:搜索 ID 102 但表中无此值时,近似匹配可能返回 101(小于 102 的最大值)。若第一列未升序,结果可能错误。日常场景建议使用完全匹配

重要提示:使用近似匹配前,须对搜索键值列升序排序

匹配方式公式与返回值
完全匹配=VLOOKUP(G6, A4:D8, 2, FALSE)
返回值 =「Apple」
近似匹配=VLOOKUP(G3, A4:D8, 2, TRUE) 或省略第四参数
返回值 =「Banana」

VLOOKUP 常见应用场景

替换 VLOOKUP 中的错误值

搜索键值不存在时,可用 IFNA()#N/A 替换为自定义文案。

用 IFNA 替换 VLOOKUP 错误值示例

试试看

说明公式与返回值
一开始,VLOOKUP 会返回“#N/A”,因为“Fruit”列中不存在搜索键值“Pencil”。
IFNA() 会将“#N/A”错误替换为函数中指定的第二个输入项。在我们的示例中,其为「NOT FOUND」。
=IFNA(VLOOKUP(G3, B4:D8, 3, FALSE), "NOT FOUND")
返回值 =「NOT FOUND」

提示:替换 #REF! 等其他错误可使用 IFERROR()

在 VLOOKUP 中使用多个条件

VLOOKUP 无法直接多条件查找。可建辅助列,用 & 合并多列作为键值。

VLOOKUP 多条件辅助列示例

试试看

步骤公式与返回值
1. 如果您使用“&”将“First Name”和“Last Name”合并,则可以创建“Helper”列。=C4&D4,并将其从 B4 向下拖动到 B8,即可得到“Helper”列。
2. 将单元格引用 B7 (JohnLee) 用作搜索键值。=VLOOKUP(B7, B4:E8, 4, FALSE)
返回值 =「Support」
在 VLOOKUP 中使用通配符或部分匹配项

? 匹配单字符,* 匹配任意序列。须配合 FALSE(完全匹配)使用。

VLOOKUP 通配符示例

试试看

说明公式与返回值
"St*" 匹配以 St 开头的名称,例如“Steve”“St1”“Stock”或“Steeeeeeve”。=VLOOKUP("St*", B4:D8, 3, FALSE)
返回值 =「Marketing」


三、出错了怎么排查

按下面场景对照即可;多数问题出在「键值列位置、格式、是否完全匹配、范围是否锁死」四件事上。


1. 表里明明有这条数据,为什么还是 #N/A

答:依次检查——①查找值是否在 range最左列;②文本与数字是否一致(如 0011);③首尾是否有多余空格;④数据源里是否真有该值。可用 TRIM 去空格,用 VALUETEXT 统一格式后再查。


2. 公式突然变成 #REF!,是列号写错了吗?

答:通常是 index(返回列号)大于 range 实际列数。从 range 最左列重新数到目标列,修正列号即可。


3. 提示 #VALUE!,公式哪里不对?

答:常见原因:index 小于 1;第四参数不是 TRUE/FALSErange 引用无效。建议 index ≥ 1,第四参数写 FALSE(完全匹配)。


4. 能算出结果,但跟表格里的值对不上?

答:检查是否误用 TRUE(近似匹配)——日常请改用 FALSErange 第一列若有重复键,VLOOKUP 只返回第一条;若多行结果雷同,多半是拖动时 range 没锁死。


5. 往下复制公式后,只有第一行对、下面全错?

答:查找范围要用绝对引用锁定,如 $B$4:$D$100;跨表写作 Sheet2!$A$2:$B$500,避免拖动时区域跟着偏移。


6. 想根据「姓名」查「工号」,VLOOKUP 为什么不行?

答:VLOOKUP 只能从左往右查,键值列必须在 range 最左侧。可把工号列移到左边,或改用 INDEX + MATCHXLOOKUP。若公式报错,确认本地区分隔符是逗号还是分号(部分区域为 ;)。


四、SurveyMars:用 VLOOKUP 问卷关联实现问卷数据联动

若需在问卷作答时根据历史答卷或档案自动带出字段,不必导出到表格再写 VLOOKUP。SurveyMarsVLOOKUP 问卷关联 题型可在平台内完成问卷数据联动:作答者输入匹配关键字后,系统从源问卷查找并自动回填已配置题目。


与 VLOOKUP 的对应关系


VLOOKUP 概念SurveyMars 配置
range(查找范围)源问卷数据
search_key(查找值)作答者填写的匹配项
index(返回列)待自动回填的题目字段


适用场景

- 会员/员工档案已采集,新调研用少量关键字带出基础信息

- 活动报名核对与信息补全

- 多轮调研与历史答卷字段对齐


配置说明

- 可视化配置:编辑端勾选源问卷与回填字段,无需手写公式

- 作答即联动:提交前完成匹配与回填,减少导出二次处理

- 权限可控:数据留在问卷系统内,便于管理访问范围


如何精准配置源问卷、匹配项与回填字段?解锁 SurveyMars VLOOKUP 问卷数据关联方法

查看 VLOOKUP 问卷关联官方帮助


常见问题

问:手机号、工号看起来一模一样,为什么就是匹配不上?


答:多半是「看起来一样、实际不一样」——一列是文本、一列是数字,或首尾有空格、前导零被吃掉。可先用 =TRIM(A1) 对比两格是否真相等;需要统一格式时配合 VALUETEXT。仍报 #N/A 时,再按第三节逐项排查。


问:匹配不到时不想满屏 #N/A,有没有更友好的显示?


答:可用 IFNA 包一层,找不到时显示「未找到」等自定义文案,例如 =IFNA(VLOOKUP(G3, B4:D8, 3, FALSE), "未找到")。第二节「替换 VLOOKUP 中的错误值」有完整示例。


问:价格表在另一个工作表里,公式该怎么写?


答:在 range 前加工作表名,如 =VLOOKUP(G9, 价格表!$A$2:$D$200, 3, FALSE)。工作表名含空格时用单引号:'2024 价格'!$A$2:$D$200。范围建议加 $ 绝对引用,避免复制公式时跑偏。


问:我有两份名单要对齐,VLOOKUP 和 INDEX+MATCH 该用哪个?


答:键值在查找区域最左列、只需往右取列时,VLOOKUP 足够。若要按右侧列(如姓名)反查左侧(如工号),或返回列在键值列左边,请用 INDEX + MATCHXLOOKUP。Google 表格已支持 XLOOKUP,语法更直观。


问:问卷里想让填表人输入手机号就自动带出姓名,还要导出 Excel 写 VLOOKUP 吗?


答:不必。在 SurveyMars 中添加 VLOOKUP 问卷关联 题型,配置源问卷与回填字段即可在作答时完成联动,无需先导出再写公式。配置步骤见第四节,或点击上方绿色按钮查看官方帮助。


这篇文章有多大帮助?