我在 Excel 中使用新的动态(即溢出)公式。我想要一个动态数组,它是另一个动态数组的累积或运行总计。
假设我有以下动态数据A1:A8
:
12
20
14
13
12
13
26
11
要找到这个数组中的差异是微不足道的:
=OFFSET(A1#,1,0)-A1#
8
-6
-1
-1
1
13
-15
-11
但是如何使用新的动态公式获得运行总数?
12
32
46
59
71
84
110
121
我在 Excel 中使用新的动态(即溢出)公式。我想要一个动态数组,它是另一个动态数组的累积或运行总计。
假设我有以下动态数据A1:A8
:
12
20
14
13
12
13
26
11
要找到这个数组中的差异是微不足道的:
=OFFSET(A1#,1,0)-A1#
8
-6
-1
-1
1
13
-15
-11
但是如何使用新的动态公式获得运行总数?
12
32
46
59
71
84
110
121
这是使用矩阵乘法的另一种方法
=MMULT(TRANSPOSE((ROW(I3#) <= TRANSPOSE(ROW(I3#)))*I3#),SIGN(I3#))
通过使用SIGN(I3#)
,chris neilsen
的解累积绝对值。要容纳负数,请在累积总和中替换SIGN(I3#)
为:1*(I3#=I3#)
=MMULT(TRANSPOSE((ROW(I3#) <= TRANSPOSE(ROW(I3#)))*I3#),1*(I3#=I3#))
或者,生成一个动态数组
SEQUENCE(ROWS(I3#),,,0)
而不是1*(I3#=I3#)
.
(我缺乏评论的声誉。)
这是我做到的一种方法,但想知道是否有更简单/更有效的方法来做到这一点......
=SUBTOTAL(9,OFFSET(A1#,0,0,SEQUENCE(COUNT(A1#))))
这个解决了一个滚动的十二和
=SUBTOTAL(9,OFFSET(A1#,SEQUENCE(COUNTA(A1#),1,0),0,12))