举个工作中的实例来说明
如下所示,我们有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)
注意拼接数据源的范围,可以适应的扩大数据区域进行拼接,不影响查找匹配
关于这个小技巧,你学会了么?动手试试吧!