转自excel不加班
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函数,借助lookup函数以大查小的特点就可以找到最后一个日期对应的价格。
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函数刚好可以用在这里。