VLOOKUP函数使用方法大全总结

Excel VLOOKUP 函数使用方法大全总结

VLOOKUP 是 Excel 中最常用、最强大的查找函数之一,用于在表格的垂直方向(按列)查找指定值,并返回同一行中指定列的值。

基本语法

=VLOOKUP(查找值, 查找区域, 返回第几列, [查找方式])
  • 查找值:要查找的内容(可以是值、单元格引用、文本字符串)。
  • 查找区域:查找的表格范围(必须是矩形区域,第一列必须包含查找值)。
  • 返回第几列:从查找区域的第一列开始计数,返回对应列的值(例如 2 表示第二列)。
  • [查找方式]:可选参数
  • TRUE(或省略):近似匹配(默认),要求查找区域第一列必须升序排序
  • FALSE:精确匹配(推荐大多数场景)。

经典示例(精确匹配)

假设有以下数据表(A1:D6):

ABCD
学号姓名班级成绩
1001张三一班85
1002李四二班92
1003王五一班78
1004赵六三班96
1005孙七二班88

想根据学号查找姓名:

=VLOOKUP(1003, A2:D6, 2, FALSE)

结果:王五

查找成绩:

=VLOOKUP(1004, A2:D6, 4, FALSE)

结果:96

常见使用场景与技巧

  1. 动态查找(结合输入单元格)
    在 E1 输入要查找的学号,在 E2 输入公式:
   =VLOOKUP(E1, A2:D6, 2, FALSE)
  1. 返回多列信息(拖拽公式)
  • E2:=VLOOKUP($E$1, $A$2:$D$6, 2, FALSE) → 姓名
  • F2:=VLOOKUP($E$1, $A$2:$D$6, 3, FALSE) → 班级
  • G2:=VLOOKUP($E$1, $A$2:$D$6, 4, FALSE) → 成绩
    使用 $ 固定区域和查找值,向右拖拽即可。
  1. 查找值是文本时
    如果查找值是文本(如姓名找学号),同样适用:
   =VLOOKUP("李四", A2:D6, 1, FALSE)
  1. 近似匹配(TRUE)应用场景
    用于分段查找(如税率表、成绩等级):
   =VLOOKUP(分数, 分数区间表, 2, TRUE)

注意:第一列必须从小到大排序

  1. 通配符查找(仅在查找方式为 TRUE 时有效)
  • * 代表任意多个字符
  • ? 代表单个字符
    示例:查找所有包含“三”的姓名
   =VLOOKUP("*三*", A2:D6, 2, TRUE)
  1. 跨工作表查找
   =VLOOKUP(A1, Sheet2!A:B, 2, FALSE)
  1. 跨工作簿查找(需打开目标工作簿)
   =VLOOKUP(A1, '[其他文件.xlsx]Sheet1'!$A:$D, 3, FALSE)

常见错误及解决方法

错误原因解决办法
#N/A找不到匹配值检查拼写、大小写、空格;使用 FALSE 精确匹配
#REF!列索引数超出查找区域列数确保列索引 ≤ 区域总列数
#VALUE!列索引不是数字检查第3个参数是否为数字
#NAME?函数名拼写错误检查是否写成 VLOOCKUP 等

高级技巧与组合使用

  1. 处理 #N/A 错误(推荐)
    使用 IFERROR 或 IFNA:
   =IFERROR(VLOOKUP(E1,A2:D6,2,FALSE),"未找到")

或(Excel 2013+):

   =IFNA(VLOOKUP(E1,A2:D6,2,FALSE),"未找到")
  1. 大小写不敏感查找
    VLOOKUP 本身不区分大小写。如需区分,可结合 EXACT 函数复杂处理。
  2. 双条件查找(VLOOKUP 无法直接实现)
    推荐使用:
  • INDEX + MATCH(更灵活)
  • XLOOKUP(Excel 365 / 2021+,推荐替代 VLOOKUP)
  • 辅助列拼接条件(如 =A2&”-“&B2)
  1. 向左查找(VLOOKUP 无法实现)
    VLOOKUP 只能向右返回。解决:
  • 使用 INDEX + MATCH
  • 或调整表格结构将查找列放在最左边
  1. 多表动态查找
    结合 INDIRECT:
   =VLOOKUP(A1, INDIRECT(B1&"!A:D"), 3, FALSE)

B1 中输入工作表名如 “Sheet2”

VLOOKUP 的替代方案(推荐升级)

  • XLOOKUP(Excel 365 / Excel 2021+,最强替代)
  =XLOOKUP(查找值, 查找列, 返回列, "未找到", 0)

支持向左查找、默认精确匹配、返回数组等。

  • INDEX + MATCH
  =INDEX(返回列, MATCH(查找值, 查找列, 0))

更灵活,支持向左查找。

总结口诀

  • 查找值必须在最左列
  • 精确匹配用 FALSE(最常用)。
  • 返回列数从1开始数
  • 出错优先用 IFERROR 包裹。
  • 新版本优先用 XLOOKUP

掌握 VLOOKUP 后,你就能轻松处理 80% 的数据查找需求!如果有具体场景问题,欢迎继续提问。

文章已创建 3707

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部