我收到的excel数据有一个单独的工作表,其中包含每天的数据。我想从每个工作表中提取一个单元格(即单元格B5(,并将这些数据编译成一个工作表。我最有效的行动方案是什么。
您的"最高效">方法是:
=Sheet1!B5
=Sheet2!B5
=Sheet3!B5
etc
在空白工作表的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行返回1,在第3行返回2等。如果你不从第2行开始,你需要调整-1。
现在,对于您的解决方案,您只需将刚刚创建的公式嵌入到INDIRECT((函数中即可。
=INDIRECT(ADDRESS(5,2,1,1,INDEX($A$1:$A$4,ROW()-1)))
将公式写在一个单元格中,并根据工作表列表的长度进行复制。