VLOOKUP函数用于在指定搜索区域中查找某个特定值,并返回同一行某个指定列的值。这个函数在Excel中使用频率很高,适合在海量数据中批量查找,掌握它可大大提高批量数据处理的工作效率。

一、函数格式

VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)

分别解释4个参数:

lookup_value:指定要查找的特定值;

table_array:指定搜索区域;

col_index_num:指定返回值所在的列;

range_lookup:精确匹配或近似匹配。

二、举例说明

本例的动图如下:

如图所示,表格中列出了三国时期武将的属性值,现在我想知道诸葛亮的武力值。在I2单元格中输入函数:

=VLOOKUP(H2,B:D,3,FALSE)

具体解释各参数的含义:

“H2”:以H2单元格的值作为要查找的值;

“B:D”:通过姓名查武力,故指定搜索区域为B到D共3列;

“3”:搜索区域共3列,依次为姓名、统帅、武力,故返回值(武力)是第3列;

“FALSE”:表示精确匹配,没啥解释的。

使用VLOOKUP函数的内部执行过程是:

1、在搜索区域的姓名列中查找给定值(诸葛亮);

2、找到后定位到诸葛亮所在的行;

3、返回此行中指定列(武力)的值。

大家可以把诸葛亮替换为其他武将,测试是否能够显示相应武将的武力值。

三、两点注意

1、在上个例子中如果我想查找武力值100的武将姓名,怎么办?VLOOKUP函数约定:在表格的搜索区域中待查找值(武力)必须出现在返回值(姓名)的左边,那么可以重新构造表格,将武力列插入到姓名列的前面,大家自己可以试一试。

2、VLOOKUP函数会忽略重复值,而且不会返回多个结果。它从搜索区域的第一行开始查找,一旦找到满足条件的行就停止,不再继续往下查找。

四、再次举例

假设某家保险公司某项保险业务在2020年和2021年分别有20人和22人投保,现在我想知道:相对2020年来讲,2021年新投保和未投保的客户名单。

本例的动图如下:

两张表分别记录2020年和2021年的客户名单,针对2021年的每个客户姓名,在2020年的客户表中搜索,如果不能找到则为新投保客户。在E2单元格中输入公式:

=VLOOKUP(B2,'2020年'!B:B,1,FALSE),这里不再具体解释各参数的含义,但请大家注意第二个参数引用了另一张工作表的数据。至于2021年未投保客户名单是类似的处理过程,留给大家自己练习。

五、总结

VLOOKUP函数简单易学,在对海量数据进行批量查找时灵活运用能够达到事半功倍的效果,可以说是Excel必会技能之一。