泡泡:LOOKUP函数跟VLOOKUP长得很像,一看就是兄弟吧!
萌二:对的,还有个HLOOKUP跟他俩也是一家子,都是查找能手。
泡泡:那怎么区分他们仨呢?
萌二:他们各自擅长的领域有所区别:VLOOKUP擅长竖向查找,HLOOKUP习惯横向查找;LOOKUP就厉害了,业界称他为“查找函数之王”,坐着站着躺着想怎么查就怎么查v( ̄︶ ̄)y
泡泡:这么厉害?!怎么我以前都只听到妹子们热烈讨论阿VLOOKUP,都没怎么八卦阿LOOKUP呀?
萌二:这也正常。VLOOKUP有一技之长就扬名海内外了,毕竟在各类数据处理分析中最常用到的就是一对一精确查找匹配,在这方面VLOOKUP易用且用时少优势比较明显。
泡泡:那今天你跟我讲讲LOOKUP吧,什么场合可以召唤大神?
萌二:好啊。我一个一个例子道来,你要是情绪还没酝酿好,就先收藏好,需要的时候再拿出来慢慢看啦。
1一对一精确查找
一对一精确查找是VLOOKUP的强项,不过LOOKUP同样能做到。LOOKUP一般有两种写法,在不同的情景使用优缺点不同。
例1:
总结:
①一对一精确查找最优方法是VLOOKUP,写法
=VLOOKUP(查找目标,查找范围,返回值的列数,0)
②可用LOOKUP,写法
=LOOKUP(1,0/(条件列=条件),满足条件的结果列)
③此例不建议使用LOOKUP基础查找写法,较多要求限制容易出错。
2对应范围查找(模糊查找)
LOOKUP基础查找要求查找范围要先按查找列升序排列好,这在精确匹配中稍显麻烦,但在模糊匹配中大有用处。
例2:
例2要求按业绩划分标准,根据各人员实际业绩所在范围找到对应等级。
求解步骤:
①先把业绩划分标准$E$2:$F$6按E列升序排序;
②C2输入公式=LOOKUP(B2,$E$2:$E$6,$F$2:$F$6),下拉到C11,搞定。
另外,例1提到“查询的条件可以高于查询条件列的最大值,但是不能低于查询条件列的最小值”,何解?
你试试在例2中输入1600(大于查询条件列的最大值1200),可以得到结果“顶尖”;若输入-100(低于查询条件列的最小值0),则会报错#N/A
3反向查找
VLOOKUP要求查找目标必须在查找区域的第一列,LOOKUP则无此限制。
如例3,若让VLOOKUP根据姓名查找业绩那很简单,但反过来根据业绩查找对应姓名,就需要迂回一下。
例3:
公式说明:
①公式1=VLOOKUP(D2,IF({1,0},$B$1:$B$5,$A$1:$A$5),2,0)
VLOOKUP借用IF函数重建数组(相当于对调A、B列),运算量较大。
②公式2=LOOKUP(1,0/($B$1:$B$5=D2),$A$1:$A$5),例3用LOOKUP较优。
4多条件查找
多条件查找类似反向查找,若不借用辅助列,VLOOKUP仍需借用IF函数重建数组。
例4中VLOOKUP公式须按CTRL+SHIFT+ENTER三键结束,不能手动输入花括号{}。LOOKUP按常规写法就可以,你随意。
例4:
公式说明:
①公式1=VLOOKUP(E2&F2,IF({1,0},$A$1:$A$11&$B$1:$B$11,$C$1:$C$11),2,0),按CTRL+SHIFT+ENTER三键结束;
②公式2=LOOKUP(1,0/(($A$1:$A$11=E2)*($B$1:$B$11=F2)),$C$1:$C$11),也可以把中间的*号换成/,即
=LOOKUP(1,0/(($A$1:$A$11=E2)/($B$1:$B$11=F2)),$C$1:$C$11)。
③若有更多条件,依此类推,=LOOKUP(1,0/(条件一)*(条件二)*(条件三),C:C)。
④LOOKUP的条件不限于等号=,求大于小于都可以,如例5。
例5:
5二分法求最值
有点强迫症的人,可能会恨我在这里打出了“二分法”仨字——因为这3只字我也还在理解中...囧
但解决实际问题,你不知道什么叫“二分法”也没关系,只要记住“查找满足条件的最后一个记录”可以用以下通用格式写公式就好啦,能帮你解决大问题。
LOOKUP(1,0/(条件),查找数组或区域)
或
LOOKUP(2,1/(条件),查找数组或区域)
例6:
二分法求最值还有很多其他应用,比如例7对合并单元格的引用。而对有合并单元格的数据条件求和,则可以用SUMPRODUCT嵌套LOOKUP写公式解决。
例7:
好啦,今天先分享这么多哦。如果你有补充或有具体问题需解决,欢迎留言或后台发消息给萌二◕‿◕
Cya~
本文为作者原创,欢迎发送给朋友或分享到朋友圈。转载请联系后台(侵权必究)。
动图来自网络,如有异议请联系删除。
· End ·
编辑 | Libby
图表 | Libby
联系客服