您的位置首页生活百科

Lookup函数模糊查找问题出在哪里?

Lookup函数模糊查找问题出在哪里?

的有关信息介绍如下:

Lookup函数模糊查找问题出在哪里?

大家好啊, 今天给大家讲解一下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