例如,您有A1 = {1;2;3}
所以,如果你想在B1
中累积总和,你可以这样做:
B1 = ARRAYFORMULA(SUMIF(ROW(A1:A3);"<="&row(A1:A3);A1:A3))
或更灵活的变体:
B1 =ARRAYFORMULA(SUMIF(INDIRECT("A1:A"&COUNTA(A:A));"<="&INDIRECT("A1:A"&COUNTA(A:A);INDIRECT("A1:A"&COUNTA(R:R)))))
此变体根据A1
中数组的长度进行扩展,并且不会增长到工作表的末尾。
我想直接在公式中使用A1
的值,如:
=ARRAYFORMULA(sumif(row({1;2;3});"<="&row({1;2;3}));{1;2;3})
但它不接受{}
,因为它需要范围,但不需要数组。
有没有人有技巧来覆盖这种行为?
答案 0 :(得分:0)
=ArrayFormula(sumif({1;2;3},"<="&{1;2;3}))
SUMIF的sintax是SUMIF(range, criterion, [sum_range])
sum_range是一个可选参数,当它与范围不同时使用。由于sum_range和range是相同的,因此技巧不使用sum_range。