4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GoogleSpreadsheetsでArrayFormulaを使って累計を計算する

Last updated at Posted at 2016-12-19

概要

単に累計出すだけなら
=sum($a1:a1)
をコピペでドーーーーン!ってすれば終わり。

でもコピペは嫌なんでArrayFormula使ってこんな感じにしたくない?

=ArrayFormula(sum(offset(A1,0,0,1,column(A1:J1))))

ところがArrayFormulaはsum関数offset関数と相性が悪い。
しょうがないので行列の積を使ってなんとかしてみた的な。

結果だけ欲しい人向け

WS000001.JPG

=mmult(A1:J1,ArrayFormula(1*((transpose(column(A1:J1)))<=column(A1:J1))))

A1:J1に計算したい値が入っているとして、A2に上記の式を書くだけでB2:J2が自動計算される。

もう少し解説が欲しい人向け

WS000002.JPG

1行目の数列に3~12行目の10x10の配列をMMULT関数に放り込める形の配列をArrayFormulaででっち上げればいい。
行列の計算は解説できるほど得意ではないので、Google先生経由で各自理解をお願いします。
まぁこの行列の積は、見た目でどういう計算しているか分かり易いとは思いますが。

3行目~12行目の配列の作り方は

WS000003.JPG

こんな感じです。(はしょりすぎ)
ArrayFormula分かってる人向けって事で。

おわり

集計表の中に埋め込んである関数式ぶっ壊す人は4んだ方がいいと思うの。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?