Lookup非学不可的技巧案例
提到Excel中查找匹配,大家肯定第一反应就是Vlookup函数吧,嗯,没错。但今天的主角可不是它。今天的主角功能可比它强大多了。我们先卖个关子,前两篇文章中提到了Vlookup的局限性吧:
其一,该函数匹配的项必须要是在查找范围的第一列才行,这个相信用的多的都有经验。如果要查询结果的列在匹配列的前面,必须要人工另外复制出一列查询结果在匹配列后面。
其二,遇到多条件匹配的话,还需要手工将匹配表和源数据表两个表中的相应多条件合并起来再做匹配。一是操作麻烦,二是改变了原有数据布局,要恢复原有布局就得把公式取消,粘贴为数值再恢复原有布局。
其三,VLOOKUP函数所匹配的条件类别单一化,要么完全等于,而不能是大于、小于或者不等于,要么就是模糊匹配用于数字区间的匹配。比如下图:
其实这点在上一篇文章挖掘Vlookup函数那些不为大众所知的事之二中已经有讲到过,Vlookup函数在某种情况下还是可以代替IF函数判断的。
不过这些仍然不够,我们需要的是更强大的函数。为什么?省时省力又准确,何乐而不为呢?
那么接下来,今天的主角Lookup函数,闪亮登场!没错,少了一个字母V而已,不过功能可是更强大。
Emmmm,我觉得如果我在这里直接讲Lookup函数的原理的话,大多数人看不下去。不如直接上案例?原理我们留到下期再讲?
01
案例一:匹配列在查询结果列的后面
公式:=LOOKUP(1,0/($B$1:$B$7=E2),$A$1:$A$7)
这里如果我们不用Lookup函数呢?有两种解决方法:
一,手工将A列B列替换位置,或是将A列复制到C列,让数字在姓名的前面一列,再用Vlookup函数去匹配;
二,利用我们上期挖掘Vlookup函数那些不为大众所知的事之一中第二点、局限性讲到过的INDEX与MATCH函数组合使用,
公式为:=INDEX($E$2:$F$21,MATCH(A2,$F$2:$F$21,0),1)
那么问题来了,你是更愿意用INDEX与MATCH组合函数呢,还是更愿意用Lookup函数一个解决呢?大声的回答我,你的选择是?
当然是Lookup函数啦。来,我们再用一遍这个公式:
=LOOKUP(1,0/($B$1:$B$7=E2),$A$1:$A$7)
02
案例二:多条件匹配
当需要根据两个条件甚至以上来进行匹配时,我们就可以使用LOOKUP函数来实现,如下图所示。
公式为:=LOOKUP(1,0/((数据源!$A$2:$A$1235=LOOKUP多条件匹配!A2)*(数据源!$B$2:$B$1235=LOOKUP多条件匹配!B2)),数据源!$C$2:$C$1235)
有点懵,我们来抽象化一下:
=LOOKUP(1,0/((范围A=匹配条件A)*(范围B=匹配条件B)),查询结果范围C)
再来个图示:
嗯,清楚多了吧。
03
案例三:查找所选范围内最后一个非空单元格
如下图情景所示,公式为:=LOOKUP(1,0/(B2:B23<>""),$A$2:$A$23)
再来个图示:
其实还是一样的模子,换汤不换药,把条件等于某个值给改成了不等于某个值,不过Excel公式里可没有不等于符号,是用【<>】来代替的,就是说要么小于要么大于,就是不等于了。
从这里也看得出来,Lookup函数的条件是比Vlookup函数丰富得多的,Vlookup函数里就不会出现不等于的条件。
04
案例四:返回所选范围内最后一个数字或文本
如下图所示,
若查询范围内最后一个数字,公式为:=LOOKUP(9^9,$A$1:$A$14)
若查询范围内最后一个文本,则公式为:=LOOKUP("座",$A$1:$A$14)
简单吧,就俩参数,数字就查找9^9,9的9次方,用它代表一个很大的数,由于LOOKUP函数用的二分法查找,默认上面是小数字,下面是大数字,查找不到9^9,就会一直往下查找“更大的数”,就找到了最后一个数字了。
查找文本类似于查找数字,一般利用“座”这个字来作为一个参数去查找,用“座”来代表文本中最靠后的文本。
05
案例五:模糊匹配得出数字区间对应数据
如图所示可以得出相应成绩对应的等级,公式为:=LOOKUP(C3,$G$4:$H$7)
这个类似于Vlookup函数中的利用模糊匹配来确定区间范围。不过参数似乎只有两个?没错,还真就是两个,这不是比Vlookup又简单很多吗?发现新大陆一般哇!
好啦,暂时就这五个技巧案例啦。相信也够一段时间去实践学习了,由于篇幅原因这篇就暂时只讲出案例的应用,先套用熟悉公式吧。理论原理讲起来牵涉到的比较多,我们留着下一篇单独讲讲Lookup函数的查找原理。更多内容欢迎点击我的专题小陌教你Excel查看。
哦对了,相信细心的同学们已经从本篇案例二我的截图中发现了,我这边自己“产出”了一份关于最近这三篇Vlookup和Lookup函数应用的练习题,来加深同学们对于LOOKUP函数的熟悉。有需要的同学们可以通过百度云自取,也可以下方评论留言或私信我,我可以直接发送邮箱或其他方式提供源文件。
密码: dthy
谢谢支持!