口座ごとの累計残高(範囲を伸ばす SUMIFS)

むずかしい 数学
問題文
ヒント 0/4
模範解答 2
–
テストケース
1
2
3
リセット
提出
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
インタラクティブなスプレッドシートを読み込み中...
セルと数式の計算エンジンを準備しています
○ 準備完了 ハイライトされたセルに数式を入力し、「提出」を押してください。

問題

問題文

帳簿は2つの口座が同じ列に混ざっています。A2:A7 が口座、B2:B7 が日付、C2:C7 が金額です。2026-01-12 の行には、その日までの残高、つまり同じ口座の先頭からその行までの合計を入れます。Running balance セル D7 に入れてください。

下にコピーしても範囲の開始位置は動かず、終端だけが伸びる必要があります。

問題のデータ

表でデータ全体を見る(選択・コピーできます)
この問題のデータ表
ABCD
1AccountDateAmountRunning balance
2CASH2026-01-02100
3CASH2026-01-05250
4BANK2026-01-05500
5CASH2026-01-08-80
6BANK2026-01-10300
7CASH2026-01-1240

ポイント解説

累計には伸びる範囲が必要です:$C$2:C7。開始を $ で固定し、終端は相対にします。口座の条件を加えると「口座ごとの累計」になり、帳簿の見え方に一致します。列全体を合計すると、どの行も同じ数字になります。

解き方のヒント

回答は D7 に入力します。送信時は 3 通りの入力で数式を再実行するので、数値を直接書くと必ず失敗します。数式はセルを参照してください。

  1. 対象セルは D7
  2. 合計範囲は現在の行で終わる:$C$2:C7
  3. 条件は $A$2:A7 を A7 と比べる
  4. 形:=SUMIFS(?, ?, ?)——どちら側を固定する?

模範解答

模範解答を表示(2 通り・まずは自分で試してみましょう)

方法1:伸びる SUMIFS

=SUMIFS($C$2:C7, $A$2:A7, A7)

7行目までの CASH だけが対象で、100 + 250 - 80 + 40 = 310。BANK の行は、条件範囲が当該行までで A7 と一致する必要があるため除外されます。

方法2:同じ伸びる範囲で SUMIF

=SUMIF($A$2:A7, A7, $C$2:C7)

範囲の伸ばし方は同じで、SUMIF の引数順が違うだけです。どちらでも、2つの範囲を同じように伸ばさないと口座と金額がずれます。

関数ガイド

関連する練習問題

よくある質問

グループごとに累計をリセットするには?

範囲を固定した先頭から伸ばします:=SUMIFS($C$2:C7, $A$2:A7, A7)。下にコピーすると終端だけが動くので、各行は自分のグループをその行まで合計します。

どの行も同じ数字になるのはなぜ?

範囲を完全な絶対参照($C$2:$C$7)にしているため、どのセルも列全体を合計しています。終端を相対に戻します。