VLOOKUP 函数在指定单元格区域的第一列查找指定的查找值,返回所在行中指定列的值。
VLOOKP 函数以简洁的语法、易懂的原理和强大的查找功能,深得用户的喜爱和肯定。在日常工作中,使用频率极高。
简单地说,VLOOKUP 函数根据给定的一个值,在目标区域的第一列查找并匹配出该值,之后返回该值所在行指定列的数据。
戳我学习>>知识兔精品课《Office2019零基础入门精通全套大师级课程》
函数基础
适用版本
Excel 2003+
说明
VLOOKUP 函数在指定单元格区域的第一列查找指定的查找值,返回所在行中指定列的值。
返回值
匹配的值。
语法
=VLOOKUP(lookup_value, table_array, col_index_num,[range_lookup])=VLOOKUP(查找值, 单元格区域, 列数, [匹配模式])
参数
- Lookup_value 必需。 需在指定单元格区域中查找的值。
- Table_array 必需。 在其中查找数据的数组或单元格区域, 使用对区域或区域名称的引用。
- Col_index_num 必需。 table_array 中将返回的匹配值的列号。
- Range_lookup 可选。 一个逻辑值,指定查找精确匹配值还是近似匹配值。
- 如果为 TRUE 或省略,则返回近似匹配值。 如果找不到精确匹配值,则返回小于 lookup_value 的最大值。
- 如果为 False,则将查找精确匹配值。
要点
- 如果函数找不到 lookup_value,且 range_lookup 为 TRUE,则返回小于 lookup_value 的最大值。
- 如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符(问号 (?) 和星号 (*))。
- 问号匹配任意单个字符;
- 星号匹配任意一串字符。
- 如果要查找实际的问号或星号,请在字符前键入波形符 (~)。
基础实例
例1:使用VLOOKUP函数精确查找
例2:使用VLOOKUP函数模糊查找
可能出现的错误
- #N/A
- 如果未找到匹配的值时;
- #REF!
- 如果参数列号大于数据区域中的列数时;
- #VALUE!
- 如果提供的列号小于1或者不是数字类型;
- 如果提供的[range_lookup]参数不是逻辑值(TRUE或FALSE)。
其他
更多信息及示例请参考知识兔Office精品课。
图解查找原理
假设现在有如下图示数据,员工入职信息。现需要根据员工姓名,查找该员工入职日期。
首先给出查找公式如下:
=VLOOKUP( B17, B3:F12, 4, FALSE)
使用 VLOOKUP 函数查找步骤和原理分解如下。
第一步:首先需要指定需要查找的值,这个例子中是「员工7」,即 B17。
第二步:之后需要输入查找区域,这个例子中是从 B3 到 F12 的区域,即 B3:F12。VLOOKUP 将在这个区域的第一列查找上一步指定的值。
第三步:我们需要的返回值在区域中的第几列,这个例子中是第 4 列。
第四步:最后需要指定匹配模式,在这里我们使用精确匹配,即 FALSE(或0)。
实例
使用相似的步骤,继续写一个VLOOKUP函数,可以查找已知员工入职部门。公式如下:
=VLOOKUP( B17, B3:F12, 3, FALSE)
根据查找区域得知,「入职部门」是区域的第 3 列,所以将返回值列改成 3 即可。
注意事项
1.确保查找值和查找区域第一列数据类型一致。
Excel 认为两种数据类型的数据时不相同的。虽然在表上两个数据「看起来」相同,但是数据类型不一致时,VLOOKUP函数无法匹配。
2.「锁住」查找区域。
很多时候,使用VLOOKUP函数写的公式,会被复制到其他区域。如果查找区域是相对引用方式的话,复制过后,查找区域会发生变化,出现无法匹配的错误。
3.明确指定匹配模式,不建议省略。
VLOOKUP函数第四个参数是可选参数,如果省略不输入,Excel 使用默认值 TRUE,即近似匹配。但是绝大部分情况下,我们需要精确匹配,如果我们省略该参数,很有可能出现意想不到的结果。错误情况也不容易被发现。