|
|
在日常工作中,excel的查找函数可以称得上是函数的精髓之一,因为查找函数单独使用就可以实现很多日常操作需要,更别说很多复杂的函数往往也会嵌套查找函数使用,常用的查找函数有vlookup、index—match、lookup函数等,这些函数非常相似,有些查找选择这些函数任意一个都可以完成,今天小编给大家介绍一下lookup函数的几种用法,这个函数非常灵活,可以在很多种情况下运用。
$ V t& x$ f# I: o/ E! @
2 q; s: s' t6 u. V9 ~! J1 m一:基本正向查找与反向查找" \. k5 m8 w2 J/ Y& m9 ?: E1 p
其实查找本来没有必要分成正向查找或者反向查找,因为vlookup函数用的人实在太多了,vlookup函数进行正向查找比较简单,反向查找稍显复杂,所以正向查找和反向查找会做出区分。
" ]3 T) u* {( Q2 \% Z但是在lookup函数中,正向查找和反向查找的公式完全一样,即公式=lookup(1,0/(条件区域=条件),返回结果区域)。这个格式是lookup函数常用的固定套路,可能比较难以理解,下面就以案例介绍这个函数的含义
& ?) @5 T, ]) h. N$ K以下图中根据姓名查找成绩为例,E2单元格输入的函数=LOOKUP(1,0/($A$2:$A$10=D2),$B$2:$B$10),
- A" f$ ?2 G% l T9 ~; E在这个函数中,第二个参数的分母部分是($A$2:$A$10=D2),表示判断D2单元格是否等于A2到A10单元格,如果等于返回的结果是true,否则返回的结果是false,此处返回的结果是{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE},即第四个判断为true。
5 a2 g$ a. e2 X# G! `. o在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!}
; Y1 c$ I, P9 o a1 S2 Z( R- o. n3 R在lookup函数查找中,查找的结果会忽略错误值,而第二个参数只有第四个为0,不是错误值,所以第一个参数1在第二个参数中查找,返回的查找结果是第四个数,即“赵云”,第三个参数$B$2:$B$10为返回的结果,即最终计算结果返回“赵云”对应的成绩。+ h2 `# d+ T/ r K# T. J c
查找完成后,向下拖动即可填充公式,同理,只要成绩不唯一(此处只为举例),根据成绩反向查找姓名公式含义不变。* M! a% V# D w2 ~2 Q- s* e

1 J6 U1 P: x. H. c- y# R二:多条件查找
' T2 ?4 M4 k8 K通过上述基本查找的介绍,相信大家对lookup函数的公式含义有一定的了解,其实在多条件查找中,仍然使用的是与基本查找相同的套路,即函数公式=lookup(1,0/((条件区域1=条件1)*(条件区域2=条件2)),返回结果区域)。
1 ?, v! W: B8 \! o' W; L下图中根据区域和产品型号查找销量,那么在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},其他参数的含义就和上面介绍的一样了。9 v) H; L/ ~- R8 x l7 H

8 o" h( P- }9 k9 }5 M, g9 N1 Q三:模糊查找5 p7 j) l( t- K+ p
在下图中,EF两列为评价标准和评价类型,我们要根据EF列的标准,在C列中显示B列销量数据的评价类型,该如何设置公式呢?
1 _. V/ {7 {/ C: D这种查找的基本函数=lookup(查找依据,查找区域,返回结果区域)。所以我们在C2单元格输入的公式为=LOOKUP(B2,$E$2:$E$7,$F$2:$F$7),其实这个函数可以说是lookup函数的基本用法,lookup函数在查找中,如果查找不到准确的值,那么就会返回到小于查找值的最大值对应的结果,前提是对查找范围进行升序排序,即下图中E列数据按从小到大顺序排列。+ ?% k* g, _) c
在C2单元格中,根据B2单元格的内容在E2到E7单元格中进行查找,因为520在查找区域中没有准确的查找依据,所以返回查找的依据是500,最后返回第三个参数对应的结果,即“一类”。然后向下拖动即可填充公式。
' |, q: i2 z& M# W$ E- N
! W7 y4 _" `) J, y% {0 }. ?5 |6 ]四:查找最后一次出现的记录! t3 X8 ]5 O% k# f
在下图中,如何查找“一班”、“二班”、“三班”对应的最后一个名字及成绩呢?
- T: Q' N' u5 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函数查找不到满足条件的值时,会忽略错误并返回最后一个值。所以此处会查找到班级对应的最后一个姓名和成绩。; x( e. n. } G, V+ Q" Z

, K% G. Z! y' M% I# L9 q. Q五:根据简称在全称中查找
d' P1 Z+ i& y- H: o( S" ~在下图中,D列是查找依据,AB两列是查找数据源,但是此处查找依据是简称,其他查找函数就不好实现了,利用lookup函数仍然非常容易。
& }& g6 P1 d0 m/ j0 G3 j* i% `3 I$ S2 i这种查找的基本公式仍然为=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对应的成绩。
0 m: L' e) {3 K# a& W4 d这里第一个参数9^9只是为了保证准确,此例中A列的单元格最多为8个字符,find函数返回的最大结果也不可能超过8,所以此处第一个参数输入一个9也能返回正确的结果。
1 v# j# Y; ?, e; x
! s' x8 ^1 E% }4 |$ V六:根据全称在简称中查找
" o7 t- k5 L% E和上面情况相反,如果查找的数据源是简称,我们要根据全称查找对应的内容,该如何操作呢?, r0 w8 z0 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!},忽略错误值后,会返回第二个参数对应的值。
1 [0 Q0 e& `* ^0 g$ j* w , K' f6 |0 u- h. {) q8 ]' g+ E
这就是本文介绍的lookup函数的一些典型用法,可以看到=lookup(1,0/(条件区域=条件),返回结果区域)是lookup函数的常用套路,lookup函数可以忽略错误值并且返回最后一个值或最大值,再加上模糊查找功能,赋予了lookup函数更加灵活的用法。" e1 [( [4 j% P' {
$ O, E$ b9 Y( c0 c0 z2 M
来源:http://www.yidianzixun.com/article/0M5yonCa
* X% P7 k, f" z$ g" a" z5 a" B免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|