打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
收藏这一篇文章,足以搞定VLOOKUP这个迷人的小妖精

文丨罂粟姐姐


在Excel函数界,有400多位成员,只有VLOOKUP是公认的大众情人。


这么多年来,即使有更强大的函数组合能够实现它的功能,也从来没有谁能真正取代它的江湖地位。


罂粟姐姐将为大家揭开VLOOKUP的神秘面纱,初级、中级、高级一应俱全,必须收藏。



1

VLOOKUP入门

小白学习,必须掌握


VLOOKUP是一个查找函数,给定一个查找的目标,它就能从指定的查找区域中查找返回想要查找到的值。


英文语法:VLOOK

P(lookup_value,table_array,col_index_num,range_lookup)


中文语法:VLOOKUP(找谁,在什么范围找,在范围里的第几列,精确查找或模糊查找)


案例:已知全班的期末考试成绩,现需要查找出指定的部分学生的成绩。


公式:
=VLOOKUP(E2,$B$2:$C$18,2,0)



计算过程


语法解读(必须掌握)


注意:

●函数的第3个参数为查找区域的第几列,不能理解为数据表中实际的列号。

●函数的第4个参数决定了查找方式,如果为0或False,函数则为精确匹配查找,而且支持无序查找;如果为1或Ture,函数则使用模糊匹配方式查找,查找区域的第一列必须为升序,否则不能返回正确的结果。

●当存在多条满足条件的记录时,VLOOKUP函数只能返回第1个满足条件的记录。



2

VLOOKUP中级

成为大神的必经之路


VLOOKUP除了简单的查找外,还可以实现一些更复杂的查找匹配。


案例1:多列查找一次性输入公式


多列查找时,其他参数不变,公式=VLOOKUP($H7,$B$1:$F$18,?,0),最重要的是要修改第三个参数的值,因为列在变化,第3个参数也在发生变化。


大学语文在姓名后的第一列,那么第三个参数应该是1,=VLOOKUP($H7,$B$1:$F$18,1,0);


高等数学在姓名后的第二列,那么第三个参数应该是2,公式=VLOOKUP($H7,$B$1:$F$18,2,0)。


我们可以将第几列用其他函数的计算结果来实现,一般情况下最常用的有两种方法:


①1=COLUMN(A1);2=COLUMN(B1)……

②1=MATCH(I6,$C$1:$F$1,0);2=MATCH(J6,$C$1:$F$1,0)……


最终公式有两种:

①=VLOOKUP($H7,$B$1:$F$18,COLUMN(B2),0)

②=VLOOKUP($H7,$B$1:$F$18,MATCH(I$6,$B$1:$F$1,0),0)




案例2:数值区间模糊查找


注意:引用的数字区域必须由小到大排列,输出结果是和查找值最接近但比它小的那个值。


公式=VLOOKUP(D4,$A$1:$B$10,2,1)




案例3:模糊条件模糊查找


VLOOKUP的第一参数可以自动进行模糊匹配,将以E3开头的单元格找到并匹配其对应的单元格内容。


公式=VLOOKUP(E3,$A:$B,2,1)




案例4:使用通配符精确查找


VLOOKUP的第一个参数还支持通配符“*”,使用通配符后相当于确定了查找条件,可以实现精确查找,查找结果也是返回首次满足条件的记录的相应值。


公式=

VLOOKUP('*'&F5&'*',$A:$B,2,0)




3

VLOOKUP高级

江湖高手,无形胜有形


案例1:从右往左查找


因为VLOOKUP第三个参数必须为正数,所以从函数本身来理解只能实现由左向右的查找,于是很多小伙伴在遇到反向查找问题时,总是习惯粘贴复制调换位置,这个当然是方法之一。


还有一种方法是借用INDEX函数+MATCH函数实现,非常简单方便。

但是既然说到VLOOKUP,那我们就看看到底能不能用VLOOKUP实现反向匹配。


首先需要利用IF函数将A列和B列互换。


公式=IF({1,0},B1:B18,A1:A18)


公式解读:数组公式,1相当于TURE,0相当于FALSE,当为1时,它会返回IF的第二个参数(B1:B18),为0时返回第二个参数(A1:A18)。


输入公式结束后同时按Ctrl+Shift+Enter三键出来结果。



B列和C列实现互换后,再直接用VLOOKUP就可以实现反向匹配。

公式=

VLOOKUP(G5,IF({1,0},B1:B18,A1:A18),2,0)



然后有小伙伴会问,你这是两列在一起,如果隔列反向查找怎么办呢?当然是同样的办法啦。


公式=

VLOOKUP(G5,IF({1,0},C1:C18,A1:A18),2,0)


只需要把对应的列进行修改即可。注意,第三个参数查找列依旧为2,因为IF函数构建的是一个两列的数据表。




案例2:多条件查找


在有多个条件的情况下,我们通常需要将多个条件先合并,再利用IF函数数组特性重构原始数据。


公式=

VLOOKUP(E3&F3,IF({1,0},A1:A13&B1:B13,C1:C13),2,0)

E3&F3:


将多条件合并

IF({1,0},A1:A13&B1:B13,C1:C13):利用if函数第一个参数的数组化特征,将多条件合并后的内容与查询的列结合起来,组成新的两列数据。


注意:案例1如果两列互换,所以是B在前A在后,这个案例不需要互换,所以AB在前,C在后


输入公式结束后同时按Ctrl+Shift+Enter三键出来结果。




案例3:在合并单元格内进行查找


虽然一再强调,尽量避免在Excel中进行单元格合并,但是为了美观,我们还是会遇到合并单元格的数据列表。


现需要根据左侧单价和各产品类型各分公司销售数量计算出总销售额。

因为第二个表中“产品类型”被设置成了合并单元格,除了每个合并区域的第一个单元格有数值外,其余均为空,因此无法直接在单价表中查找对应品种的单价,所以首先要使用公式填充合并单元格中的空单元格。


公式=LOOKUP('座',D$2:D2)


LOOKUP函数的特殊用法,在以D2单元格开始不断向下扩大范围的单元格区域中查找“座”字,当LOOKUP函数找不到“座”字时,则返回区域中最后一个非空单元格名称,即对应的产品类型。




解释:由于LOOKUP查找汉字是按照汉语拼音的顺序来查找的,座(拼音zuo)是拼音中的最后一个,所以用“座”可以查找区域中最后一个单元格内容,同理,换为其它字符代码较大的汉字也可以查找。


再用VLOOKUP函数查找出产品的单价,与销售量相乘,即得到总销售额。


最终的公式=

VLOOKUP(LOOKUP('座',D$2:D2),$A$2:$B$6,2,0)*F2



好啦,今天的教程就到这里啦,相信有了这篇文章,大家都能搞定VLOOKUP这个迷人的小妖精了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VLOOKUP函数应该怎么用,看完你就明白了~
让你从菜鸟成为玩转Excel的高手
EXCEL中功能强大的VLOOKUP函数,帮你解决对比和链接功能
Excel函数应用篇:查找引用类函数
FILTER、XLOOKUP、VLOOKUP、LOOKUP四个函数大PK,谁才是你心目中最厉害的函数?
查询引用中的黄金搭档,就是Index Match,还不了解的速度围观
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服