Excel:自动填充连续的公式组

Excel:自动填充连续的公式组

我在 Excel 2016 中有多组公式:

=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B43
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B44
=CLASSSTRUCTURE!B45
=CLASSSTRUCTURE!B45
=CLASSSTRUCTURE!B45
=CLASSSTRUCTURE!B45

每组重复四次公式。

我想自动填充接下来的四行(依此类推):

...
=CLASSSTRUCTURE!B46
=CLASSSTRUCTURE!B46
=CLASSSTRUCTURE!B46
=CLASSSTRUCTURE!B46

有没有办法做到这一点?

答案1

通常的方法是使用 INDEX() 函数,该函数允许您通过提供行号和列号来查找单元格范围内的单元格。

使用如下方法:

=INDEX($A$1:$A$100, INT((ROW($A1)-ROW($A$1))/4)+1)

在哪里

$A$1:$A$100 是您所引用的单元格范围(它可以向下到您希望的任何范围)。

ROW() 给出它所引用单元格的行号,因此 ROW($A1)-ROW($A$1) 给出从我们要填充的第一个单元格往下的单元格数。(注意 $)

将其除以 4 并向下舍入,我们便会得到要从中获取数据的单元格的行号。您可以根据需要将此公式复制到页面下方。

可以以类似的方式使用“OFFSET”或“INDIRECT”函数,但它们会使您的电子表格速度变慢,因为它们都是“易失性”函数,无法利用 Excel 对计算过程的智能优化。


优化:

我们可以减少“INDEX”的使用次数,因为每 4 个单元格中就有 3 个与上面的单元格相同。因此我们使用:

Cell     Formula
C1       =INDEX($A$1:$A$100, INT((ROW($A1)-ROW($A$1))/4)+1)
C2       =C1
C3       =C2
C4       =C3
C5       =INDEX($A$1:$A$100, INT((ROW($A1)-ROW($A$1))/4)+1)
C6       =C5
C7       ...

只要您以 4 行为单位进行复制粘贴,仍然可以将其复制粘贴到工作表中。

相关内容