VLOOKUP函数是EXCEL中最常见的函数之一,也是实际工作中的常用函数。本期就和各位小伙伴分享下VLOOKUP函数7种主要的用法。
语法:
VLOOKUP(要查找的值,数据表,列序数,匹配条件)
参数说明:
(1)要查找的值:既可以为单元格,也可以为直接输入的值。
(2)数据表:查找的区域。
(3)列序数:返回数据区域中第几列的值。
(4)匹配条件:分为精确匹配(0或FALSE表示)和模糊匹配(1或TRUE表示),若不输入,则默认为近似匹配。
1.基本用法
A.同表查询匹配。
要查找的值与查找的区域在同一工作表内。
如图:查找三位学生的语文分数。
输入公式:=VLOOKUP(A2,$E$1:$P$11,3,FALSE)
其中,$E$1:$P$11为工作表区域绝对引用,在向下查找匹配时,区域范围不会改变,一直固定在E1:P11区域范围内。
B.跨表查询匹配。
即要查找的值与查找的区域在同一工作簿不同工作表内。
输入公式:= VLOOKUP(A2,表2!$A$1:$L$60,3,FALSE)
C.跨工作簿查询匹配。
操作方式同B种情形。
D.多列查询匹配。
参数列序数可以采用ROW()、COLUMN()函数代替。
输入公式:=VLOOKUP($A2,表2!$A$1:$L$60,COLUMN(C1),FALSE)
其中:$A2表示固定列,不固定行,在往下、往右填充公式的过程中,保持匹配值始终在A列。
2.逆向查询匹配
当需要查找的值不在VLOOKUP函数公式中所选工作表区域的首列时,是匹配不到数据的。此时,采用逆向查询匹配,构造IF{1,0}数组。
输入函数:=VLOOKUP(A2,IF({1,0},表2!$L$1:$L$60,表2!$A$1:$A$60),2,FALSE)
其中:IF{1,0}是构造一个查询值A2在所选区域的首列。即将查询值所在列L1:L60,返回值所在列A1:A60重新构造一个数组,满足查找值在查询区域首列的条件。
3.多条件查询匹配
当工作表中存在非唯一值或同时满足多个条件的查询匹配时,有两种方法可以解决。
如图1班和2班均存在“韩如霜、陶夜白、周灿灿”三位同学时,直接使用VLOOKUP函数,只会返回靠前的值。
方法一:用“&”连接符,构建一个新条件。即查找值和工作表首列均用姓名&班级构建的新条件,然后直接使用VLOOKUP函数。
方法二:构造IF{1,0}数组。输入公式:
=VLOOKUP(A2&B2,IF({1,0},表2!$A$1:$A$60&表2!$B$1:$B$60,表2!$L$1:$L$60),2,FALSE),然后按CTRL+SHIFIT+ENTER组合键输出结果。
4.一对多查询匹配
这种情形出现时,我们要构建辅助列。
步骤1:构造辅助列,输入公式:=(B2=$O$3)+A1,并向下填充。表示当B列出现O3单元格姓名时,数值依次加1。主要是出现重复值时,利用VLOOKUP函数的特性,只匹配返回靠前的数值。
步骤2:输入公式:=VLOOKUP(ROW($A1),A:C,3,FALSE)
向下拉直到出现#N/A时。
5.带通配符的查询匹配
如图,当前只知道一位同学姓王,但不知道具体名称。
输入公式:=VLOOKUP(N2&"*",$A$1:$L$60,1,FALSE)
其中,*表示任意多个字符,公式中代表查询以王开头姓名的同学。
6.模糊查询匹配
VLOOKUP函数中最后一个参数分为精确匹配和模糊匹配,以上各种查询匹配均是精确匹配。模糊匹配条件下,返回值为查询到的精确匹配值或近似匹配值(返回小于查询值的最大值)。
图中区间分段(100除外)均是左闭右开。如果左侧区间为开区间,有个小技巧,可以把左侧开区间端点值设置为XX.000001,小数点后的位数自己根据实际情况判断。
7.动态引用工作表匹配查询
方法一:输入公式=
VLOOKUP(A2,INDIRECT(C2&"!A:k"),11,FALSE)
其中,INDIRECT函数用法见第7期。
C2表示工作表名称,C2&"!A:k":表示1班(C2单元格)A-K列的区域。
方法二:输入公式IFERROR(VLOOKUP(A2,'1班'!$A$1:$K$60,11,FALSE),VLOOKUP(A2,'2班'!$A$1:$K$20,11,FALSE))
其中:IFERROR函数里面嵌套两个VLOOKUP函数。IFERROR(值,错误时返回值)类似于IFERROR(满足一个条件时嵌入的函数,满足另一个条件时嵌入的函数),多个表时可以一直往下嵌套,但较为繁琐。
注意:
(1)VLOOKUP函数要查找的值必需在所选工作表区域的首列;
(2)当使用VLOOKUP函数出现错误时,要观察或试探要查找值与工作表区域首列是否一致,如单元格内有空格,两边单元格内容不完全一致等。
(3)当使用VLOOKUP函数出现错误时,为了不影响表格美观,建议在外嵌套IFERROR函数。