cellio

Excelで累計(累積合計)を計算する数式と作り方

Excelで累計(累積合計)を求めるなら「=SUM($B$2:B2)」を入力してオートフィルするだけ!複合参照の仕組みから、残高計算、カテゴリ別の累計、Microsoft 365の新関数まで分かりやすく解説します。

著者 Ayoub Farid · · 4 分で読めます

累計(累積合計)を計算すると、年間の売上推移や口座残高、目標に対する進捗状況など、行ごとに数値がどのように積み上がっていくかをひと目で把握できます。実はこれ、たった1つの数式で作ることができます。セル参照の「半分だけ固定する」テクニックが必要になるため、就職・転職のExcelスキルテストでも頻出のテーマです。

基本の数式

セルB2からB13に売上データが入力されているとします。セルC2に次の数式を入力します。

=SUM($B$2:B2)

これをセルC13までオートフィル(下にコピー)します。すると、3行目は =SUM($B$2:B3)、4行目は =SUM($B$2:B4) というように数式が自動で変化します。

なぜこれで累計が計算できるのか?

  • $B$2 は絶対参照で固定されているため、セル範囲の起点は常に最初の月(行)から動きません。
  • B2 は相対参照なので、数式を下にコピーするたびに終点が1行ずつ下にズレていきます。

これにより、合計するセル範囲が1行ずつ広がっていく仕組みです。もし「$」を付け忘れてしまうと、3行目では =SUM(B3:B3) のようになってしまい、正しい累計が計算できません。これはExcelで非常によくあるミスの一つです。詳しくは絶対参照の解説記事をご覧ください。

別の方法:前の行の累計+現在の行の値

C2に =B2 と入力し、 C3に =C2+B3 と入力して下にオートフィルします。

この方法もシンプルで直感的ですが、途中の行を削除したときに #REF! エラーが発生してしまうというデメリットがあります。

入出金の差引残高を計算する

入金額がB列、出金額がC列にある場合、セルD2に次の数式を入力します。

=SUM($B$2:B2)-SUM($C$2:C2)

カテゴリ別に累計をリセットして計算する

A列のカテゴリ(商品分類や部門など)ごとに累計をリセットしたい場合は、次のように記述します。

=SUMIF($A$2:A2,A2,$B$2:B2)

Microsoft 365:スピルを使った単一数式での算出

=SCAN(0,B2:B13,LAMBDA(a,b,a+b))

少し応用的なExcel関数ですが、1つのセルに数式を入力するだけで、列全体に累計結果が自動で展開(スピル)されるスマートな方法です。

実際に練習してみよう

「各月時点での累計売上はいくらか?」を求める累計計算は、Cellioのオートフィル学習レッスンにも含まれています。コピーした数式が参照するセルがズレている場合、1行目は合っていてもコピー先で範囲がズレていることがフィードバックで指摘され、正しい =SUM($B$2:B2) の書き方を学ぶことができます。

よくある質問

Excelで累積合計(累計)を計算するにはどうすればよいですか?

最初の行に =SUM($B$2:B2) と入力し、下の行に向かってオートフィル(下にコピー)してください。

累計の数式が1つのセルしか足してくれないのはなぜですか?

セル範囲の開始位置が固定されていません。$B$2 のように「$」を付けて絶対参照にしてください。

Googleスプレッドシートでも同じように累計を計算できますか?

はい、Googleスプレッドシートでもまったく同じ =SUM($B$2:B2) という数式で累計を計算できます。

月ごとやカテゴリごとに累計をリセットすることはできますか?

はい、可能です。A列にカテゴリ名が入っている場合は =SUMIF($A$2:A2,A2,$B$2:B2) を使用することで、カテゴリごとに累計をリセットできます。

あわせて読みたい