※本記事には広告(アフィリエイトリンク)を含む場合があります。
ExcelのSUMIFS関数で月別・科目別に集計する方法|月末の指定でよくある落とし穴も解説
家計簿や経費の一覧から「2月の通信費はいくら?」を出したいときは、SUMIFS(サムイフス)関数を使います。
この記事では、SUMIFS関数で期間と科目の両方を条件にして合計する方法を、練習用ファイルを使って4つの手順で解説します。最後の手順では、月末の指定でよくある集計漏れも紹介します。
練習用ファイルには、次のような一覧が入っています(A列:日付、B列:科目、C列:金額)。
| 日付 | 科目 | 金額 |
|---|---|---|
| 2026/1/5 | 通信費 | 6,000 |
| 2026/1/31 18:30 | 消耗品費 | 1,980 |
| 2026/2/1 | 通信費 | 6,000 |
| 2026/2/10 | 新聞図書費 | 2,420 |
| … | … | … |
SUMIFS関数の形
=SUMIFS(合計する範囲, 条件の範囲1, 条件1, 条件の範囲2, 条件2, …)
最初に「合計する範囲」を書き、そのあとに「どの列が」「どの条件か」をペアで並べます。条件はいくつでも増やせます(すべての条件を満たす行だけが合計されます)。
手順1:科目だけで合計する
まずは条件1つから。「通信費」の合計を出します。
=SUMIFS($C$2:$C$100, $B$2:$B$100, "通信費")
結果は 18,000 です。B列が「通信費」の行の、C列の金額を合計しています。
手順2:期間と科目で合計する
「2月の通信費」のように期間を条件にするときは、日付の列に2つの条件(以上と、より前)を付けます。
=SUMIFS($C$2:$C$100,
$B$2:$B$100, "通信費",
$A$2:$A$100, ">="&DATE(2026,2,1),
$A$2:$A$100, "<"&DATE(2026,3,1))
結果は 6,000 です。ポイントは2つあります。
- 期間は「2月1日以上」かつ「3月1日より前」と書きます。月によって末日が28日・30日・31日と変わるのを気にしなくて済みます。
- 比較の記号と日付は
">="&DATE(…)のように&でつなぎます。">=DATE(2026,2,1)"と全体を文字にすると、正しく比較されません。
💡 SUMIFSの中では、
MONTH(A2:A100)=2のように列に関数をかけた条件は使えません。月で絞るときは、この手順のように「その月の1日以上、翌月1日より前」で指定します。
手順3:月別×科目別の表を1つの式で作る
月ごと・科目ごとの表を作るときは、式を1つだけ書いて、それをコピーします。
まず表の見出しを用意します。
- 縦(E列):科目名
- 横(8行目):月の数字(1, 2, 3 …)。表示形式を
0"月"にすると「1月」と表示されます
そして左上のセル(F9)に、次の式を入れます。
=SUMIFS($C$2:$C$100,
$B$2:$B$100, $E9,
$A$2:$A$100, ">="&DATE(2026,F$8,1),
$A$2:$A$100, "<"&DATE(2026,F$8+1,1))
この式を右と下にコピーすれば、表が完成します。
| 書き方 | 意味 |
|---|---|
$C$2:$C$100 | 列も行も固定(どこにコピーしても同じ範囲) |
$E9 | 列だけ固定(下にコピーすると科目が変わる) |
F$8 | 行だけ固定(右にコピーすると月が変わる) |
DATE(2026, F$8+1, 1) は、12月のときは「2026年13月1日」になりますが、Excelが自動で 2027年1月1日 として扱ってくれます。12月の集計も同じ式のままで大丈夫です。
手順4:月末を「<=」で指定すると集計漏れが起きる
1月の合計を出すとき、次のように書きたくなります。
=SUMIFS($C$2:$C$100, $A$2:$A$100, ">="&DATE(2026,1,1),
$A$2:$A$100, "<="&DATE(2026,1,31))
練習用ファイルでは、この式の結果は 6,000 になります。正しい1月の合計は 7,980 です。
原因は、「2026/1/31 18:30」のように時刻つきの日付です。DATE(2026,1,31) は「1月31日 0:00」なので、同じ日の18:30はそれより後になり、条件から外れてしまいます。
ネットバンキングやカード明細からコピーしたデータには、時刻が入っていることがよくあります。月の終わりは、手順2と同じく「翌月1日より前(<)」で指定すると安全です。
=SUMIFS($C$2:$C$100, $A$2:$A$100, ">="&DATE(2026,1,1),
$A$2:$A$100, "<"&DATE(2026,2,1))
こちらは 7,980 と正しく集計されます。
この集計をテンプレートで使いたい人へ
この記事の集計方法を使って、すぐに使える形にしたテンプレートを無料で配布しています。
- 経費集計テンプレート:経費を入力すると、月別・科目別の表が自動でできる
- 売上・所得管理テンプレート:副業の売上を月別に集計し、所得の目安も出す
まとめ
- SUMIFSは「合計する範囲」のあとに「条件の範囲・条件」をペアで並べる
- 期間は「その月の1日以上」かつ「翌月1日より前」で指定する
$で固定する場所を工夫すれば、1つの式をコピーして月別×科目別の表が作れる- 月末を「<=末日」で指定すると、時刻つきの日付が漏れることがある