Vlookup函数
公式解析
官方说明:VLOOKUP函数用于搜索指定区域内首列满足条件的元素,确定待检测单元格在区域中的行序号,再进一步返回选定单元格的值。
语法
VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])
VLOOKUP(要查找的值,查找区域,要返回的结果在查找区域的第几列,精确匹配或近似匹配)
参数说明:
3)难度级别:★★☆☆☆
4.基础用法举例
题目一:精确查找,根据姓名查找对应的业绩
公式写法:=VLOOKUP(G:G,D:E,2,FALSE)

题目二:模糊查找,根据成绩,匹配人员星级。
公式写法:=VLOOKUP(C:C,$F$3:$G$7,2,TRUE)

说明 :对于数值查询,从,$F$3:$G$7第一个格子开始,向下查找,只要出现一个比当前要查找的值大的数,那么前一个数就是结果,如果一直没出现,则将最后一行作为结果。
比如上述的列子,50查找的时候往下找,比50大的就是60,那前边的值就是0,对应的就是等级D了。
PS:大家注意上边两个公式的写法,题目一中是用的列引用,这样的好处是,公式进行拖拽时,不用担心参数的问题;题目二中,目标题采用了列引用的试,查找区域则采用的是区域绝引用的方式。具体哪一个更好,大家根据工作需求,只要能解决问题就OK了。
5.扩展用法举例
题目三:根据右边的值查找右边的值,

一眼看上去,感觉用vlookup能实现,其实得不到我们想要的结果。那如何解决呢,有两种解决方案:
①vlookup结合if{1,0}来解决
公式写法:=VLOOKUP(G:G,IF({1,0},$D$4:$D$9,$B$4:$B$9),2,FALSE)

如果if{1,0}的用法不明白的话,可以去看我上面一篇文章,里面有详细的介绍。
②使用lookup来实现
公式写法:=LOOKUP(1,0/(G5=$D$5:$D$9),$B$5:$B$9)

公式解析:
1)如果A=B,会返回结果TRUE,TRUE在运算中相当于数字1。
2)如果A<>B,会返回结果FALSE,FALSE在运算中相当于数字0。
3)0/($G$5=$D$5:$D$9)的结果我们可以归纳为:0,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0 !。如下图:
4)LOOKUP函数:特征1:查找时可以忽略错误值且,这样一组数值忽略后只剩下一个值0。
5)LOOKUP函数特征2:当查找的值不存在时,按照小于此值的最大值进行匹配。故设置查找值为1,从而实现查询的目的。
备注:
“0/”的目的就是把符合条件的值变为0,不符合条件的变为错误,利用LOOKUP函数的特征查找到符合条件的值。

上面的例子中,目标值为1,在数组【0,#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0 !】中未收到,小于1的最大值就是0,那0对应的值就可以找到,从而实现根据右侧的值精确匹配左侧的数值。
题目三:通配符查找
公式写法:=VLOOKUP("*"&E4&"*",C:C,1,FALSE)

通配符说明:?代表零个或一个字符,*代表零个或多个字符。
那vlookup和lookup有什么区别呢?:
第一,在多条件查找方面,就能看出lookup函数好用。用vlookup多条件查找,最简单的方法就是借用辅助列。
第二, VLOOKUP函数对于反向查找是需要嵌套其余函数才能实现,而LOOKUP函数没有正反之分,因此在这方面LOOKUP函数会更加容易实现。
第三, vlookup在查找字符方面,可以使用*号类通配符。LOOKUP是不支持通配符的,但可以使用FIND (查找字符,数据源区域)的形式代替。
在最新版的wps和office365中支持最新的查找函数,xlookup,这个函数更强大,因为我的office是2019,不支持此函数,就不做过多说明了。如果你想了解或使用这个函数,请参考官方使用文档。
6.总结
常见问题