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必会技能之一。