举个工作中的例子,我们有3张工作表,分别记录了一些不同分部的员工工资表数据
然后我们在总表中,有一些员工,需要快速查找匹配他们的工资数据。
这些员工可能存在于任意一个工作子表
有2种方法快速跨多表查找
方法一:多个VLOOKUP套用
首先我们在杭州表中查找匹配,所以输入的公式是:
=VLOOKUP(A2,杭州!A:B,2,0)
它只能找到一部分员工的数据,其它的会返回错误值
然后我们只需要嵌套一个IFERROR公式,再去下一个工作表中查找
=IFERROR(VLOOKUP(A2,杭州!A:B,2,0),VLOOKUP(A2,南昌!A:B,2,0))
依次类推,如果有3个工作表,我们继续嵌套IFERROR,输入的公式是:
=IFERROR(IFERROR(VLOOKUP(A2,杭州!A:B,2,0),VLOOKUP(A2,南昌!A:B,2,0)),VLOOKUP(A2,金华!A:B,2,0))
如果子表数量少,可以用上述方法
方法二:通查法
如果子表数量特别多,就需要一次性查找出来了
首先,我们需要把当前工作簿所有的子表,表名给提取出来(这步也有快捷提取方法)
例如放在D2:D4单元格了
然后我们只需要输入公式:
=VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT($D$2:$D$4&"!A:A"),A2),$D$2:$D$4)&"!A:B"),2,0)
它的计算原理简单介绍
1、首先 COUNTIF(INDIRECT($D$2:$D$4&"!A:A"),A2),就是每个子表的A列查找是否有A2的值
2、利用LOOKUP公式,如果有找到的情况下,返回对应表格的名称A:B列数据区域
3、使用VLOOKUP公式,查找对应A:B列表的第2列数据。
关于这个小技巧,你学会了么?动手试试吧!