九个典型应用,学会LOOKUP函数

说起查找引用类函数,很多小伙伴们会先想到VLOOKUP函数,但在实际应用中,很多时候VLOOKUP却是力不从心:比如说从指定位置查找、多条件查找、逆向查找等等。
这些VLOOKUP函数实现起来颇有难度的功能,有一个函数却可以轻易实现,这就是下面咱们要说的主角——LOOKUP。
这个函数主要用于在单行或单列的查找范围中查询指定的查找值,并返回另一个单行或单列范围中对应位置的值。
该函数支持忽略空值、逻辑值和错误值来进行数据查询,几乎可以完成VLOOKUP函数和HLOOKUP函数的所有查找任务,接下来咱们就一起看看LOOKUP函数的常用套路。
一、返回B列最后一个文本:
=LOOKUP('々',B:B)
或是
=LOOKUP('做',B:B)
根据LOOKUP函数的帮助说明,在查找一个具体的值时,要求第二参数必须为升序,如果找不到具体的查询值,就返回比查询值小的最接近的一个。
实际操作时,即便是第二参数没有按升序处理,LOOKUP也会傻乎乎的把第二参数当成已经升序进行处理,认为排在最后的肯定都比前面的要大。
公式中,将查找值设置为一个在计算机字符集中编码非常大的字符'々'或是'做',LOOKUP在A列从后向前查找这个字符。当A列最后一个字符的字符集编码小于'々'或'做',LOOKUP函数就默认将最后一个字符当成A列所有字符中最大的一个,最终返回这个字符了。
二、返回B列最后一个数值:
=LOOKUP(9E+307,B:B)
9e+307,就是9乘以10的307次幂,是一个非常非常大的数值。查询原理和前面所述是一样的,当找不到这个非常大的数值时,默认将查询区域中最后一个数值认为是整个查询区域里最大的一个值。
三、填充合并单元格
如下图所示,B列姓名使用了合并单元格,使用以下公式可以得到完整的填充:
=LOOKUP('做',B$2:B2)
四、返回A列最后一个非空单元格内容
=LOOKUP(1,0/(A:A<>''),A:A)
简单说说公式的计算过程:
先使用A:A<>''判断A列是否不等于空单元格,得到一组有逻辑值TRUE和FALSE构成的内存数组。
然后用0除以这些逻辑值,在四则运算中,逻辑值TRUE相当于1,FALSE相当于0,相除之后,得到由错误值和0构成的新内存数组。其中的0,就是0/TRUE的结果,表示符合条件。
最后用1作为查找值,在这个内存数组中找到0的位置,并返回第三参数中对应位置的内容。
如果有多个符合条件的记录,LOOKUP默认以最后一个进行匹配。
五、逆向查询
如下图,要根据E3单元格的商品名称,查询对应的销售经理。公式为:
=LOOKUP(1,0/(C2:C10=E3),A2:A10)
单条件查询的模式化写法为:
=LOOKUP(1,0/(条件区域=条件),查询区域)
六、多条件查询
如下图,要根据F3单元格的商品名称和G3单元格的部门,查询对应的销售经理。公式为:
=LOOKUP(1,0/((D2:D10=F3)*(B2:B10=G3)),A2:A10)
多条件查询的模式化写法为:
=LOOKUP(1,0/((条件区域1=条件1)*(条件区域2=条件2)),查询区域)
或者:
=LOOKUP(1,0/(条件区域1=条件1)/(条件区域2=条件2),查询区域)
七、模糊查询等级
如下图,要根据B列销售业绩返回对应的评定标准,E~F列为标准对照表。
C2单元格公式为:
=LOOKUP(B2,$E$3:$F$6)
这种方法可以取代IF函数完成多个区间的判断查询,前提是对照表的首列必须是升序处理。
八、提取有规律的数字
如下图,要提取出B列混合内容中的数值。
公式为:
=-LOOKUP(1,-RIGHT(B2,ROW($1:$9)))
本例中,数值都位于右侧,因此先用RIGHT函数从B2单元格右起第一个字符开始,依次提取长度为1至99的字符串。
添加负号后,数值转换为负数,含有文本字符的字符串则变成错误值。
LOOKUP函数使用1作为查询值,在由负数、0和错误值构成的数组中,忽略错误值提取最后一个等于或小于1的数值。最后再使用负号,将提取出的负数转为正数。
九、带合并单元格的查询
如下图,根据D2单元格的姓名查询A列对应的部门。
公式为:
=LOOKUP('做',INDIRECT('A1:A'&MATCH(D2,B1:B10,0)))
MATCH(D2,B1:B10,0)部分,精确查找D2单元格的姓名在B列中的位置。返回结果为7。
用字符串'A1:A'连接MATCH函数的计算结果7,变成新字符串'A1:A7'。
接下来,用INDIRECT函数返回文本字符串'A1:A7'的引用。
如果MATCH函数的计算结果是5,这里就变成'A1:A5'。同理,如果MATCH函数的计算结果是10,这里就变成'A1:A10'。也就是这个引用区域会根据D2姓名在B列中的位置动态调整。
最后用=LOOKUP('做',引用区域)返回该区域中最后一个文本的内容。
简化后的公式相当于:
=LOOKUP('做',A1:A7)
返回A1:A7单元格区域中最后一个文本,也就是江北公司,得到“苏明哲”所在的部门。
好了,咱们今天的内容就是这些吧,祝小伙伴们一天好心情~
图文作者:祝洪忠
(0)

相关推荐

  • 二级MS Office函数汇总(上)!拯救你的函数问题,涨分必看!

    提起函数,一大波同学已经跪倒.Word.Excel.PPT,Excel最难,Excel难就难在函数上,分分钟让人窒息.无忧考吧汇总了部分函数知识点,希望对大家函数提升有所帮助. 做函数时需要注意: 1 ...

  • 通过简称查找并返回符合相应条件的简称或者全称

    第一步:先通过名称管理器构建动态的简称区域(E列) 具体的步骤为:公式-----名称管理器-----新建------输入名称---引用位置输入公式=OFFSET($E$1,1,0,COUNTA($E$ ...

  • LOOKUP函数从入门到高级的9个用法,不用担心学不会LOOKUP了

    Excel中,很多人都说学好VLOOKUP函数就可以完成80%的工作,但是有一个函数,可以说VLOOKUP函数可以解决的问题它也可以解决,VLOOKUP不能解决的它依然可以解决,它就是我们今天要说的L ...

  • 三分钟,学会LOOKUP函数

    小伙伴们好啊,今天老祝和大家一起来学习一个大名鼎鼎的函数--LOOKUP. 这年头,如果用Excel的人还不知道LOOKUP函数,那就像是法国人不知道拿破仑,美国人不知道华盛顿,朝鲜人不知道金正恩一样 ...

  • LOOKUP函数的九个典型用法

    大家好啊,今天咱们一起聊聊LOOKUP函数. 这个函数主要用于在查找范围中查询指定的查找值,并返回另一个范围中对应位置的值.该函数支持忽略空值.逻辑值和错误值来进行数据查询,几乎可以完成VLOOKUP ...

  • SUMIF函数的九种典型用法

    SUMIF函数用于对区域中符合条件的值求和.她只有3个参数: =SUMIF(条件区域,指定的条件,需要求和的区域) 如果省略求和区域,会将条件区域作为求和区域. SUMIF函数真的这么简单吗?今天咱们 ...

  • LOOKUP函数,以一敌百

    "我不怕学习10000 种腿法的人,我怕的是把一种腿法练习10000 次的人."--李小龙 "我不怕学习10000 种软件的人,我怕的是把一种软件练习10000 次的人. ...

  • 九种油画技法,学会了立马高大上了!

    一.油画技法之刮除法 用油画刀平滑的边缘将画布或面板上的颜料刮除,不仅用于修正画面,它本身也是一个很有价值的油画技法.刮除颜料后会留下一个由剩下的薄颜料层形成的模糊重影,按照这个方法可以绘制出一幅相同 ...

  • LOOKUP函数多条件查询数据

    生命中对自己最好的爱是学会肯定自己.我们不懂得肯定自己,我们就会认为自己很糟糕.人生的重塑更重要是来自内在意识的重塑.当我们发自内心地认为自己糟糕的时候,我们就会变得随意与随波逐流.学会肯定自己,我们 ...

  • LOOKUP函数的特别之处

    LOOKUP函数是一个查找函数,可以从单行或单列区域或者从一个数组返回值.LOOKUP函数具有两种语法形式:向量形式和数组形式. 一键直达 >> Excel函数学习7:LOOKUP函数 数 ...

  • 若是不会LOOKUP函数的这个用法,就太可惜了!

    表亲们,开门见山,星光先提一个小问题-- 如下图所示,A列是一些乱七八糟的数据,现在需要提取最后出现的数值,你会怎么写函数公式呢? 有一个经典的LOOKUP函数是酱紫的: =LOOKUP(9^9,A: ...

  • LOOKUP函数的使用方法

    Lookup函数一共有两种形式一种是向量形式一种是数组形式,我主要介绍其向量形式 向量形式 Lookup函数:在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值 ...