|
|
在日常工作中,excel的查找函数可以称得上是函数的精髓之一,因为查找函数单独使用就可以实现很多日常操作需要,更别说很多复杂的函数往往也会嵌套查找函数使用,常用的查找函数有vlookup、index—match、lookup函数等,这些函数非常相似,有些查找选择这些函数任意一个都可以完成,今天小编给大家介绍一下lookup函数的几种用法,这个函数非常灵活,可以在很多种情况下运用。
5 ?7 f. `! u7 D: Y- d0 r7 r5 ]( }
, i6 I# a6 D0 |' d: H9 }- B) {) u一:基本正向查找与反向查找
: X. e+ l& e8 b其实查找本来没有必要分成正向查找或者反向查找,因为vlookup函数用的人实在太多了,vlookup函数进行正向查找比较简单,反向查找稍显复杂,所以正向查找和反向查找会做出区分。
$ r0 d6 r. |0 Z5 R但是在lookup函数中,正向查找和反向查找的公式完全一样,即公式=lookup(1,0/(条件区域=条件),返回结果区域)。这个格式是lookup函数常用的固定套路,可能比较难以理解,下面就以案例介绍这个函数的含义
: w2 V8 g8 `) A9 \以下图中根据姓名查找成绩为例,E2单元格输入的函数=LOOKUP(1,0/($A$2:$A$10=D2),$B$2:$B$10),4 J, O+ J6 R1 y7 X( P; _5 o$ H, {& s0 O
在这个函数中,第二个参数的分母部分是($A$2:$A$10=D2),表示判断D2单元格是否等于A2到A10单元格,如果等于返回的结果是true,否则返回的结果是false,此处返回的结果是{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE},即第四个判断为true。
* u! Z4 Q9 e, D# q. O6 }在0/($A$2:$A$10=D2)中,其实true可以看做是1,false可以看做是0,计算结果只有第四个返回的值为0,其他为错误值,因为0作为分母无意义,此处返回的结果是{#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}
7 b& |$ }* x% ]; B( E! Q' k( J& M在lookup函数查找中,查找的结果会忽略错误值,而第二个参数只有第四个为0,不是错误值,所以第一个参数1在第二个参数中查找,返回的查找结果是第四个数,即“赵云”,第三个参数$B$2:$B$10为返回的结果,即最终计算结果返回“赵云”对应的成绩。
$ S) ]2 N0 d* P. E9 x3 a查找完成后,向下拖动即可填充公式,同理,只要成绩不唯一(此处只为举例),根据成绩反向查找姓名公式含义不变。% s1 m8 f9 ]5 B

! O/ {: |3 k1 p a f& l% M+ P二:多条件查找
6 I z0 Z4 \& `+ T9 w通过上述基本查找的介绍,相信大家对lookup函数的公式含义有一定的了解,其实在多条件查找中,仍然使用的是与基本查找相同的套路,即函数公式=lookup(1,0/((条件区域1=条件1)*(条件区域2=条件2)),返回结果区域)。% X: ~5 j; u% a S# O- J- Z& g2 w2 y
下图中根据区域和产品型号查找销量,那么在H2单元格输入的函数公式为=LOOKUP(1,0/(($A$2:$A$21=F2)*($B$2:$B$21=G2)),$C$2:$C$21),这个函数中第二个参数的分母部分发生变化,用乘号连接表示需要同时满足这两个条件,乘号前面和后面的条件判断结果false可以看作为0,true可以看作为1,所以两者相乘返回的结果就是1或者0。最后分母部分返回的结果是{0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0},其他参数的含义就和上面介绍的一样了。
" Z' R7 O9 h# T' O6 O4 Z# i ' L: X0 @, P! D ]8 @+ m" Y2 e
三:模糊查找
7 P3 M. b7 W6 B- ^+ u, x在下图中,EF两列为评价标准和评价类型,我们要根据EF列的标准,在C列中显示B列销量数据的评价类型,该如何设置公式呢?9 p1 ~% Y& Z( ? B# Z
这种查找的基本函数=lookup(查找依据,查找区域,返回结果区域)。所以我们在C2单元格输入的公式为=LOOKUP(B2,$E$2:$E$7,$F$2:$F$7),其实这个函数可以说是lookup函数的基本用法,lookup函数在查找中,如果查找不到准确的值,那么就会返回到小于查找值的最大值对应的结果,前提是对查找范围进行升序排序,即下图中E列数据按从小到大顺序排列。( h8 @0 A% c: y$ l1 @
在C2单元格中,根据B2单元格的内容在E2到E7单元格中进行查找,因为520在查找区域中没有准确的查找依据,所以返回查找的依据是500,最后返回第三个参数对应的结果,即“一类”。然后向下拖动即可填充公式。
7 _: b( y$ O, k* R 5 J' a3 |4 U6 N7 y: L
四:查找最后一次出现的记录
2 Z* M3 k. T) Y B在下图中,如何查找“一班”、“二班”、“三班”对应的最后一个名字及成绩呢?
5 i9 a6 k& {) O( S7 M/ J b; J, W$ P这里又用到了lookup函数的基本查找了,即F2单元格的公式=LOOKUP(1,0/($A$2:$A$10=E2),$B$2:$B$10)。第二个参数的分母($A$2:$A$10=E2)中的判断结果有两个会返回true,所以0/($A$2:$A$10=E2)返回的结果为{#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!},而lookup函数查找不到满足条件的值时,会忽略错误并返回最后一个值。所以此处会查找到班级对应的最后一个姓名和成绩。
0 b: W( ?3 r! b6 o! z8 b $ ^$ ? V4 K7 T4 X% ~7 k7 q
五:根据简称在全称中查找
% c4 Y( K8 t4 G0 A+ D' D- T在下图中,D列是查找依据,AB两列是查找数据源,但是此处查找依据是简称,其他查找函数就不好实现了,利用lookup函数仍然非常容易。
. e+ Z3 J5 v; c8 ^+ J, {, L3 @这种查找的基本公式仍然为=lookup(查找依据,查找区域,返回结果区域)。所以在E2单元格中输入公式=LOOKUP(9^9,FIND(D2,$A$2:$A$5),$B$2:$B$5)即可。第二个参数FIND(D2,$A$2:$A$5)表示D2单元格在A2到A5单元格进行查找,返回的结果为{#VALUE!;#VALUE!;5;#VALUE!},因为只有在第三个单元格可以查到“会计”并且返回的结果为5,即“会计”在“中级财务会计”中第5个字符开始。而其他结果都为错误值,所以9^9查到不到准确结果,忽略错误值后,只会返回5对应的成绩。 k0 `9 J# ^) r6 V6 K, R
这里第一个参数9^9只是为了保证准确,此例中A列的单元格最多为8个字符,find函数返回的最大结果也不可能超过8,所以此处第一个参数输入一个9也能返回正确的结果。* f8 N* t: p; [# R! B" x

u7 b) X7 F- {6 Q六:根据全称在简称中查找
9 K# b0 |0 U: ^和上面情况相反,如果查找的数据源是简称,我们要根据全称查找对应的内容,该如何操作呢?
+ s3 J0 d7 F9 y# }5 Z$ J; T此时在E2单元格输入的公式为=LOOKUP(1,0/FIND($A$2:$A$5,D2),$B$2:$B$5),这个函数和上面的根据简称查找全称十分相似,主要差异是在第二个参数,第二个参数的分母函数为FIND($A$2:$A$5,D2),即查找数据源中的简称在查找依据中的位置,返回的结果是{#VALUE!;3;#VALUE!;#VALUE!},忽略错误值后,会返回第二个参数对应的值。
4 i/ @. |% ^2 N# s9 l/ c: v
1 j. X9 o% W' L V" R ^; @" M这就是本文介绍的lookup函数的一些典型用法,可以看到=lookup(1,0/(条件区域=条件),返回结果区域)是lookup函数的常用套路,lookup函数可以忽略错误值并且返回最后一个值或最大值,再加上模糊查找功能,赋予了lookup函数更加灵活的用法。* ?9 o/ U- O) N! N7 k! n6 U% B
2 }/ \4 o3 w0 ?* J& t' z2 V来源:http://www.yidianzixun.com/article/0M5yonCa2 s! R. p4 A9 Q/ H1 Q5 n5 g
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|