Vlookup搭配VSTACK公式,跨多表查找匹配,太牛了

志课程 2024-05-11 07:32:46

举个工作中的实例来说明

如下所示,我们有4个表格,分别存放着不同员工的工资数据

实际工作中可能表的列数特别多,我们简化只保留了两列数据

员工姓名和工资数据

现在给定一组员工名单,需要跨4个表查找匹配出工资数据:

因为每个员工存放的位置是不确定的,有可能存放在任意的一个表中

有老办法和新办法进行解决

1、VLOOKUP老办法

我们可以先使用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次,就能得到结果,但是公式也特别的复杂:

如果需要查找的子表更多,那这个公式太复杂了

2、VLOOKUP+VSTACK嵌套

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)

注意拼接数据源的范围,可以适应的扩大数据区域进行拼接,不影响查找匹配

关于这个小技巧,你学会了么?动手试试吧!

0 阅读:2