(Excel)1つの式で累計を求める

 Excelで累計を求める場合には「=SUM(B$3:B3)」といった式を置いてあとは下にコピー、というやり方が一般的ですが、1つのセルに式を入力するだけで各行(列)に累計を表示することも可能です。

  • MMULT関数(行列積)などを使い、1つのセルに式を入力するだけで累計を表示することができます。

手順

f:id:accs2014:20200117013242p:plain:right:w600

 集計対象となる数値がB3:B12に記録されています。
 そこでC3セルに次のように入力します。

=MMULT(IF(ROW(B3:B10)>=TRANSPOSE(ROW(B3:B10)),1,0),B3:B10)

 集計範囲の各セルの行番号とそれを転置した値を比較することによって1と0の値からなる下三角行列を生成します。
 そしてMMULT関数により集計範囲そのものとの行列積を求めることにより、累計の列を得ます。

 下三角行列の生成については次の記事でも少し触れています。
www.officeisyours.com
 

f:id:accs2014:20200117013245p:plain:right:w350

 結果はこうなります。

 手法としては合理的なのですが、集計関数を用いるExcelらしいアプローチとは異質なためちょっと馴染みにくいかもしれません。