Excelを使って売上データや経費データを管理していると、「特定の期間だけ集計したい」「月ごとに合計を出したい」という場面は非常に多いものです。
そんなときに役立つのが、期間ごとの集計テクニックです。
Excelには、複数条件を指定して合計を求めるSUMIFS関数や、ドラッグ操作だけでデータを整理できるピボットテーブルなど、強力な機能が揃っています。
本記事のタイトルは「【Excel】エクセルで期間ごとに集計する(複数条件・月別・SUMIFS・ピボットテーブル)方法」です。
この記事では、日付データを活用した期間集計の基本から、月別集計・複数条件指定・ピボットテーブルを使った応用まで、幅広く解説していきます。
初心者の方でも実践しやすいよう、具体的な数式や手順を交えながら丁寧に説明していきますので、ぜひ最後までご覧ください。
Excelで期間ごとに集計するには「SUMIFS関数」と「ピボットテーブル」が最適解
それではまず、Excelで期間ごとに集計する方法の全体像と、最もおすすめのアプローチについて解説していきます。
結論からお伝えすると、期間集計に最も適した方法はSUMIFS関数とピボットテーブルの2つです。
この2つはそれぞれ異なる強みを持っており、用途によって使い分けるのがベストな選択でしょう。
SUMIFS関数は「数式で柔軟に条件を指定したい場合」、ピボットテーブルは「マウス操作だけで素早くデータを集計・可視化したい場合」に最適です。
Excelで期間集計をする際には、日付データの扱い方が重要なポイントになります。
日付は「2024/1/1」のようなシリアル値として管理されており、大小比較が可能なため、「〇〇以上かつ△△以下」という条件指定が得意な構造になっています。
この特性を活かすことで、特定の日付範囲だけを絞り込んで集計することが可能です。
次の表に、SUMIFS関数とピボットテーブルの特徴をまとめました。
| 機能 | 主な用途 | 難易度 | 柔軟性 |
|---|---|---|---|
| SUMIFS関数 | 複数条件での集計・自動更新 | 中級 | 高い |
| ピボットテーブル | 視覚的な集計・月別・グループ化 | 初級〜中級 | 中程度 |
| SUMIF関数 | 単一条件での集計 | 初級 | 低い |
| COUNTIFS関数 | 条件に合うデータ件数の集計 | 中級 | 高い |
自分の目的や習熟度に合わせて最適な方法を選ぶことが、効率的な集計への近道です。
SUMIFS関数が期間集計に向いている理由
SUMIFS関数は、複数の条件を同時に指定できる合計関数です。
「開始日以降」かつ「終了日以前」という2つの日付条件を組み合わせることで、特定の期間内のデータだけを正確に合計できます。
条件をセル参照で指定しておけば、セルの値を変えるだけで集計期間が自動的に切り替わる点も非常に便利でしょう。
ピボットテーブルが期間集計に向いている理由
ピボットテーブルは、大量のデータを視覚的に整理・集計できる機能です。
日付フィールドをドラッグするだけで、月別・四半期別・年別などの集計ビューを瞬時に切り替えられます。
数式を入力する必要がないため、Excelに不慣れな方でも直感的に操作できる点が大きな魅力です。
どちらを使うべきか判断するポイント
SUMIFS関数は、集計結果を別の数式と組み合わせたい場合や、条件を動的に変えたい場合に適しています。
一方のピボットテーブルは、まずデータ全体の傾向を素早く把握したいときや、レポートとして見栄えよくまとめたい場合に向いているでしょう。
どちらかひとつに絞らず、シーンに応じて両方を使いこなせるようになると、Excelの活用幅が大きく広がります。
SUMIFS関数で期間・複数条件を指定して集計する方法
続いては、SUMIFS関数を使って期間ごとに集計する具体的な方法を確認していきます。
SUMIFS関数は、Excelの条件付き合計関数の中でも特に汎用性が高く、日付の範囲指定・複数条件の組み合わせが得意な関数です。
SUMIFS関数の基本的な構文
まずはSUMIFS関数の基本構文を確認しておきましょう。
SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)
合計範囲には集計したい数値のセル範囲、条件範囲には判定に使う列(日付列や商品名列など)、条件には絞り込む値や比較演算子を指定します。
期間を指定する場合は、「以上(>=)」と「以下(<=)」の2つの条件を組み合わせて使うのが基本的なやり方です。
期間を指定して集計するSUMIFS関数の使い方
たとえば、A列に日付、B列に売上金額が入力されているデータで、2024年1月1日から2024年1月31日の売上合計を求めたい場合は、以下のような数式を使います。
=SUMIFS(B2:B100, A2:A100, “>=”&DATE(2024,1,1), A2:A100, “<="&DATE(2024,1,31))
DATE関数を使うことで、日付の指定がよりわかりやすくなります。
また、開始日と終了日をE1・E2のようなセルに入力しておき、以下のようにセル参照で指定する方法もおすすめです。
=SUMIFS(B2:B100, A2:A100, “>=”&E1, A2:A100, “<="&E2)
この書き方にしておくと、E1・E2の日付を変えるだけで集計期間が自動で切り替わるため、月ごとの報告書や定期的な集計作業が大幅に効率化されます。
複数条件(日付+カテゴリなど)を組み合わせた集計
SUMIFSは日付範囲だけでなく、商品カテゴリや担当者など他の条件も同時に指定できます。
たとえばC列に「商品カテゴリ」が入力されている場合、「2024年1月の食品カテゴリの売上合計」は以下のように求められます。
=SUMIFS(B2:B100, A2:A100, “>=”&DATE(2024,1,1), A2:A100, “<="&DATE(2024,1,31), C2:C100, "食品")
このように条件の組み合わせは無制限に拡張できるため、複雑な集計条件にも柔軟に対応できる点がSUMIFSの大きな強みでしょう。
SUMIFS関数で日付条件を指定するときは、「”>=”&セル参照」または「”>=”&DATE(年,月,日)」の形式を使うことがポイントです。文字列として日付を直接書くと正しく認識されない場合があるため注意してください。
月別集計を効率化するEOMONTH・YEAR・MONTH関数の活用
続いては、月別集計をさらにスマートに行うための関数テクニックを確認していきます。
SUMIFSで月別集計を行う際、毎月手動で開始日と終了日を入力するのは手間がかかります。
そこで役立つのが、EOMONTH関数・YEAR関数・MONTH関数を使った自動化のテクニックです。
EOMONTH関数で月末日を自動取得する
EOMONTH関数は、指定した日付を基準に「〇ヶ月後の月末日」を返す関数です。
月によって28日・30日・31日と日数が異なるため、月末日を手動で管理するのは煩雑になりがちです。
EOMONTH関数を使えば、その手間が一切不要になります。
月初日の取得例:=DATE(YEAR(E1), MONTH(E1), 1)
月末日の取得例:=EOMONTH(E1, 0)
E1に任意の日付(例:2024/3/15)を入力しておくと、その月の1日と末日が自動的に算出されます。
この値をSUMIFSの条件に組み合わせることで、月が変わっても数式を書き直さずに集計できる仕組みが作れます。
YEAR関数・MONTH関数で月別フラグを立てる方法
別のアプローチとして、YEAR関数とMONTH関数を使って補助列を作る方法も有効です。
たとえばD列に「=YEAR(A2)&MONTH(A2)」のような数式を入れておくと、「202401」「202402」のような年月コードが生成されます。
このコードをSUMIFSの条件として使えば、月別の集計がシンプルな数式で実現できるでしょう。
補助列D2の数式例:=YEAR(A2)&TEXT(MONTH(A2),”00″)
集計数式例:=SUMIFS(B2:B100, D2:D100, “202401”)
月別集計表をSUMIFS関数で自動作成する
月別集計表を作る場合は、行に月名(1月・2月・…)を並べ、対応するSUMIFS数式を横に配置するのが定番の構成です。
以下のような集計表を作っておくと、データを更新するだけで自動的に月別合計が反映されます。
| 月 | 開始日 | 終了日 | 売上合計 |
|---|---|---|---|
| 1月 | 2024/1/1 | 2024/1/31 | SUMIFS関数で自動計算 |
| 2月 | 2024/2/1 | 2024/2/29 | SUMIFS関数で自動計算 |
| 3月 | 2024/3/1 | 2024/3/31 | SUMIFS関数で自動計算 |
| 4月 | 2024/4/1 | 2024/4/30 | SUMIFS関数で自動計算 |
開始日と終了日をEOMONTHとDATE関数で自動生成しておくと、より完成度の高い集計テンプレートが完成します。
ピボットテーブルで月別・期間別に集計する方法
続いては、ピボットテーブルを使った期間集計の方法を確認していきます。
ピボットテーブルは、数式を一切書かずにデータを集計・整理できるExcelの強力な機能です。
特に月別・四半期別の集計においては、ピボットテーブルのグループ化機能が非常に便利でしょう。
ピボットテーブルの基本的な作り方
ピボットテーブルを作成する手順は以下のとおりです。
1. 集計したいデータ範囲内のセルをクリック
2. 「挿入」タブ → 「ピボットテーブル」をクリック
3. データ範囲と配置場所を確認して「OK」
4. フィールドリストから「日付」を「行」、「売上金額」を「値」にドラッグ
この操作だけで、日付ごとの売上合計が一覧で表示されます。
さらに月別に集計したい場合は、日付フィールドのグループ化機能を使います。
日付フィールドのグループ化で月別集計を実現する
ピボットテーブルで月別集計を行う際の最も手軽な方法が「グループ化」です。
1. ピボットテーブル内の日付フィールドのセルを右クリック
2. 「グループ化」を選択
3. 「月」にチェックを入れて「OK」をクリック
これだけで、日付データが月単位に折りたたまれ、月別の合計が自動的に表示されます。
「四半期」や「年」にチェックを入れれば、別の時間軸での集計もワンクリックで切り替え可能です。
グループ化は日付データの集計において最も手軽で強力な機能のひとつと言えるでしょう。
スライサーを使って期間をフィルタリングする
ピボットテーブルには「スライサー」という視覚的なフィルター機能も用意されています。
スライサーを挿入すると、月や年をボタン形式で選択できるUIが表示され、クリックするだけで表示する期間を切り替えられます。
スライサーの挿入手順:ピボットテーブルを選択 → 「ピボットテーブル分析」タブ → 「スライサーの挿入」→ 「日付」を選択
さらに「タイムライン」という機能を使えば、月単位・四半期単位・年単位でスライダーを動かして期間を直感的に絞り込むことも可能です。
レポートや資料にピボットテーブルを活用する際には、スライサーやタイムラインを組み合わせると、操作性と見栄えが格段に向上します。
ピボットテーブルを使う際は、元データにしっかりと見出し行が含まれていること、日付列がExcelに正しく日付として認識されていることを必ず確認しましょう。文字列として入力された日付はグループ化できないため注意が必要です。
まとめ
本記事では「【Excel】エクセルで期間ごとに集計する(複数条件・月別・SUMIFS・ピボットテーブル)方法」というテーマで、Excelの期間集計に関するさまざまな方法を解説してきました。
期間集計には、SUMIFS関数とピボットテーブルの2つが特に有効であることが確認できたでしょう。
SUMIFS関数は複数条件を柔軟に組み合わせて精密な集計ができ、EOMONTH関数やDATE関数と組み合わせることで月別集計の自動化も実現できます。
一方のピボットテーブルは、数式なしで素早くデータを可視化できる点が魅力であり、グループ化・スライサー・タイムラインといった機能を活用することで、インタラクティブなレポート作成にも対応できます。
どちらの方法も一度マスターしてしまえば、日常業務における集計作業のスピードと正確性が大幅に向上するはずです。
まずはSUMIFS関数の基本的な日付条件の指定から始めてみて、慣れてきたらピボットテーブルにも挑戦してみてください。
自分のデータに合わせてどちらの方法が使いやすいかを試しながら、Excelでの期間集計をぜひ業務に活かしていきましょう。