Lookup函数功能大幅改进,新函数竟是它.....
昨天,兰色在看Lookup函数帮助时。一句话让兰色吃惊不小:
可使用 VLOOKUP 搜索一行或一列,或搜索多行和多列(如表)。该函数是 LOOKUP 的大幅度改进版本。
为什么要推出Vlookup函数?
印象中lookup的功能好象比Vlookup要强大很多,帮助里却说后面是前者的大幅改进版本。是不是觉得不可思议?细细琢磨后,兰色似乎明白了这句话的意思。
之所以要改进Lookup函数,因它有一个致命缺陷。查找前需要排序,否则无法成查找。如下图所示:
如果表格按A列升序排列后,查找结果就正常了。
其实还有一个原因,当查找不到时,lookup会返回近似的值。这显然不是想要的结果。
如下图所示,查找赵志东,竟然返回刘克工资。产生这样的结果,和二分法查找原理有关,以后兰色会专门介绍。
只是简单根据姓名查找工资,表还要排序,查找不到还会胡乱匹配。叔可忍婶不可忍,这也许是微软要改进lookup功能,推出Vlookup函数的原因吧。
用Vlookup多简单,不需要排序。
=VLOOKUP(A10,A2:B7,2,0)
Vlookup遗传了lookup函数哪些功能?
即然Vlookup是lookup函数改进版本,那么lookup函数的大部分功能Vlookup都应该继承下来。
其实,省略了第4个参数的Vlookup就几乎是Lookup函数。来看两个实例。
lookup函数可以用0/模式多条件查找,Vlookup也可以,只是需要用if{1,0}把0/后的列和结果列合并成一个数组,另外还需要按Ctrl+shift+enter数组形式输入。(兰色用的office365,可以直接运算)
=VLOOKUP(1,IF({1,0},0/((A2:A8=A12)*(B2:B8=B12)),D2:D8),2)
Lookup可以查找到最后一个符合条件的值,Vlookup函数也可以:
=VLOOKUP(1,IF({1,0},0/((A2:A8=A12)),C2:C8),2)
由上看来Vlookup函数的确是Lookup函数的亲儿子,只是这个亲儿子除了精确查找时不用表格排序,其他好象公式更麻烦了。于是在最新版的Excel中,lookup的孙子出现了,它就是Xlookup。无论是精通查找、反向查找、多条件查找、从下向上查找都变得很简单。
兰色说:有一点想不通,lookup(值,一列或一行,一列或一行)的参数结构多方便 ,为会要推出一个四肢不全的Vlookup(值,区域,列数,查找模式) 。即不能反向查找,也不便多条件查找。如果直接推出xlookup多好。
长按下面二维码图片,点上面”前往图中包含的公众号“然后再点关注,每天可以收到一篇兰色最新写的excel教程。