[我正在使用 Excel Pro 2013]
我有一张名为“11”的工作表,其中 P41:S43 单元格中有一张表格
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
我想从工作表“12”中重现相同的表格(如果我修改了“11”中的表格,它将在“12”中更新)。一种方法是手动执行此操作,使用以下公式:
='11'!P41 ='11'!Q41 ='11'!R41
='11'!P42 ='11'!Q42 ='11'!R42
='11'!P43 ='11'!Q43 ='11'!R43
还有许多其他工作表(从 1:11 开始),每个工作表在相同的单元格(P41:S41)中都有不同的表格。我想要一个名为“所有表格”的工作表,其中有一个大表格,所有单独的表格都放在一起。对于“所有表格”工作表中的表格 1:4,它将如下所示
1 ='1'!P41 ='1'!Q41 ='1'!R41 ='1'!S41
1 ='1'!P42 ='1'!Q42 ='1'!R42 ='1'!S42
1 ='1'!P43 ='1'!Q43 ='1'!R43 ='1'!S43
1 ='1'!P44 ='1'!Q44 ='1'!R44 ='1'!S44
2 ='2'!R38 ='2'!S38 ='2'!T38 ='2'!U38
2 ='2'!R39 ='2'!S39 ='2'!T39 ='2'!U39
2 ='2'!R40 ='2'!S40 ='2'!T40 ='2'!U40
2 ='2'!R41 ='2'!S41 ='2'!T41 ='2'!U41
3 ='3'!Q40 ='3'!R40 ='3'!S40 ='3'!T40
3 ='3'!Q41 ='3'!R41 ='3'!S41 ='3'!T41
3 ='3'!Q42 ='3'!R42 ='3'!S42 ='3'!T42
3 ='3'!Q43 ='3'!R43 ='3'!S43 ='3'!T43
4 ='4'!P38 ='4'!Q38 ='4'!R38 ='4'!S38
4 ='4'!P39 ='4'!Q39 ='4'!R39 ='4'!S39
4 ='4'!P40 ='4'!Q40 ='4'!R40 ='4'!S40
4 ='4'!P41 ='4'!Q41 ='4'!R41 ='4'!S41
在实践中,我通过始终编写每个组的第一行,然后将公式向下拖三行来实现这一点,例如,
='1'!P41 ='1'!Q41 ='1'!R41 ='1'!S41
当我完成前 4 行时,我必须将第一行从引用工作表“1”更改为引用工作表“2”,然后向下拖动三行(以实现第 5-8 行)。
有什么方法可以实现相同的结果(将工作表中的所有表格放在一个超级表中)而无需进行太多手动工作? 我的想法是这样的:
=INDIRECT(CONCATENATE("'";A2;"'!P41"))
=INDIRECT(CONCATENATE("'";A2;"'!Q41"))
=INDIRECT(CONCATENATE("'";A2;"'!R41")
=INDIRECT(CONCATENATE("'";A2;"'!S41")
(想象这些公式在同一行)
A2=1(当您向下拖动公式时,其值将为 1、2、3 或 4,具体取决于表格位置。它代表从第一行获取的工作表名称)
问题是,使用此公式时,向下拖动不会改变 P41:S41 单元格的引用。有什么方法可以让我使用公式向下拖动一行,从 P41:S41 获得 P42:S42 等等?
如果有更简单的方法可以做到这一点,请忽略 INDIRECT + CONCATENATE 建议。
答案1
如果你有相同的表在不同的工作表中相同的数据范围,下面的公式可以帮助合并表。
=IFERROR(INDEX(Comb1,ROWS(A$2:A2),COLUMN(A2)), IFERROR(INDEX(Comb2,ROWS(A$2:A2)-ROWS(Comb1),COLUMN(A2)), "-"))
在新工作表中使用公式之前,复制标题行,然后将单元格指针放在A2 电池,编写公式并执行它,然后将其拖到需要的位置。
注意:Comb1 和 Comb2 是两个表。
希望这对你有帮助。我测试过后发布了解决方案。