|
|
在日常工作中,excel的查找函数可以称得上是函数的精髓之一,因为查找函数单独使用就可以实现很多日常操作需要,更别说很多复杂的函数往往也会嵌套查找函数使用,常用的查找函数有vlookup、index—match、lookup函数等,这些函数非常相似,有些查找选择这些函数任意一个都可以完成,今天小编给大家介绍一下lookup函数的几种用法,这个函数非常灵活,可以在很多种情况下运用。6 Q4 \; y5 o* U) [' E, h2 m

% w6 V2 L# {, K+ _: I( G一:基本正向查找与反向查找, j2 n7 K& j, ]* m# Q
其实查找本来没有必要分成正向查找或者反向查找,因为vlookup函数用的人实在太多了,vlookup函数进行正向查找比较简单,反向查找稍显复杂,所以正向查找和反向查找会做出区分。
/ K' f8 [' \+ ^) z$ ?但是在lookup函数中,正向查找和反向查找的公式完全一样,即公式=lookup(1,0/(条件区域=条件),返回结果区域)。这个格式是lookup函数常用的固定套路,可能比较难以理解,下面就以案例介绍这个函数的含义
- K. b2 c5 E; O9 J" f8 {以下图中根据姓名查找成绩为例,E2单元格输入的函数=LOOKUP(1,0/($A$2:$A$10=D2),$B$2:$B$10),
' q2 f9 ^# K* `; }在这个函数中,第二个参数的分母部分是($A$2:$A$10=D2),表示判断D2单元格是否等于A2到A10单元格,如果等于返回的结果是true,否则返回的结果是false,此处返回的结果是{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE},即第四个判断为true。% h/ S. C. c# E2 R5 {9 K' c
在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!}1 j; f$ o+ `: D2 M; v
在lookup函数查找中,查找的结果会忽略错误值,而第二个参数只有第四个为0,不是错误值,所以第一个参数1在第二个参数中查找,返回的查找结果是第四个数,即“赵云”,第三个参数$B$2:$B$10为返回的结果,即最终计算结果返回“赵云”对应的成绩。
& e, @3 `' Q7 h/ a- @查找完成后,向下拖动即可填充公式,同理,只要成绩不唯一(此处只为举例),根据成绩反向查找姓名公式含义不变。
) S$ c% ~- q; \& _7 f( v* V; W) E$ } & z% M6 j. L0 a$ q+ V& I
二:多条件查找: a3 _& f2 L. H" u' W# {0 d
通过上述基本查找的介绍,相信大家对lookup函数的公式含义有一定的了解,其实在多条件查找中,仍然使用的是与基本查找相同的套路,即函数公式=lookup(1,0/((条件区域1=条件1)*(条件区域2=条件2)),返回结果区域)。
( ~) |! I& ~5 H, `$ F下图中根据区域和产品型号查找销量,那么在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},其他参数的含义就和上面介绍的一样了。
) F& B* V/ `8 u L3 @ ( Y2 ` z3 g. z3 Y( T' ?: R+ N
三:模糊查找: \: P* c q. _ k( K( Q
在下图中,EF两列为评价标准和评价类型,我们要根据EF列的标准,在C列中显示B列销量数据的评价类型,该如何设置公式呢?* ?6 a7 q6 P" _% m% B M+ k3 M
这种查找的基本函数=lookup(查找依据,查找区域,返回结果区域)。所以我们在C2单元格输入的公式为=LOOKUP(B2,$E$2:$E$7,$F$2:$F$7),其实这个函数可以说是lookup函数的基本用法,lookup函数在查找中,如果查找不到准确的值,那么就会返回到小于查找值的最大值对应的结果,前提是对查找范围进行升序排序,即下图中E列数据按从小到大顺序排列。 F+ ^5 L) Y; i6 T; b. H8 W; r: c
在C2单元格中,根据B2单元格的内容在E2到E7单元格中进行查找,因为520在查找区域中没有准确的查找依据,所以返回查找的依据是500,最后返回第三个参数对应的结果,即“一类”。然后向下拖动即可填充公式。
1 Z) y. l/ K# Q: b$ i' Q! \ ; l) f, W+ K4 Y* k' f1 v
四:查找最后一次出现的记录. K5 f- }6 y# n6 M' c
在下图中,如何查找“一班”、“二班”、“三班”对应的最后一个名字及成绩呢?
0 ]- { m9 Y% M- w5 \+ i5 i这里又用到了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函数查找不到满足条件的值时,会忽略错误并返回最后一个值。所以此处会查找到班级对应的最后一个姓名和成绩。
, N2 J! j6 k: Y
. i4 L$ N3 ~: V0 |五:根据简称在全称中查找
, a# f0 G* [& Z. o在下图中,D列是查找依据,AB两列是查找数据源,但是此处查找依据是简称,其他查找函数就不好实现了,利用lookup函数仍然非常容易。! [% U* P7 `$ k5 N8 z2 g$ D
这种查找的基本公式仍然为=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对应的成绩。5 T, m. y* s# h9 S
这里第一个参数9^9只是为了保证准确,此例中A列的单元格最多为8个字符,find函数返回的最大结果也不可能超过8,所以此处第一个参数输入一个9也能返回正确的结果。& S2 o" @, U4 S2 T3 R6 a
5 M Q! ?5 n c: h d0 y
六:根据全称在简称中查找: |2 o! f9 ?! \: z8 U* B I
和上面情况相反,如果查找的数据源是简称,我们要根据全称查找对应的内容,该如何操作呢?
; U d. Y' M( \5 {4 v此时在E2单元格输入的公式为=LOOKUP(1,0/FIND($A$2:$A$5,D2),$B$2:$B$5),这个函数和上面的根据简称查找全称十分相似,主要差异是在第二个参数,第二个参数的分母函数为FIND($A$2:$A$5,D2),即查找数据源中的简称在查找依据中的位置,返回的结果是{#VALUE!;3;#VALUE!;#VALUE!},忽略错误值后,会返回第二个参数对应的值。& h, K l4 Y, w3 T8 {; _

8 ?; O7 \" H4 c3 \这就是本文介绍的lookup函数的一些典型用法,可以看到=lookup(1,0/(条件区域=条件),返回结果区域)是lookup函数的常用套路,lookup函数可以忽略错误值并且返回最后一个值或最大值,再加上模糊查找功能,赋予了lookup函数更加灵活的用法。2 G/ z2 H8 i; R' e% t
9 }" M9 p- U, H4 ^) x2 G) {, M! x" n来源:http://www.yidianzixun.com/article/0M5yonCa
! K. D7 j# C" Z% {( Z免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|