Google表格 - 在ArrayFormula中使用范围进行欺骗

时间:2015-03-18 09:15:06

标签: google-sheets array-formulas cumulative-sum

例如,您有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})

但它不接受{},因为它需要范围,但不需要数组。

有没有人有技巧来覆盖这种行为?

1 个答案:

答案 0 :(得分:0)

简短回答

=ArrayFormula(sumif({1;2;3},"<="&{1;2;3}))

解释

SUMIF的sintax是SUMIF(range, criterion, [sum_range])

sum_range是一个可选参数,当它与范围不同时使用。由于sum_range和range是相同的,因此技巧不使用sum_range。

参考

SUMIF - Docs editors Help