我有一张表,我想使用以下逻辑使其保持动态:
Cell D500 - "=D18*D19"
Cell D501 - "=D20*D21"
Cell D502 - "=D22*D23"
...
我需要保持行和列的动态,因为我将把它复制到 E 到 SV 列(约 500 列),但我似乎无法找到一个好的方法将它向下复制,而不会将行值增加 1 而不是 2,或者出现各种不必要的行为。
有什么好方法可以做到这一点吗?
答案1
您不能使用简单的引用来实现这一点。您需要INDEX()
对每个引用使用函数,如下所示:
=INDEX(D:D,18+(ROW()-500)*2)*INDEX(D:D,18+(ROW()-500)*2+1)
答案2
另一种解决方案是使用以下INT()
函数:
=INDIRECT(ADDRESS(INT((ROW()-500)*2)+18,4))*INDIRECT(ADDRESS(INT((ROW()-500)*2)+19,4))
有几个参数:
500
:这是公式开始的数字,在本例中是单元格 D5004
:这是列号(单元格 D500 位于第 4 列)2
:这是乘法的次数。如果您要将 3 项相乘(D18*D19*D20
),则需要改用3
。18
/19
:这是您计算的第一行和第二行。
我邀请您使用“公式”选项卡中的“评估”按钮,逐步了解其工作原理。