将数据从工作表转移到单个工作簿

时间:2020-03-20 00:05:24

标签: excel vba

我收到的excel数据有一个单独的工作表,其中包含每天的数据。我想从每个工作表中提取一个单元格(即:单元格B5),并将该数据编译为一个工作表。我最有效的做法是什么。

2 个答案:

答案 0 :(得分:0)

您的“最高效” 方法将是:

=Sheet1!B5
=Sheet2!B5
=Sheet3!B5
 etc

答案 1 :(得分:0)

在空白工作表的C2:C5中尝试使用此公式。

 =ADDRESS(5,2,1,1,INDEX({"Sheet1","Sheet2","Sheet3","Sheet4"},ROW()-1))

您将获得此结果。

Sheet1!$B$5
Sheet2!$B$5
Sheet3!$B$5
Sheet4!$B$5

您可以将工作表名称写在一个范围内,例如A1:A4,并在公式{"Sheet1","Sheet2","Sheet3","Sheet4"}中替换直接范围,以使公式看起来像这样。

=ADDRESS(5,2,1,1,INDEX($A$1:$A$4,ROW()-1))

观察到ROW()-1是在第2行,第2行,第3行等中返回1的计数器。如果不从第2行开始,则需要调整 -1

现在,对于您的解决方案,您只需将刚创建的公式嵌入INDIRECT()函数中即可。

=INDIRECT(ADDRESS(5,2,1,1,INDEX($A$1:$A$4,ROW()-1)))

在一个单元格中编写公式,并向下复制,只要您的工作表列表就可以。

相关问题