你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了

点击上方蓝字「Excel不加班」关注看下一篇



一直以来,卢子强调了无数遍,普通人无需知道这个套路的来龙去脉,但偏偏还是有一堆人要纠结。那好吧,这次就全讲了。


很久很久以前,Excel界有2大函数大神,山菊花和狗尾草,两人合称花草。山菊花幽默风趣,狗尾草富有逻辑性,各有其优点。那一年(大概20年前),狗尾草凭借着LOOKUP函数的经典查找模式一举成名,不要迷恋二分法,二分法只是一个传说。抛开这个传说,一起来见证LOOKUP函数的神奇。


这个LOOKUP函数有什么好学的,帮助都提到,如果区域没升序会可能导致出错,既然这样,那作用明摆着就很小。


帮助:为了使 LOOKUP 函数能够正常运行,必须按升序排列查询的数据。如果无法使用升序排列数据,请考虑使用 VLOOKUP、HLOOKUP 或 MATCH 函数。


帮助把LOOKUP当垃圾看,但却被Excel爱好者们发掘出各种各样的功能,甚至有人把LOOKUP函数比喻成查找之王。LOOKUP函数不因被帮助埋没而别人遗弃,反而受到高手的追捧。一起来见证LOOKUP的神奇吧。


1.根据番号精确查找俗称。

=LOOKUP(1,0/($A$2:$A$14=D2),$B$2:$B$14)

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第1张图片


卢子喜欢将这个称为以大欺小法,就是用1查找0。


0/($A$2:$A$14=D2)的作用就是将符合条件的值转换成0,其他转换成错误值。在这里认识下有独孤九剑之称的F9键。


哪里不懂抹哪里,公式理解so easy。


现在$A$2:$A$14=D2这部分不理解,直接在编辑栏抹黑,按F9键,就看到原来这部分是番号的逐一比较,如果满足就显示TRUE,否则显示FALSE。

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第2张图片


了解后,记得按Esc键或Ctrl+Z组合键返回,否则公式就变了。


一次看完0/(条件),得到的是由0和错误值转成的数组。

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第3张图片


LOOKUP函数喜欢以大欺小,用1查找0,也就是查找小于或者等于他的值,因为在查找的时候,自动忽略错误值,所以能找到0。


知识扩展:


LOOKUP函数在查找的时候,如果有多个对应值,会返回最后一个满足条件的对应值。也就是说用1查找0,如果有多个0的情况下,会查找到最后一个0所对应的值。现在用俗称来找番号,H276对应了多个番号,但查找的结果只返回最后一个,也就是40983。

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第4张图片


如果还不理解,没关系,先记住这个模式!以后用多了自然会理解,就如书读百遍,其义自现一样。


2.屏蔽错误值错误值查找。

=IFERROR(LOOKUP(1,0/($A$2:$A$5=D2),$B$2:$B$5),"")

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第5张图片


这个跟VLOOKUP函数一样,都是用IFERROR函数进行容错处理。


3.按顺序返回多列对应值。

=LOOKUP(1,0/($A$2:$A$10=$A13),B$2:B$10)

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第6张图片


利用混合引用的特点,B$2:B$10向右拖动,就变成C$2:C$10,从而改变返回区域。


4.按不同顺序返回对应值。

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第7张图片


这个就有点麻烦,要怎么才能确定返回的区域呢?


OFFSET函数可以偏移得到一个区域,比如订单数就是A列偏移2列就可以得到。

=OFFSET(A2:A10,0,2)


俗称就是A列偏移1列就可以得到。

=OFFSET(A2:A10,0,1)


前面提到MATCH函数可以获取字段的排位,通过排位就知道需要偏移多少列。

=MATCH(B$12,$A$1:$F$1,0)


如订单数是排第3位,但只需偏移2列就可以得到,也就是说排位-1就的到偏移列。

=MATCH(B$12,$A$1:$F$1,0)-1


这样返回区域就定下来。

=OFFSET($A$2:$A$10,,MATCH(B$12,$A$1:$F$1,)-1


套用以大欺小法,得到:

=LOOKUP(1,0/($A$2:$A$10=$A13),OFFSET($A$2:$A$10,,MATCH(B$12,$A$1:$F$1,)-1))


其实公式说难也难,说易也易。只要掌握窍门,就跟堆积积木一样,将一个个积木组合成你需要的模型。


5.根据番号逆序俗称。

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第8张图片


在LOOKUP函数的字典中,没有逆向这个词。管你什么方向,对LOOKUP函数通通都一样。

=LOOKUP(1,0/($B$2:$B$10=A13),$A$2:$A$10)


6.根据俗称跟订单号两个条件查询完成情况。

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第9张图片


多条件跟单条件对LOOKUP函数而言都是一样的,一个通式闯天下,只需将条件用&组合起来即可。

=LOOKUP(1,0/($A$2:$A$9&$C$2:$C$9=A12&B12),$E$2:$E$9)


当然也可以直接就套用那个通用公式,多个条件用*连接起来。

=LOOKUP(1,0/(($A$2:$A$9=A12)*($C$2:$C$9=B12)),$E$2:$E$9)


7.根据俗称的第一个字符查找番号。

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第10张图片


从左边提取字符用LEFT函数,第一个也就是提取1位。

=LEFT(A2,1)


如果仅仅是提取1位,这个1可以省略,默认情况下就是1。

=LEFT(A2)


组合起来就是:

=LOOKUP(1,0/(LEFT($A$2:$A$5)=D2),$B$2:$B$5)


最后记住这个通用公式:

=LOOKUP(1,0/((条件1)*(条件2)*…*(条件n)),返回区域)


有了这个经典查找的通用公式,神马查找都So easy!


通过了两大查找函数LOOKUP与VLOOKUP,曾经也间接让卢子风光了一把,但生活仍需继续。


知识扩展:


有的时候查找的值并不一样是在开头,而是位置不确定,只是包含在里面。如根据镇流器ID查询数量,多个ID用/隔开,输入其中一个ID查找数量,这时就不能用LEFT函数,要用FIND函数进行判断是否包含在里面。

你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了_第11张图片


VIP888元,一次报名,所有视频课程,终生免费学,提供一年在线答疑服务。



报名后加卢子微信chenxilu2019,发送报名截图邀请进群。


推荐:女生90%困扰的查找引用问题,都可以用LOOKUP函数解决!

上篇:一群高手折腾了一个晚上都搞不定的库存表,结果居然一个简单的SUMIFS函数就搞定。。。

最近几年,几乎见不到这2大高手的身影了,现在都是年轻人在传播Excel知识。长江后浪推前浪,一代新人换旧人,相信再过10年,在传播Excel知识的,也许就是看文章的你。


后浪们,加油吧!



作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)


请把「Excel不加班」推荐给你的朋友


无需打赏,请点在看↓↓↓

你可能感兴趣的:(你一直在纠结的LOOKUP(1,0套路,这次毫无保留全讲了)