SUM

SUM関数をarrayformula内で使用する時のhow-toです。

※参考:SUM - ドキュメント エディタ ヘルプ (google)

例えば、

のように、ある3列のセルの合計を計算したい、という場合です。

$を利用して固定するかは人によって別れると思いますが、通常の全てのセルに書いていく形式だと以下のようになります。

ただし、Arrayformulaは自動的に列ごとに計算してくれるわけではないため、A2からC6のセルを全て引数に渡しても自動的に行ごとに展開してくれるわけではありません(bad example 1行目)。
また、sumは1つ以上の全ての引数の合計を1つのセルに返す関数のため、引数を列ごとに分けて渡しても同じ結果になってしまいます(bad example 2行目)。

そこで、ここでは"条件を満たしているセルの合計を返す"関数、SUMIF関数を利用します。

※参考:SUMIF - ドキュメント エディタ ヘルプ (google)

具体的に何をしているかというと、

  • SUMIFの1つ目の引数でA2からC6までの全てのセルにそれぞれの列番号を割り振る(explain1番目のresult)
  • SUMIFの2つ目の引数でそれぞれの列番号を渡す(explain2番目のresult)

以上のようにすることで、explain3番目のresultのように特定の行のセルにのみTRUEに、それ以外の行のセルには全てFALSE になるテーブルができます。

あとはSUMIFの3番目引数に本来計算して欲しい範囲を渡すことで、それぞれの行のセルのみを合計した結果が特定の列の中に入り、欲しい結果が得られるというわけです。



参考:arrayformula sum in Google spreadsheet - Stack Overflow
https://www.google.co.jp/search?q=arrayformula+sum&oq=arrayformula+sum&aqs=chrome.0.69i59j69i60l3.3567j0j1&sourceid=chrome&ie=UTF-8