我知道我可以使用
=SUM($A$2:a2)
并简单地向下拖动这个公式来获得列的累积和。不过,我不喜欢拖公式。我发现使用 arrayformula() 可以更好地使我的工作表更加动态。
例如,我更喜欢使用
=vlookup(d1,$a$1:$b,2,false)
,而不是使用 =arrayformula(vlookup(offset(d1,0,0,counta(d1:d),1),$a$1:$b,2,false))
然后拖动此公式。最后一个公式将为我提供所需的结果,而无需拖动公式加上动态的额外好处,如果我将项目添加到 D 列,vlookup 也会扩展。
我想知道是否有一种动态方法可以用返回列的累积和的公式来执行类似的操作。
我尝试了类似
=arrayformula(sum($a$2:a))
的方法,但这不起作用。
为了使其更先进,您可以使用
=数组公式(IF(ROW(A1:A) <= MAX(FILTER(ROW(A:A); A:A <> "")); SCAN(0; A1:A; LAMBDA(cumsum; current_value; IF(ISBLANK(current_value); cumsum; cumsum + current_value))); “”))
它将检查 A 列中是否有空值,并继续计算累计和,直到 A 中的最后一个当前值。
换句话说,它将正确地处理这样的数组: 1,2,4,5,,29,,,,,,100