VLOOKUP 函数
全部显示全部隐藏
本文介绍 Microsoft Excel 中 VLOOKUP 函数 (函数:函数是预先编写的公式,可以对一个或多个值执行运算,并返回一个或多个值。函数可以简化和缩短工作表中的公式,尤其在用公式执行很长或复杂的计算时。)的公式语法和用法。
说明
您可以使用 VLOOKUP 函数搜索某个单元格区域 (区域:工作表上的两个或多个单元格。区域中的单元格可以相邻或不相邻。)的第一列,然后返回该区域相同行上任何单元格中的值。例如,假设区域 A2:C10 中包含雇员列表,雇员的 ID 号存储在该区域的第一列,如下图所示。
如果知道雇员的 ID 号,则可以使用 VLOOKUP 函数返回该雇员所在的部门或其姓名。若要获取 38 号雇员的姓名,可以使用公式 =VLOOKUP(38, A2:C10, 3, FALSE)。此公式将搜索区域 A2:C10 的第一列中的值 38,然后返回该区域同一行中第三列包含的值作为查询值(“黄雅玲”)。
VLOOKUP 中的 V 表示垂直方向。当比较值位于所需查找的数据的左边一列时,可以使用 VLOOKUP 而不是 HLOOKUP。
语法
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])VLOOKUP 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
lookup_value 必需。要在表格或区域的第一列中搜索的值。lookup_value 参数可以是值或引用。如果为 lookup_value 参数提供的值小于 table_array 参数第一列中的最小值,则 VLOOKUP 将返回错误值 #N/A。
table_array 必需。包含数据的单元格区域。可以使用对区域(例如,A2:D8)或区域名称的引用。table_array 第一列中的值是由 lookup_value 搜索的值。这些值可以是文本、数字或逻辑值。文本不区分大小写。
col_index_num 必需。table_array 参数中必须返回的匹配值的列号。col_index_num 参数为 1 时,返回 table_array 第一列中的值;col_index_num 为 2 时,返回 table_array 第二列中的值,依此类推。
如果 col_index_num 参数:
小于 1,则 VLOOKUP 返回错误值 #VALUE!。
大于 table_array 的列数,则 VLOOKUP 返回错误值 #REF!。
range_lookup 可选。一个逻辑值,指定希望 VLOOKUP 查找精确匹配值还是近似匹配值:
如果 range_lookup 为 TRUE 或被省略,则返回精确匹配值或近似匹配值。如果找不到精确匹配值,则返回小于 lookup_value 的最大值。
要点 如果 range_lookup 为 TRUE 或被省略,则必须按升序排列 table_array 第一列中的值;否则,VLOOKUP 可能无法返回正确的值。
有关详细信息,请参阅对区域或表中的数据进行排序。
如果 range_lookup 为 FALSE,则不需要对 table_array 第一列中的值进行排序。
如果 range_lookup 参数为 FALSE,VLOOKUP 将只查找精确匹配值。如果 table_array 的第一列中有两个或更多值与 lookup_value 匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值 #N/A。
说明
在 table_array 的第一列中搜索文本值时,请确保 table_array 第一列中的数据不包含前导空格、尾部空格、非打印字符或者未使用不一致的直引号(' 或 ")与弯引号(‘或“)。否则,VLOOKUP 可能返回不正确或意外的值。
有关详细信息,请参阅 CLEAN 函数和 TRIM 函数。
在搜索数字或日期值时,请确保 table_array 第一列中的数据未存储为文本值。否则,VLOOKUP 可能返回不正确或意外的值。
如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符(问号 (?) 和星号 (*))。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在字符前键入波形符 (~)。