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

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。