分享

LOOKUP 函数,这些用法会了吗?

 hercules028 2022-01-19

LOOKUP的语法 

首先还是老规矩,我们一起看一下 LOOKUP 函数的语法,函数共有 3 个参数,翻译成东北话分别是:

= LOOKUP(找啥, 在哪旮找, 要啥结果)

1.   找啥:要查找的词或单元格引用;

2.   在哪旮找:要查找的区域;

3.   要啥结果:要返回的区域,必须是一行或者一列,查找和返回区域必须大小一致;

LOOKUP基础查找

 这是最基础的用法了,直接写公式就行:

=LOOKUP(D2,A2:B6)

图片

诶,咋不对呢?!哦,要找的东西没有排序,再来一遍!敲黑板啦,A列要先排序,公式才不会报错!

图片

LOOKUP实现区间匹配 

在数字已经排序的场景下,利用 Lookup 的特性,就可以代替IFS函数,用于简化区间匹配公式。 

例如想批量填写销售员的提成比例,使用公式: 

图片

 因为LOOKUP在找不到匹配数值的时候,会找一个小于匹配数里的最大值进行匹配,这样就可以巧妙实现区间匹配了,不过数据需要进行排序。 

这个公式如果要用 IFS 或者 IF 来写,就非常麻烦了,不信你试试。

LOOKUP返回最后一个符合条件的结果 

和 VLOOKUP 会返回匹配多条数据中的第一条恰好相反,如果匹配区域中存在多条匹配的数据,则 LOOKUP 函数默认会匹配最后一条。 

公式如下:

=LOOKUP(1,0/(查找区域=查找值),返回区域) 

函数的套路也很简单,用0除以判断条件,只有相符的才不会发生除0错误,使用1进行匹配,即可将对应数值匹配出来。

具体公式在这:

=LOOKUP(1,0/(A2:A6=D2),B2:B6) 

图片

这个公式也可以用于在未排序的时候对指定值进行查找。

LOOKUP查找最后一个非空内容

除了数值/非数值,LOOKUP还可以查找最后一个非空内容,原理跟上一条公式一样,相当于条件改为“<>''”(不等于空),即:

=LOOKUP(1,0/(匹配区域<>''),匹配区域) 

例如查找B列的最后一个非空内容,使用公式:    

=LOOKUP(1,0/(B1:B12<>''),B1:B12) 

图片

LOOKUP多条件查找

 掌握了单条件查找,多条件查找就简单了,只需将多个条件相乘即可。 

例如:查找“销售二部在华南区售出的冰箱”的数量,公式就可以这样写:    =LOOKUP(1,0/(A2:A11=F2)*(B2:B11=G2)*(C2:C11=H2),D2:D11)

图片

LOOKUP查找最后一个非数值内容 

“座”在Excel中是一个很特殊的字,放到LOOKUP函数中常用于查找最后一个非数值内容。 

例如查找A列最后一个非数值内容,使用公式:

图片

由于LOOKUP查找汉字是按照汉语拼音的顺序来查找的,座(zuò)已经是汉语拼音中的最后一个字了,在EXCEL中对应的编码较大,所以用“座”可以查找区域中最后一个单元格内容。我以前试过,换“座”为其它字符代码较大的汉字也可以查。

LOOKUP模糊查找

 LOOKUP函数要实现模糊查找,则需要嵌套 FIND 函数使用。 

写法如下:

=LOOKUP(9E+307,FIND(D2,A2:A6),B2:B6)

图片

公式中的“9E+307”表示:9*10^307,是Excel允许键入的最大数值

由于 Find 函数会返回字符串所在的位置数值,当找不到时则返回“#N/A”,这里的原理和上一条公式一样,给一个很大的数让 LOOKUP 匹配就可以返回符合条件的最后一个结果。 

LOOKUP查找最后一个数值 

同样的原理,想要查找最后一个数值,也需要用到“9E+307”。 

查找A列的最后一个数字,使用公式: 

图片

LOOKUP全称查找简称并进行匹配 

根据全称去查找简称,用 VLOOKUP 就很难实现了,而LOOKUP则完全没问题。 

例如:·        

=LOOKUP(9E+307,FIND(A2:A4,D2),B2:B4) 图片

注意,这里要将 FIND 函数的两个参数颠倒下位置。

LOOKUP提取开头部分的数值 

作为匹配中最难的一道题,在数字+中文+英文的混合中,分别将开头/结尾/任意位置的数值提取出来,其他函数几乎办不到。 

而 LOOKUP 可以,套路也很简单,利用 LEFT + 数组公式逐个提取数值匹配。 

例如找到最开头的数值,使用如下公式:

=LOOKUP(9^9,LEFT( A2,ROW($1:$9))*1)

公式的实现效果如下:

图片

LOOKUP提取数据结尾的数值

同样,如果要提取数据结尾的数值,将 LEFT 函数换成 RIGHT即可。 

公式如下:

=LOOKUP(9E+307,RIGHT( A2,ROW($1:$9))*1)

图片

LOOKUP匹配任意位置的数值 

相比匹配头和尾,匹配任意位置的数值就非常复杂了,这里需要用到 MID+MATCH+ROW 函数的配合。 

公式如下:

=LOOKUP(9E+307,MID(A2,MATCH(1,MID(A2,ROW($1:$9),1)^0,0),ROW($1:$9))*1)

图片

看到公式外面的花括号没有?对喽,这个公式要三键结束,否则会报错哦~Ctrl+Shift+Enter

作者:Excel大表姐6

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多