举个工作实例,老板发给你一个工作簿,里面包含了多个工作表,需要你从子表中匹配,在总表中汇总数据,如下所示:
B列的数据,需要在第1个表中匹配
C列的数据,需要在第2个表中匹配
依次类推
这里有6个子表
最笨的办法,我们每一列都使用一个公式
=VLOOKUP(A2,'1'!A:B,2,0)
用6次公式,也能解决问题
但是如果子表太多,这个方法还是不可取
我们希望能够一次性的全部匹配出来
我们发现一个规律:
当我们需要查找第2个表的时候,其实只需要将引用的1,变成2就可以了
有没有什么办法,可以将数字1,变成数字2
首先,我们做一个尝试,
=VLOOKUP(A2,'1'!A:B,2,0)
用B1单元格来替换数字1,使用的公式是:
=VLOOKUP($A2,"'"&B$1&"'!A:B",2,0)
通过这种引用方式,计算不出来结果,因为公式变成了:
=VLOOKUP(A2,"'1'!A:B",2,0)
中间的部分,要去掉双引号,才能得到结果
这个时候,就可以借助Indirect间接引用公式来完成
它就可以完美的帮助我们去掉双引号
所以我们输入的公式是:
=VLOOKUP($A2,INDIRECT("'"&B$1&"'!A:B"),2,0)
INIRECT公式补充其实INDIRECT公式很简单,它就是一个去掉双引号的过程,所以当你输入的公式是:
=INDIRECT("A3")
它就等价于=A3
关于这个小技巧,你学会了么?动手试试吧!