excel

【Excel】エクセルのSUMIF関数で日付・期間を条件に合計する方法(日付の範囲指定・月ごとの集計・期間内の合計も)

当サイトでは記事内に広告を含みます

Excelで売上や経費のデータを管理していると、「特定の期間内のデータだけを合計したい」「月ごとに集計を分けたい」という場面は非常に多いでしょう。そんなときに活躍するのが、SUMIF関数やSUMIFS関数を使った日付・期間条件の集計です。

日付を条件にしたSUMIF関数の使い方は、文字列や数値を条件にする場合と少し異なります。「日付の指定方法がよくわからない」「期間を範囲で絞り込む方法が知りたい」「月ごとに自動で集計できないか」といった疑問をお持ちの方も多いのではないでしょうか。

この記事では、SUMIF関数で日付を条件に指定する基本的な書き方から、期間内の合計・月ごとの集計・よくあるエラーの対処法まで、具体的な手順とともにわかりやすく解説していきます。日付を使った集計作業を効率化したい方はぜひ参考にしてください。

SUMIF関数で日付を条件に指定する基本的な書き方

それではまず、SUMIF関数で日付を検索条件に指定する基本的な書き方について解説していきます。

日付を条件にする場合、比較演算子とDATE関数を組み合わせて指定するのが基本的なアプローチです。日付をそのまま文字列として条件に書いても正しく認識されないことがあるため、DATE関数を使うのが確実な方法といえます。

=SUMIF(日付範囲, “>=”&DATE(2024,1,1), 合計範囲)

この数式では、日付範囲の中から2024年1月1日以降の日付を条件に、対応する合計範囲の値を合計します。比較演算子はダブルクォーテーションで囲み、DATE関数と「&」でつなぐのがポイントです。

比較演算子と日付の組み合わせパターン

日付条件で使える比較演算子のパターンをまとめて確認しておきましょう。

条件の内容 数式の書き方
特定日以降 “>=”&DATE(2024,1,1)
特定日以前 “<=”&DATE(2024,12,31)
特定日より後 “>”&DATE(2024,1,1)
特定日より前 “<“&DATE(2024,1,1)
特定日と一致 DATE(2024,1,1) または “2024/1/1”

特定の日付と完全一致させたい場合は、DATE関数をそのまま条件に指定するか、日付文字列をダブルクォーテーションで囲んで指定します。ただし、日付の書式が一致していないと正しく認識されないことがあるため、DATE関数を使う方が安全です。

セル参照で日付条件を指定する方法

条件の日付をセルに入力しておき、そのセルを参照する形にすると、日付を変えるだけで集計範囲を切り替えられて便利です。

=SUMIF(A2:A100,”>=”&D1,B2:B100)

D1セルに開始日を入力しておけば、D1の日付を変更するだけで集計対象の期間が自動で切り替わります。比較演算子はダブルクォーテーションで囲み、セル参照と「&」でつなぐのが正しい書き方です。演算子までセル参照に含めてしまうと正しく動作しないため注意しましょう。

TODAY関数を使って今日を基準にした集計を行う

「今日から過去30日間の合計」「今日以降の予定金額の合計」など、TODAY関数を組み合わせると動的な期間集計が実現できます。

=SUMIF(A2:A100,”>=”&(TODAY()-30),B2:B100)
→ 過去30日間の合計=SUMIF(A2:A100,”>=”&TODAY(),B2:B100)
→ 今日以降の合計

TODAY関数はファイルを開くたびに自動更新されるため、日付を手動で変更しなくても常に最新の期間で集計が行われるでしょう。

SUMIFS関数で期間(開始日〜終了日)を指定して合計する方法

続いては、SUMIFS関数を使って開始日から終了日までの期間を条件に合計する方法を確認していきます。

SUMIF関数は条件を1つしか指定できないため、「〇月〇日以降かつ〇月〇日以前」という期間の範囲指定にはSUMIFS関数を使うのが基本です。2つの日付条件をANDで組み合わせることで、期間内のデータだけを集計できます。

SUMIFSで期間を指定する基本的な書き方

2024年1月1日から2024年3月31日までの期間内の売上を合計する数式は以下のとおりです。

=SUMIFS(B2:B100,A2:A100,”>=”&DATE(2024,1,1),A2:A100,”<=”&DATE(2024,3,31))

第1引数に合計範囲、第2・第3引数に条件範囲と開始日条件、第4・第5引数に条件範囲と終了日条件を指定します。同じ日付列(A列)に対して2つの条件を設定している点がポイントです。

セル参照で開始日・終了日を切り替えられる集計表を作る

開始日と終了日をそれぞれセルに入力して参照する形にすると、期間を自由に変更できる使い勝手のよい集計表が作れます。

=SUMIFS(B2:B100,A2:A100,”>=”&D1,A2:A100,”<=”&D2)

D1に開始日、D2に終了日を入力しておけば、その2つのセルを書き換えるだけで集計期間が切り替わります。期間を頻繁に変える集計作業では、この形式が最も効率的といえるでしょう。

セル 内容 入力例
D1 集計開始日 2024/1/1
D2 集計終了日 2024/3/31
D3 集計結果(SUMIFS数式) =SUMIFS(B2:B100,A2:A100,”>=”&D1,A2:A100,”<=”&D2)

期間条件に別の条件を追加して絞り込む応用例

期間条件に加えて地域や担当者などの条件を追加することで、より細かな絞り込み集計も可能です。

=SUMIFS(C2:C100,A2:A100,”>=”&D1,A2:A100,”<=”&D2,B2:B100,”東京”)

この数式では「D1からD2の期間内」かつ「東京」という2種類の条件を組み合わせて合計を求めています。SUMIFSは条件を追加するほど集計の精度が上がるため、ビジネスデータの分析に非常に役立つでしょう。

月ごとに集計を自動で切り替える方法

続いては、SUMIF関数やSUMIFS関数を使って月ごとに売上などを自動集計する方法を確認していきます。

月ごとの集計は、ビジネスの現場で最もよく使われる集計単位のひとつです。毎月の範囲を手動で変更せずに、年と月を指定するだけで自動的に集計できる仕組みを作ると、月次レポートの作成が大幅に効率化されます。

EOMONTH関数を使って月末日を自動取得する方法

月ごとの集計では、月初(1日)と月末(28〜31日)を正確に指定する必要があります。月末日は月によって異なるため、EOMONTH関数を使って月末日を自動取得するのが便利です。

EOMONTH(開始日, 月数)
例:EOMONTH(DATE(2024,1,1),0) → 2024年1月31日を返す

これをSUMIFSと組み合わせると、月を指定するだけで月初から月末までの合計が自動計算される数式が作れます。

=SUMIFS(B2:B100,A2:A100,”>=”&DATE(2024,E1,1),A2:A100,”<=”&EOMONTH(DATE(2024,E1,1),0))

E1セルに月の数字(1〜12)を入力すると、その月の合計が自動で切り替わります。

YEAR関数・MONTH関数を組み合わせた月別集計

日付データから年・月を抽出するYEAR関数・MONTH関数を使う方法もあります。ただし、SUMIF関数の条件にYEAR/MONTH関数を直接使うことはできないため、SUMPRODUCT関数と組み合わせるアプローチが有効です。

=SUMPRODUCT((YEAR(A2:A100)=2024)*(MONTH(A2:A100)=1)*B2:B100)

この数式で「2024年1月」のB列合計が求められます。SUMPRODUCTは配列を扱える関数のため、年・月の両方を条件に指定できます。

月別集計表をまとめて作成する実践例

以下のような月別集計表を作成すると、1年分の月別売上を一覧で管理できます。

集計数式(例)
1月 =SUMIFS($B$2:$B$100,$A$2:$A$100,”>=”&DATE(2024,1,1),$A$2:$A$100,”<=”&EOMONTH(DATE(2024,1,1),0))
2月 =SUMIFS($B$2:$B$100,$A$2:$A$100,”>=”&DATE(2024,2,1),$A$2:$A$100,”<=”&EOMONTH(DATE(2024,2,1),0))
3月以降 同様に月数を変更して作成

月の数字だけを変えた数式を縦に並べるだけで、月別集計表が完成します。絶対参照を設定しておけば数式のコピーも容易です。

日付条件のSUMIF関数でよくあるエラーと対処法

続いては、日付を条件にしたSUMIF関数でよくあるエラーや意図しない結果への対処法を確認していきます。

日付を使った集計では、データの入力形式や書き方のミスによるトラブルが起きやすいため、代表的なパターンを把握しておくことが大切です。

結果が0になる・日付が認識されない場合の原因

日付条件のSUMIF関数で結果が0になる場合は、以下の原因が考えられます。

原因 対処法
日付が文字列として入力されている セルの書式を「日付」に変更し、再入力する
比較演算子とDATE関数の&つなぎが抜けている “>=”&DATE(…) の形式を確認する
条件の日付書式とデータの日付書式が異なる データ側の日付書式を統一する
条件を文字列で直接書いて認識されていない “2024/1/1″ではなくDATE関数を使う
日付データが文字列として入力されている場合、セルの左上に緑の三角マーク(エラーインジケーター)が表示されることがあります。このマークが表示されているセルは文字列扱いのため、SUMIF関数の条件に一致しません。数値(日付)として再入力するか、DATEVALUE関数で変換しましょう。

「&」のつなぎ方を間違えた場合のよくあるミス

日付条件で最も多いミスのひとつが、比較演算子とDATE関数のつなぎ方の誤りです。

誤り:=SUMIF(A2:A100,”>=DATE(2024,1,1)”,B2:B100)
正解:=SUMIF(A2:A100,”>=”&DATE(2024,1,1),B2:B100)

DATE関数をダブルクォーテーションの中に入れてしまうと、関数として評価されずに文字列として認識されてしまいます。演算子の部分だけをダブルクォーテーションで囲み、DATE関数は外に出して「&」でつなぐのが正しい書き方です。

うるう年・月末日の扱いに注意する

月末日を固定値で指定すると、うるう年の2月や31日まである月・ない月で集計漏れや二重カウントが発生する可能性があります。月末日の指定には必ずEOMONTH関数を使い、月末日を自動取得するようにしておくことで、年によって変わる日数にも対応した正確な集計が行えるでしょう。

まとめ

この記事では、ExcelのSUMIF関数で日付・期間を条件に合計する方法について、基本的な書き方から月ごとの集計・エラー対処法まで幅広く解説してきました。

日付条件の指定は比較演算子とDATE関数を「&」でつなぐのが基本で、期間指定にはSUMIFS関数を使って開始日・終了日の2条件を組み合わせます。月ごとの集計にはEOMONTH関数を活用して月末日を自動取得する方法が実務で特に便利です。

日付を使った集計はビジネスの現場で欠かせないスキルです。今回紹介した書き方をマスターして、月次レポートや期間集計の作業をぜひ効率化してみてください。