VLOOKUP函数是Excel中的大众情人,人见人爱,居然还有比他更牛的,究竟是谁?给我站出来!!!
不急,慢慢来,在这之前先认识一个“垃圾”函数——LOOKUP。
这个LOOKUP函数有什么好学的,帮助都提到,如果区域没升序会可能导致出错,既然这样,那作用明摆着就很小。
帮助:为了使 LOOKUP 函数能够正常运行,必须按升序排列查询的数据。 如果无法使用升序排列数据,请考虑使用 VLOOKUP、HLOOKUP 或 MATCH 函数。
说到“垃圾”这个就是微软给LOOKUP函数的标签。
一、“垃圾”之运用
1、根据成绩的区间,判断等级。
=LOOKUP(E2,$A$2:$A$5,$C$2:$C$5)
这一点跟VLOOKUP函数的模糊查找其实是一样的。
2、查找最后一个数字和最后一个文本。
最后一个数字用:
=LOOKUP(9E+307,B:B)
最后一个文本用:
=LOOKUP("座",A:A)
这个9E+307跟"座"是什么意思?
先来看看下面几条公式:
=LOOKUP (10,{4;8;6;1;7;5;6;4;6;9}),返回9
=LOOKUP (100,{4;8;6;1;7;5;6;4;6;9}),返回9
=LOOKUP (1000,{4;8;6;1;7;5;6;4;6;9}),返回9
也就是说,Lookup函数查找到最后一个满足条件的值,在数字不确定的情况下,查找的值越大也能保证查找到的值得准确性。9E+307一个很大很大的数字,Excel允许最大的数字不能超过15位,而9E+307是9乘以10的307次方,比最大值还要大,查找最后一个值是相当的保险。而"座"是一个接近最大的文本,虽然还有比"座"还大的文本,但正常情况不会出现,所以写"座"就能查找到最后一个文本。
3、查询产品最近的价格。
=LOOKUP(TODAY(),A:B)
正常产品的价格都会经常波动,最近的价格也就是今天之前的价格,今天就用TODAY函数,借助VLOOKUP函数以大查小的特点就可以找到最后一个日期对应的价格。
4、填充合并单元格的内容。
=LOOKUP("座",$B$2:B2)
按照微软的说法,LOOKUP函数能做的大概就这几个了,但LOOKUP函数岂能被微软看衰!
看到LOOKUP函数有时会想起卢子本人,因为学历问题很多时候被人看不起,不过我依然坚强的活着,而且比很多人想象中的还好。其实LOOKUP函数比你想象中要好一万倍!
二、王者风范
1、逆向查询,根据员工姓名,查找员工号。
现在人的阅读习惯都是从左到右,跟古代不同。VLOOKUP函数很好用,如果要逆序查找,也就是从右到左,就相对比较麻烦。传说中可以借用IF({1,0},,)组合来实现,不过要花费九牛二虎之力,吃力不讨好。这时他的兄弟LOOKUP函数就派上用场,借助这个函数却能轻而易举就办到。LOOKUP函数不区分正常顺序跟逆序,用在这里再合适不过。
=LOOKUP(1,0/(E2=$B$2:$B$10),$A$2:$A$10)
LOOKUP函数查询的经典语法:
=LOOKUP(1,0/((条件1)*(条件2)*…*(条件n)),返回区域)
2、多条件查找,根据俗称和订单号2个条件查找完成情况。
前面我们用VLOOKUP函数解决,不过公式太复杂了有没有?有一些人直接就看晕了!
=VLOOKUP(A12&B12,IF({1,0},$A$2:$A$9&$C$2:$C$9,$E$2:$E$9),2,0)
这个公式还是传说中的数组公式,需要按组合键Ctrl+Shift+Enter结束才能正确,对于很多初学者经常都会忘记。
LOOKUP函数有查询的通用公式,直接套上去,轻轻松松搞定,不伤脑。
=LOOKUP(1,0/((A12=$A$2:$A$9)*(B12=$C$2:$C$9)),$E$2:$E$9)
万般皆套路!
3、以多查少,根据物料名称匹配关键词的返回值。
知乎网友的问题:
excel求助!如何匹配关键词得到返回值?图,想在E2单元格得到铝条的返回值,E3得到中空胶的返回值?
看起来是否有点眼熟,上回是介绍VLOOKUP函数根据简称查找全程,这回反过来,根据全程查找简称的返回值。
这个用VLOOKUP是没法解决的,其实LOOKUP函数刚好可以用在这里。
这是卢子提供的答案。
完全相同可以用=,而原来的问题是包含与被包含的问题,要用FIND函数判断。
=LOOKUP(1,0/FIND($A$2:$A$4,D2),$B$2:$B$4)
现在VLOOKUP跟LOOKUP函数到底谁才是真正的王者,想必大家心中有数吧?
最后送大家一句话:牛逼的人都是相似的,而苦逼的人各有各的苦逼。