口座ごとの累計残高(範囲を伸ばす SUMIFS)
テストケース
1
2
3
リセット
提出
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 準備完了 ハイライトされたセルに数式を入力し、「提出」を押してください。
テストケース
1
2
3
リセット
提出
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 に入れてください。
下にコピーしても範囲の開始位置は動かず、終端だけが伸びる必要があります。
問題のデータ
表でデータ全体を見る(選択・コピーできます)
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Account | Date | Amount | Running balance |
| 2 | CASH | 2026-01-02 | 100 | |
| 3 | CASH | 2026-01-05 | 250 | |
| 4 | BANK | 2026-01-05 | 500 | |
| 5 | CASH | 2026-01-08 | -80 | |
| 6 | BANK | 2026-01-10 | 300 | |
| 7 | CASH | 2026-01-12 | 40 |
ポイント解説
累計には伸びる範囲が必要です:$C$2:C7。開始を $ で固定し、終端は相対にします。口座の条件を加えると「口座ごとの累計」になり、帳簿の見え方に一致します。列全体を合計すると、どの行も同じ数字になります。
解き方のヒント
回答は D7 に入力します。送信時は 3 通りの入力で数式を再実行するので、数値を直接書くと必ず失敗します。数式はセルを参照してください。
- 対象セルは D7
- 合計範囲は現在の行で終わる:$C$2:C7
- 条件は $A$2:A7 を A7 と比べる
- 形:=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)にしているため、どのセルも列全体を合計しています。終端を相対に戻します。