干货百科
您的位置: 首页 > 常识 >

excel两张表数据匹配计算公式(VLOOKUP+INDIRECT使用方法)

100次浏览     发布时间:2024-08-30 08:37:56    

举个工作实例,老板发给你一个工作簿,里面包含了多个工作表,需要你从子表中匹配,在总表中汇总数据,如下所示:

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