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,即得到我们想要的结果
如果说正好是某档的值,就如同精确查找一样:
关于这个函数公式,你学会了么?动手试试吧!
Vlookup搭配VSTACK公式,跨多表查找匹配,太牛了
举个工作中的实例来说明
如下所示,我们有4个表格,分别存放着不同员工的工资数据
实际工作中可能表的列数特别多,我们简化只保留了两列数据
员工姓名和工资数据
现在给定一组员工名单,需要跨4个表查找匹配出工资数据:
因为每个员工存放的位置是不确定的,有可能存放在任意的一个表中
有老办法和新办法进行解决
我们可以先使用VLOOKUP公式在第一个表里面,进行查找匹配,所以输入的公式是:
=VLOOKUP(A2,\’1组\’!A:B,2,0)
然后,我们可以在外层再嵌套一个IFNA公式,再去第2个表里面查找:
输入的公式是:
=IFNA(VLOOKUP(A2,\’1组\’!A:B,2,0),VLOOKUP(A2,\’2组\’!A:B,2,0))
然后依次嵌套4次,就能得到结果,但是公式也特别的复杂:
如果需要查找的子表更多,那这个公式太复杂了
VSTACK是新版本里面出来的函数公式:
它可以将数据区域纵向的拼接起来,例如,当我们输入公式:
=VSTACK(A1:B3,D1:E2)
它就可以把两个表的数据纵向的拼起来了
因此,我们可以把4个子表里面的数据拼接起来
所以我们输入公式:=VSTACK
先选中第一个表,按住SHIFT键,选中最后一个表,这样就选择了所有的表
然后再框选数据区域
公式会变成 :
=VSTACK(\’1组:4组\’!A1:B6)
它就是把4个子表A1:B6单元格给拼接起来了
所以我们再结合VLOOKUP公式,直接在拼接的数据源里面匹配,输入的公式是:
=VLOOKUP(A2,VSTACK(\’1组:4组\’!$A$1:$B$60000),2,0)
注意拼接数据源的范围,可以适应的扩大数据区域进行拼接,不影响查找匹配
关于这个小技巧,你学会了么?动手试试吧!
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。