vlookup函数有四个参数,vlookup(查找值,查找区域,返回查找区域的第几列,精确/模糊匹配),其中基于查找值和查找区域可以确定在查找区域的第几行,结合第三个参数第几列确定唯一值,第四个参数是匹配方式,有精确匹配和模糊匹配两种,精确匹配是完全相等,模糊匹配不要求相等,符合规则就可。
vlookup函数有两个限制条件,一是查找值要在查找区域的最左列,二是查找区域的最左列要是不重复的。
使用场景一:精确匹配的一般用法
A1:B10是一个班级的成绩信息,A列是学号,B列是成绩,E3单元格是想要查询的学号,可以输入班级的任意一个学号,当输入一个学号后,要在F3单元格返回对应的成绩,这时就可以用vlookup函数,在F3输入:=VLOOKUP(E3,A1:B10,2,FALSE),第一个参数E3是查找值,第二个参数A1:B10是查找区域,第三个参数是返回查找区域的第2列,第四个参数false用的是精确匹配。
使用场景二:模糊匹配的用法
A1:B10是一个班级的成绩信息,A列是学号,B列是成绩,需要在C列返回分数等级,分数等级的划分依据是E1:F5,E列是分数的下限,F列是等级,例如0-60分是D,60-75分是C。B2单元格的分数是99,在E列没有对应值,如果用vlookup精确匹配会返回错误值。
这时大家首先想到的应该是用if函数嵌套,而用vlookup的模糊匹配会更便捷些,在C2输入:=VLOOKUP(B2,$E$1:$F$5,2,TRUE),因为函数要向下填充,所以把查找区域E1:F5进行绝对引用,第四个参数用true模糊匹配,就可以得到正确结果。
使用vlookup模糊匹配的前提条件:将查找区域的最左列升序排列,会返回小于等于查找值的最大值对应的结果,例如B2是99,E列比99小的最大值是85,对应的等级是A,B3是73,比73小的最大值是60,对应的等级是C。
使用场景三:精确匹配和数组结合的用法
A1:C13是一个年段的成绩信息,A列是班级,B列是学号,C列是分数等级,F4是查找的班级,G4是要查找的学号,基于F4和G4,在H4返回对应的分数等级。查找条件有两个,分别是班级和学号,基于多个查找条件可以把条件连接在一起,变成一个条件。
在H4输入:=VLOOKUP(F4&G4,IF({1,0},A1:A13&B1:B13,C1:C13),2,FALSE),按ctrl+shift+enter嵌入公式,第一个参数F4&G4是将两个查找值连接成一个查找值,第二个参数IF({1,0},A1:A13&B1:B13,C1:C13)是个数组函数,目的是将查找区域变成两列,A列和B列合并成一列,第二列C列,第三个参数返回第二列,第四个参数用精确匹配。
如果感觉此篇文章对你有用,给个赞和关注哈~
来源:oschina
链接:https://my.oschina.net/u/4385799/blog/3209319