在 Excel 的查找和引用函数家族中,VLOOKUP 函数无疑是最常用且功能强大的工具之一。它能够在表格数组的首列查找特定值,并返回同一行中其他列的对应值,广泛应用于数据整理、数据分析、报表制作等诸多领域。

一、函数功能

VLOOKUP 函数的核心任务是在表格数组的首列执行查找操作,并获取当前行中其他列的值。这里的 “V” 代表垂直方向,意味着当需要查找的数据位于待返回数据左侧的一列时,该函数是理想选择,与水平方向查找的 HLOOKUP 函数形成互补。例如,在员工信息表中,若已知员工编号,可通过 VLOOKUP 函数快速获取该员工的姓名、部门、薪资等其他相关信息。

二、语法结构

VLOOKUP 函数的语法为:VLOOKUP (lookup_value, table_array, col_index_num, range_lookup) 。从语法上看,它由四个参数构成,每个参数都对函数的查找和返回结果起着关键作用。

三、参数说明

  1. Lookup_value:这是需要在表格数组第一列中查找的数值,它可以是具体的数值、单元格引用等。例如,在学生成绩表中查找某个学生的学号,学号就是 lookup_value。如果 lookup_value 小于表格数组第一列中的最小值,VLOOKUP 函数将返回错误值 #N/A ,表示未找到匹配值。
  2. Table_array:代表包含数据的两列或多列区域,可以使用对区域的直接引用,如 A1:C10,也可以使用区域名称。该区域的第一列中的值是 lookup_value 搜索的对象,这些值可以是文本、数字或逻辑值,且文本不区分大小写。例如,在产品信息表中,A 列是产品编号,B 列是产品名称,C 列是产品价格,A1:C10 就是一个 table_array 。
  3. Col_index_num:用于指定在 table_array 中待返回的匹配值所在的列序号。当 col_index_num 为 1 时,返回 table_array 第一列中的数值;为 2 时,返回第二列中的数值,依此类推。不过,如果 col_index_num 小于 1,函数将返回错误值 #VALUE!;若大于 table_array 的列数,函数会返回错误值 #REF! 。例如,在上述产品信息表中,如果要返回产品价格,而价格在第三列,那么 col_index_num 就应设为 3。
  4. Range_lookup:这是一个逻辑值,用于确定 VLOOKUP 查找的匹配方式:
    • 当为 TRUE 或省略时,函数会返回精确匹配值或近似匹配值。若找不到精确匹配值,就返回小于 lookup_value 的最大数值。但要注意,此时 table_array 第一列中的值必须以升序排序,否则可能无法返回正确结果。例如,在库存表中,库存数量按升序排列,查找某一数量时,若没有精确匹配,可得到小于该数量的最大库存值。
    • 当为 FALSE 时,VLOOKUP 只寻找精确匹配值。在此情况下,table_array 第一列的值无需排序。若第一列中有两个或多个值与 lookup_value 匹配,使用第一个找到的值。若找不到精确匹配值,则返回错误值 #N/A 。例如,在员工 ID 表中,查找特定员工 ID,必须精确匹配,否则返回错误提示。

四、注解要点

  1. 文本数据处理:在 table_array 第一列中搜索文本值时,要特别留意数据中是否存在前导空格、尾部空格、引号不一致或非打印字符等问题。这些看似微小的差异可能导致 VLOOKUP 函数返回不正确或意外的值。例如,“苹果”(尾部有空格)与 “苹果” 在函数查找时可能被视为不同的值。可使用 CLEAN 函数清除非打印字符,TRIM 函数去除前导和尾部空格。
  2. 数字和日期数据类型:当搜索数字或日期值时,务必确保 table_array 第一列中的数据未存储为文本值。文本格式的数字或日期可能会使 VLOOKUP 函数返回错误结果。例如,将数字 123 存储为文本 “123”,在查找时可能出现匹配错误。可通过将保存为文本的数字转换为数字值的方法来解决此问题。
  3. 通配符使用:如果 range_lookup 为 FALSE 且 lookup_value 为文本,那么在 lookup_value 中可以使用通配符问号 (?) 和星号 () 。问号匹配任意单个字符,星号匹配任意字符序列。若要查找实际的问号或星号,需在该字符前键入波形符 (~) 。例如,在查找产品名称时,使用 “电器” 可查找所有以 “电” 开头、以 “器” 结尾的产品名称。

五、示例详解

例 1:在大气特征表中,通过 VLOOKUP 函数搜索 “密度” 列,以获取 “粘度” 和 “温度” 列中对应的值(以海平面 0 摄氏度或 1 个大气压下对空气的测定为例)。假设 “密度” 数据在 A 列,“粘度” 在 B 列,“温度” 在 C 列,表格范围是 A1:C100 。若要查找密度为特定值(如 1.225)对应的粘度和温度,在其他单元格输入公式 “=VLOOKUP (1.225, A1:C100, 2, FALSE)” 可获取粘度值(col_index_num 为 2 表示返回第二列 “粘度” 的值);输入 “=VLOOKUP (1.225, A1:C100, 3, FALSE)” 可获取温度值(col_index_num 为 3 表示返回第三列 “温度” 的值)。

Excel中VLOOKUP函数用法及实例解读:数据查找与引用的核心利器-趣帮office教程网

例 2

在婴幼儿用品表中,搜索 “货品 ID” 列,并在 “成本” 和 “涨幅” 列中查找与之匹配的值,以计算价格并测试条件。假设 “货品 ID” 在 A 列,“成本” 在 B 列,“涨幅” 在 C 列,表格范围是 A1:C100 。若要计算货品 ID 为 “001” 的产品价格(价格 = 成本 (1 + 涨幅)),可在其他单元格输入公式 “=VLOOKUP ("001", A1:C100, 2, FALSE)(1 + VLOOKUP ("001", A1:C100, 3, FALSE))”。这里通过两次使用 VLOOKUP 函数,分别获取成本和涨幅,进而计算出价格。

Excel中VLOOKUP函数用法及实例解读:数据查找与引用的核心利器-趣帮office教程网

同样在婴幼儿用品表中,计算货品成本涨幅。例如,要计算货品 ID 为 “002” 的成本涨幅,可输入公式 “=VLOOKUP ("002", A1:C100, 3, FALSE)”,直接获取该货品 ID 对应的涨幅值。

Excel中VLOOKUP函数用法及实例解读:数据查找与引用的核心利器-趣帮office教程网

例 3

在员工表中,搜索 ID 列并查找其他列中的匹配值,以计算年龄并测试错误条件。假设 ID 列在 A 列,出生日期列在 B 列,表格范围是 A1:B100 。若要计算 ID 为 10 的员工年龄(假设当前年份为 2024),可在其他单元格输入公式 “=2024 - YEAR (VLOOKUP (10, A1:B100, 2, FALSE))”。这里通过 VLOOKUP 函数获取 ID 为 10 的员工出生日期,再用 YEAR 函数提取年份,计算出年龄。

Excel中VLOOKUP函数用法及实例解读:数据查找与引用的核心利器-趣帮office教程网

查找 ID 号为 15 的员工,如果有则显示该员工的姓名;否则,显示消息 “未发现员工”。假设 ID 列在 A 列,姓名列在 C 列,表格范围是 A1:C100 。可在其他单元格输入公式 “=IF (ISNA (VLOOKUP (15, A1:C100, 3, FALSE)), "未发现员工", VLOOKUP (15, A1:C100, 3, FALSE))”。这里利用 ISNA 函数判断 VLOOKUP 函数是否返回错误值 #NA ,若返回错误值则显示 “未发现员工”,否则显示该员工的姓名。

Excel中VLOOKUP函数用法及实例解读:数据查找与引用的核心利器-趣帮office教程网

通过对 VLOOKUP 函数的功能、语法、参数、注解以及示例的详细解析,我们能够全面掌握这一函数在 Excel 中的应用,使其成为我们在数据处理和分析过程中的得力助手,快速准确地从大量数据中提取所需信息。无论是简单的数据匹配,还是复杂的数据分析和计算,VLOOKUP 函数都能发挥其强大的作用。