VLOOKUP的七种用法,实用才是硬道理
小伙伴们好啊,今天和大家来说说VLOOKUP的那些事儿,深入了解一下VLOOKUP函数的各种用法,看看这位大众情人还藏着多少不为人知的秘密。
函数的语法为:
VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还是近似找)
第一参数是要查询的值。
第二参数是需要查询的单元格区域,这个区域中的首列必须要包含查询值,否则公式将返回错误值。如果查询区域中包含多个符合条件的查询值,VLOOKUP函数只能返回第一个查找到的结果。
第三参数用于指定返回查询区域中第几列的值。
第四参数决定函数的查找方式,如果为0或FASLE,用精确匹配方式,而且支持无序查找;如果为TRUE或被省略,则使用近似匹配方式,同时要求查询区域的首列按升序排序。
1、常规查询
如图,需要从B~E的数据表中,根据H3单元格的姓名查询对应的职务。
公式为:
=VLOOKUP(H3,C:E,3,0)
提示:
- VLOOKUP函数第三参数中的列号,不能理解为工作表中实际的列号,而是指定要返回查询区域中第几列的值。
2、带通配符的查询
如图,需要从B~E的数据表中,根据H3单元格的姓氏,查询对应的姓名和部门。
公式为:
=VLOOKUP($H3&\”*\”,$C:$E,COLUMN(A1),0)
提示:
通配符“*”表示任意多个字符,VLOOKUP函数第一参数使用$H3&\”*\”,即在C列中查询以H2单元格内容开头的内容,并返回对应列的信息。
3、近似查询
如图,需要根据H~I的对照表,判断D列成绩对应的评议结果。
公式为:
=VLOOKUP(D2,H:I,2)
提示:
- VLOOKUP函数第四参数被省略,在近似匹配模式下返回查询值的精确匹配值或近似匹配值。如果找不到精确匹配值,则返回小于查询值的最大值。
- 使用近似匹配时,查询区域的首列必须按升序排序,否则无法得到正确的结果。
4、逆向查询
如图,需要从B~E的数据表中,根据H3单元格的部门,查询对应的姓名。
公式为:
=VLOOKUP(H3,CHOOSE({1,2},D2:D11,C2:C11),2,0)
提示:
- VLOOKUP函数的查询值要求必须位于查询区域中的首列,如果被查找值不在数据表的首列时,需要先将目标数据进行特殊的转换。
- CHOOSE函数第一参数使用常量数组{1,2},将查询值所在的D2:D11和返回值所在的C2:C11整合成一个新的两列多行的内存数组。
- 生成的内存数组符合VLOOKUP函数的查询值必须处于数据区域中首列的要求。VLOOKUP函数以职务做查询条件,在内存数组中查询并返回对应的姓名信息,从而实现了逆向查询的目的。
5、多条件查询
如图,需要从B~E的数据表中,根据H3单元格的部门和I3单元格的职务,查询对应的姓名。
J3单元格公式为:
=VLOOKUP(H3&I3,IF({1,0},D2:D11&E2:E11,C2:C11),2,)
提示:
- 使用连接符“&”将部门和职务合并成新的字符串,以此作为VLOOKUP函数的查询条件。
- IF部分,先将D列的部门和E列的职务进行连接,再使用IF({1,0}的方式,构造出部门职务在前、姓名在后的内存数组。
- VLOOKUP函数在IF函数构造出的内存数组首列中查询部门职务字符串的位置,返回对应的姓名。
- 数组公式,不要忘了按<Ctrl+Shift+Enter>组合键。
6、一对多查询
如图,需要从B~E的数据表中,根据H3单元格的职务,查询对应的多个姓名。
首先在A2单元格输入以下公式,向下复制:
=(E2=$H$3)+A1
然后在I3单元格输入以下公式,向下复制:
=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),\”\”)
提示:
- C列的职务每重复出现一次,A列的序号增加1。
- VLOOKUP函数使用1至N的递增序列作为查询值,使用A:C列作为查询区域,以精确匹配的方式返回与之相对应的B列的姓名。注意查找区域必须由辅助列A列开始。
- 最后将辅助列字体设置为白色或进行隐藏即可。
7、按指定次数重复数据
如图,需要根据C列指定的次数,重复显示B列的内容。
首先在A2单元格输入以下公式,向下复制:
=A1+C2
然后在E2单元格输入以下公式,向下复制:
=IFERROR(VLOOKUP(ROW(A1),A:B,2,0),E3)&\”\”
今天的分享就是这些,祝小伙伴们一天好心情!
专业的职场技能充电站
图文制作:祝洪忠
Excel公式Vlookup,模糊匹配详细解读,1分钟学会!
工作中,用到最频繁的公式就是VLOOKUP了,我们知道它是由4个参数组成的
=VLOOKUP(查找值,查找区域,查找列,查找方式)
其中第4参数查找方式,当输入1或TRUE为模糊查找
输入0或FALSE时为精确查找
举个简单例子,根据姓名,匹配工资数据:
这里查找值是F2单元格,查找数据是B:D列(因为查找的是姓名,姓名在B列,所以需要从B列开始,不能从A列开始),查找结果在第3列,精确查找
所以我们输入的公式是:
=VLOOKUP(F2,B:D,3,0)
首先,我们要明白一个概念,模糊查找并不是通配查找
例如,当我们需要查找一个布字的时候, 那是不是可以用模糊查找1来查找
确定表示,这种用法是错误的
VLOOKUP模糊查找,基本上99%都是用在数字的查找匹配上
如果出现查找值是中文的情况下,都不能使用
只有查找值是数字的时候,才能用模糊查找
例如,这个例子:
我们需要根据KPI的分数来计算奖励,其中有一个奖励标准
这个时候,KPI查找值,就是一个数字,就可以用模糊查找
在使用之前,我们需要对奖励标准进行处理
我们建立辅助列
把每个档位的最低值给列出来:
例如,<60,数学里面的集合,它的最小值是负无穷,但是我们考核KPI的时候,不可能是负无穷,所以我们只需要列一个比较小的数就可以
60<=X<70,那么这个集合里面的最小值,就是60了
依次类推,都列出来
同时,需要对辅助列进行升序排列
这里已经是升序排列,所以无需操作
最后,我们使用公式:
=VLOOKUP(B2,E:G,3,1)
查找B2,查找列是E:G,结果在第3列,最后使用1模糊查找
那么它的实现原理是什么呢?
比如说,我们的查找值是82,那它的定位在70,90之间,那么它会取小的那一档,所以取值是70这一档的值,对应第3列是1200,即得到我们想要的结果
如果说正好是某档的值,就如同精确查找一样:
关于这个函数公式,你学会了么?动手试试吧!
4个vlookup函数的高阶用法,估计你一种都没用过
Hello,大家好,vlookup函数相信大家都非常的熟悉,今天就跟大家分享4个vlookup函数的高阶用法,话不多说,让我们直接开始吧
如下图,我们想要提取工号,只需要将函数设置为:=VLOOKUP(0,{0,1}*MID(A2,ROW($1:$30),6),2,0),
因为这个一个数组公式所以我们要按Ctrl+shift+回车三键填充公式,然后向下拖动即可,这样的话我们就提取到了工号,但是如果工号的第一位或者第二位是0的话,这个0我们是提取不到的,我们点击这一列,然后按Ctrl+1调出格式窗口,点击自定义,在类型中输入6个0,点击确定,这样的话就完成了
如下图,我们想要将相同班级的姓名放在一个单元格中,首先我们班级对照表后面构建一个辅助列,在里面输入函数:=B2&IFERROR(\”、\”&VLOOKUP(A2,A3:$C$10,3,0),\”\”)然后向下填充到倒数第二个单元格的位置也就是C9单元格,然后在最后一个单元格输入=B10,就是最后一个单元格对应的姓名
紧接着我们只需要在旁边新建一班到三班的数据区域,输入函数:=VLOOKUP(E3,A:C,3,0),向下填充即可得到正确额结果,在这里我们是将第一步查询到的结果引用到我们新建的区域中
所谓的反向查找,就是我们要查找的结果在查找列的左边,我们就称之为反向查找,如下图,我们想根据学号查找姓名,这个就是所谓的反向查找,反向查找也仅仅是针对vlookup来说的,我们只需要将公式设置为 :=VLOOKUP(G2,IF({1,0},B1:B9,A1:A9),2,0),然后按ctrl+shift+回车填充公式即可
一般情况下,我们使用vlookup函数进行数据查询,一次只能查询一个sheet的数据,但是当我们将表头设置为sheet的名称,配合INDIRECT函数即可实现引用多个表格数据的效果,公式为:=VLOOKUP($A2,INDIRECT(B$1&\”!A:B\”),2,0)
以上就是我们今天分享的4个vlookup的高阶应用,你用过吗?
我是excel从零到一,关注我,持续分享更多excel技巧
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。