如何将ARRAYFORMULA和SUM一起使用以得到前几列之和的一列?


11

在Google表格中,我有以下数据:

    |   A |  B  |  C  |  ...  | N  | TOTALS       |
  1 |  123|  425|  324|  ...  | 234| =SUM(A1:N1)  |
  2 |  123|  425|  324|  ...  | 234| =SUM(A2:N2)  |
  3 |  123|  425|  324|  ...  | 234| =SUM(A3:N3)  |

如何TOTALS使用ARRAYFORMULA 创建列?

ARRAYFORMULA(SUM(A1:C99)) 将给出一个数字,即所有单元格的总和-这不是我想要的。

Answers:


8

使用以下公式可以做到这一点。

=MMULT(B2:E4,TRANSPOSE(ARRAYFORMULA(COLUMN(B2:E4)^0)))

解释

ARRAYFORMULA是为了恢复完整的范围,如由设定COLUMN公式。在^0 (power of zero)将总是返回1。因此每个结果乘以1(产生相同的值),并求和。

我为您创建了一个示例文件:SUM OVER ROWS


2
@YisraelDov,如果您正在寻找答案,请记住将其标记为已接受。
Alex

这是一个了不起的答案。
Michael Litvin

关于如何使其与空白单元格一起工作的任何想法吗?(将被视为0)
Michael Litvin

2
@MichaelLitvin:试试这个:=ARRAYFORMULA(SUMIF(IF(COLUMN(B1:E1),ROW(B2:E4)),ROW(B2:E4),B2:E4))。ht到@AdamL。
雅各布·扬·图恩斯特拉'16

要处理空,一种选择是使用indirect而不是范围。就我而言,我使用了它indirect("e3:y"&max(arrayformula((index(E3:Y,0,0)<>"")*row(E3:Y))))
BrunoLM '18

2

如何手动汇总列:

=arrayformula(A:A + B:B + C:C)

不能确定张贴者是N用作未知数目的列的占位符,还是不能确定张贴者是否确实是N列。如果无法提前确定列数,则不能明确命名公式中的每一列一个选项。
Kevin Li
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.