ARRAYFORMULA 与 SUM 或 SUMIF?
ARRAYFORMULA with SUM OR SUMIF?
我正在尝试将 ARRAYFORMULA
与 SUM (or SUMIF?)
结合使用。我基本上想锁定 C1
并且总是 SUM
从 C1
向下
=ARRAYFORMULA((SUM(C1:C2) + 1)&":"&(SUM(C1:C3))) IN D3 is this
=ARRAYFORMULA((SUM(C1:C3) + 1)&":"&(SUM(C1:C4))) IN D4 is this
这是示例 sheet,下面是视觉效果。
C 列为 50、20、16 等
Col D 是 2:50、51:70、71:86 等
https://docs.google.com/spreadsheets/d/1DANMNEahYAoYBCQO1BsfXfUrgPj2mVWNKjn7VuYIIyI/edit#gid=0
units desired_result
50 2:50
20 51:70
16 71:86
8 87:94
2 95:96
如果你能简单解释一下逻辑就好了。 Google 令人困惑(一如既往)并且 Youtube 受到限制。
要锁定范围,请使用 $
=(SUM($C:C2) + 1)&":"&(SUM($C:C3))
向下拖动填充。
这给出了接近您想要的结果,但如果您想在 F2 中获得 2:50 并进一步向下 163:163
,则需要进行一些调整
=arrayformula(if(C2:C="","",sumif(row(C2:C),"<"&row(C2:C),C2:C)+1&":"&sumif(row(C2:C),"<="&row(C2:C),C2:C)))
我认为它应该是不言自明的 - 公式的第一部分给出了行号小于当前行的行号的所有行的总和,公式的第二部分给出了所有行的总和小于或等于当前行的行。有点棘手的是要意识到,当 SUMIF 的标准部分“<”&row(C2:C) 本身是一个数组时,SUMIF 会针对每个数组元素单独求值,并在结果输出数组中给出一个新行。
我正在尝试将 ARRAYFORMULA
与 SUM (or SUMIF?)
结合使用。我基本上想锁定 C1
并且总是 SUM
从 C1
向下
=ARRAYFORMULA((SUM(C1:C2) + 1)&":"&(SUM(C1:C3))) IN D3 is this
=ARRAYFORMULA((SUM(C1:C3) + 1)&":"&(SUM(C1:C4))) IN D4 is this
这是示例 sheet,下面是视觉效果。
C 列为 50、20、16 等
Col D 是 2:50、51:70、71:86 等
https://docs.google.com/spreadsheets/d/1DANMNEahYAoYBCQO1BsfXfUrgPj2mVWNKjn7VuYIIyI/edit#gid=0
units desired_result
50 2:50
20 51:70
16 71:86
8 87:94
2 95:96
如果你能简单解释一下逻辑就好了。 Google 令人困惑(一如既往)并且 Youtube 受到限制。
要锁定范围,请使用 $
=(SUM($C:C2) + 1)&":"&(SUM($C:C3))
向下拖动填充。
这给出了接近您想要的结果,但如果您想在 F2 中获得 2:50 并进一步向下 163:163
,则需要进行一些调整=arrayformula(if(C2:C="","",sumif(row(C2:C),"<"&row(C2:C),C2:C)+1&":"&sumif(row(C2:C),"<="&row(C2:C),C2:C)))
我认为它应该是不言自明的 - 公式的第一部分给出了行号小于当前行的行号的所有行的总和,公式的第二部分给出了所有行的总和小于或等于当前行的行。有点棘手的是要意识到,当 SUMIF 的标准部分“<”&row(C2:C) 本身是一个数组时,SUMIF 会针对每个数组元素单独求值,并在结果输出数组中给出一个新行。