你所烦恼的LOOKUP函数,原来是这么回事( 三 )


……
依然延伸,搭配FIND函数,就可以成为模糊匹配的查询套路:
=LOOKUP(1,0/FIND(条件区,条件值),结果区域)
依然举个例子:
如下图所示,A列是简称,B列是成绩,需要根据D列的全称查找相应的成绩 。

你所烦恼的LOOKUP函数,原来是这么回事

文章插图
公式如下:
=LOOKUP(1,0/FIND(A$1:A$8,D2),B$1:B$8)
FIND(A$1:A$8,D2)部分,判断A1:A8的值在D2单元格是否存在,如果存在,返回数字序号,如不存在,返回错误值,比如此例返回内存数组:
{#VALUE!;3;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
用0除以该数组,生成一个由0和错误值构成的内存数组……后面的计算步骤还是又回到了原来的轨道 。
放飞你的思维,继续延伸,你就可以得出”并且”关系下的多条件模糊匹配套路:
=LOOKUP(1,0/(FIND(条件区1,条件值1)*FIND(条件区2,条件值2)),结果区域)
换成加法,也就成了或关系多条件模糊匹配套路:
=LOOKUP(1,0/(FIND(条件区1,条件值1)+FIND(条件区2,条件值2)),结果区域)
……
3
结束语
分享了这么多栗子,其实只是LOOKUP在比较规整的单元格区域内的查询用法,而没有涉及到数据结构转换以及字符串处理,也就是说,这一切还只是LOOKUP强大用法的冰山一角……
所以,当INDEX+MATCH说他们比VLOOKUP强大百倍时,作为VLOOKUP的大哥LOOKUP只会冷笑一声,拢一拢衣袖,心想,呵呵,我比你俩的组合强大的又何止百倍……
当然,所谓强大,也并不是实用的意思 。
这就好比大炮固然强大,用来打蚊子那就成了笑话 。INDEX+MATCH固然比VLOOKUP强大,但很多情况下,它并不比VLOOKUP书写简便,LOOKUP固然比INDEX+MATCH强大,但很多情况下,它的计算效率又比较低下
【你所烦恼的LOOKUP函数,原来是这么回事】这三者之间到底有哪些优劣之处?我们下一章再聊 。

推荐阅读