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)  |

TOTALSARRAYFORMULA を使用して列を作成するにはどうすればよいですか?

ARRAYFORMULA(SUM(A1:C99)) すべてのセルの合計である単一の数値が得られます。それは私が望んでいることではありません。

回答:


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 2016年

空白のセルで動作させる方法についてのアイデアはありますか?(0として扱われます)
Michael Litvin 2016年

2
@MichaelLitvin:これを試してください:=ARRAYFORMULA(SUMIF(IF(COLUMN(B1:E1),ROW(B2:E4)),ROW(B2:E4),B2:E4))。@AdamLへのht。
Jacob Jan Tuinstra

空を処理するための1つのオプションはindirect、範囲の代わりに使用することです。私の場合、これを使用しましたindirect("e3:y"&max(arrayformula((index(E3:Y,0,0)<>"")*row(E3:Y))))
BrunoLM 2018

2

手動で列を合計するのはどうですか?

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

投稿者Nが不明な数の列のプレースホルダを意味しているか、投稿者が実際に列Nを意味していたかどうかを確認できません。列数が事前に決定できない場合、数式の各列に明示的に名前を付けることはできません。オプション。
Kevin Li
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.