Excelを使ってデータを管理していると、「特定の期間内のデータだけを抽出したい」「複数の条件に合うデータの件数を数えたい」と感じる場面は多いのではないでしょうか。
たとえば、月別の売上集計や、特定の担当者が一定期間内に対応した件数の確認など、日常業務でよく登場するシーンです。
そんなときに活躍するのが、COUNTIFS関数やSUMIFS関数といった複数条件に対応した関数です。
本記事では、【Excel】エクセルで期間内のデータを抽出・カウントする(複数条件・COUNTIFS・SUMIFS・関数)方法について、基礎から丁寧に解説していきます。
初心者の方でも迷わず使いこなせるよう、具体的な数式の書き方や実践例を交えてご紹介しますので、ぜひ最後までご覧ください。
期間内データの抽出・カウントにはCOUNTIFS関数とSUMIFS関数が最適解
それではまず、期間内のデータを扱う際の基本的な考え方と、最も適した関数について解説していきます。
Excelで期間を指定してデータを絞り込む場合、単一条件のCOUNTIF・SUMIFではなく、複数条件に対応したCOUNTIFS・SUMIFSを使うのがポイントです。
期間を指定するということは、「○月○日以降」かつ「○月○日以前」という2つの条件を同時に満たす必要があります。
これは、単一条件しか扱えないCOUNTIFやSUMIFでは対応しきれない場面です。
期間内の条件指定は「以上(>=)」と「以下(<=)」の2条件をセットで使うことが基本です。COUNTIFS・SUMIFSは、この2つの日付条件を同時に指定できるため、期間内データの集計に最も適した関数といえます。
COUNTIFS関数の基本構文
COUNTIFS関数は、複数の条件をすべて満たすセルの個数を数える関数です。
条件範囲と条件のペアをいくつでも追加できる点が特徴で、日付の範囲指定にも非常に相性がよい関数といえます。
=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, …)
例)=COUNTIFS(A2:A100,”>=2024/1/1″,A2:A100,”<=2024/1/31")
→ A列の日付が2024年1月1日以上かつ1月31日以下のセルの件数を返します。
SUMIFS関数の基本構文
SUMIFS関数は、複数の条件を満たす行の合計値を求める関数です。
期間内の売上合計や数量合計を出したい場合に使われます。
SUMIFSはSUMIF関数と引数の順番が異なるため、注意が必要です。
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)
例)=SUMIFS(B2:B100,A2:A100,”>=2024/1/1″,A2:A100,”<=2024/1/31")
→ A列が2024年1月の範囲にある行のB列(売上など)の合計を返します。
COUNTIF・SUMIFとの違いを整理する
COUNTIF・SUMIFとCOUNTIFS・SUMIFSの違いを以下の表で確認しておきましょう。
| 関数名 | 条件数 | 主な用途 | 日付範囲への対応 |
|---|---|---|---|
| COUNTIF | 1つ | 単一条件での件数カウント | △(1条件のみ) |
| COUNTIFS | 複数 | 複数条件での件数カウント | ◎ |
| SUMIF | 1つ | 単一条件での合計 | △(1条件のみ) |
| SUMIFS | 複数 | 複数条件での合計 | ◎ |
期間指定は必ず2つ以上の条件が必要になるため、COUNTIFSとSUMIFSを選ぶことが正解です。
COUNTIFSで期間内データをカウントする実践的な使い方
続いては、COUNTIFSを使った期間内データのカウント方法を確認していきます。
ここでは、実務でよくある「月次の問い合わせ件数を数える」という場面を想定して解説します。
日付をセル参照で条件指定する方法
数式の中に日付を直接書き込む方法もありますが、開始日・終了日をセルに入力してセル参照する方法の方が、後から変更しやすく実用的です。
E1セルに開始日(例:2024/1/1)、E2セルに終了日(例:2024/1/31)を入力した場合
=COUNTIFS(A2:A100,”>=”&E1,A2:A100,”<="&E2)
→「>=」や「<=」などの比較演算子は文字列として「"" 」で囲み、&(アンパサンド)でセル参照とつなげます。
この書き方にすることで、E1・E2の日付を変えるだけで集計期間を自由に変更できるようになります。
管理しやすさという点でも、この方法を覚えておくと便利でしょう。
日付以外の条件を追加する(複数条件の組み合わせ)
COUNTIFSは日付の期間だけでなく、他の条件も追加できます。
たとえば「特定の担当者が対応した件数を、特定期間内だけで数えたい」という場合には、以下のように書きます。
=COUNTIFS(A2:A100,”>=”&E1,A2:A100,”<="&E2,C2:C100,"田中")
→ A列が指定期間内、かつC列が「田中」という行の件数をカウントします。
このように、条件範囲と条件のペアをどんどん追加することで、柔軟な絞り込みが可能になります。
実務では、部署・担当者・ステータスなどを組み合わせて使うケースが多いでしょう。
よくあるエラーと対処法
COUNTIFSを使う際に起こりやすいエラーや間違いを以下の表にまとめました。
| よくある間違い | 原因 | 対処法 |
|---|---|---|
| 結果が0になる | 日付がテキスト形式になっている | セルの書式を「日付」に変更する |
| #VALUE!エラー | 条件範囲のサイズが一致していない | 全条件範囲の行数を統一する |
| 条件が正しく反映されない | &で結合せず、””内にセル番地を書いている | “>=”&A1 のように&で結合する |
特に日付がテキスト形式になっているケースは見落としがちな原因のひとつです。
COUNTIFS関数が正しく機能しない場合は、まず日付列のセル書式を確認することをおすすめします。
SUMIFSで期間内の合計を集計する実践的な使い方
続いては、SUMIFSを使った期間内の合計集計の方法を確認していきます。
「特定の期間内の売上合計を出したい」「ある月だけの費用を集計したい」という場面で非常に役立つ関数です。
売上合計を期間指定で集計する基本例
まず、日付が入ったA列と売上が入ったB列があるケースで解説します。
A列:売上日、B列:売上金額の場合
=SUMIFS(B2:B100,A2:A100,”>=”&E1,A2:A100,”<="&E2)
→ E1〜E2で指定した期間内のB列(売上金額)の合計を返します。
引数の最初に「合計範囲」を指定する点が、SUMIFSの特徴です。
SUMIFと引数の順序が違うため、SUMIFに慣れている方は特に注意が必要といえます。
月別集計を効率化する方法(EOMONTH関数との組み合わせ)
月初から月末を動的に指定したい場合は、DATE関数やEOMONTH関数との組み合わせが効果的です。
E1セルに「2024/1/1」と入力している場合
月初:=DATE(YEAR(E1),MONTH(E1),1)
月末:=EOMONTH(E1,0)
SUMIFS式:=SUMIFS(B2:B100,A2:A100,”>=”&DATE(YEAR(E1),MONTH(E1),1),A2:A100,”<="&EOMONTH(E1,0))
→ E1の年月に合わせて、月初〜月末の合計を自動計算します。
EOMONTH関数を使えば、月末日が28日・29日・30日・31日のいずれであっても自動で対応できます。
月ごとの集計業務を多く抱えている方には特におすすめの方法といえるでしょう。
複数条件を追加して集計精度を高める
SUMIFSも、日付以外の条件を自由に追加できます。
たとえば「担当者ごと・月ごとの売上合計」を出したい場合には以下のように書きます。
=SUMIFS(B2:B100,A2:A100,”>=”&E1,A2:A100,”<="&E2,C2:C100,"田中")
→ 期間内かつ担当者が「田中」の行のB列合計を返します。
SUMIFSでは、「合計範囲」の行数と「条件範囲」の行数を必ず一致させてください。行数が違うと#VALUE!エラーが発生します。範囲指定は「A2:A100」のように揃えて書くのが基本です。
このように、SUMIFSは条件の組み合わせ次第で非常に幅広い集計に対応できる関数です。
フィルター機能との併用で期間内データを視覚的に抽出する方法
続いては、関数によるカウント・集計だけでなく、期間内のデータを視覚的に抽出する方法を確認していきます。
Excelには関数以外にも、フィルター機能や条件付き書式を使ってデータを絞り込む手段が備わっています。
オートフィルターで期間を指定してデータを絞り込む
Excelのオートフィルターには、日付の絞り込みに特化したフィルタリング機能があります。
日付が入っている列でフィルターをかけると、「日付フィルター」というメニューが表示されます。
そこから「指定の範囲内」を選ぶことで、開始日と終了日を入力するだけで期間内のデータだけを画面上に表示できます。
関数を使わずに素早く確認したい場合に非常に便利な機能でしょう。
条件付き書式で期間内のセルを色付けする
期間内のデータを色で強調表示したい場合には、条件付き書式が活用できます。
条件付き書式の設定手順(日付列を選択した状態で)
1. 「ホーム」タブ → 「条件付き書式」 → 「新しいルール」を選択
2. 「数式を使用して、書式設定するセルを決定」を選択
3. 数式例:=AND(A2>=DATE(2024,1,1),A2<=DATE(2024,1,31))
4. 好みの書式(背景色など)を設定して「OK」
この設定により、条件を満たす行全体に色をつけることも可能です。
行全体に色をつける場合は、数式の列参照を「$A2」のように列だけ固定(複合参照)にするのがポイントです。
FILTER関数で期間内のデータを別シートに抽出する(Excel 365・2019以降)
Excel 365やExcel 2019以降を使用している場合は、FILTER関数を使って期間内のデータを別の場所に自動抽出することができます。
=FILTER(A2:C100,(A2:A100>=E1)*(A2:A100<=E2),"該当なし")
→ A〜C列のデータのうち、A列の日付がE1以上・E2以下の行だけを抽出して表示します。
条件をかけ算(*)でつなぐことでAND条件を表現できます。
FILTER関数はスピル(自動展開)機能により、結果を自動で複数行に広げて表示してくれます。
従来のVLOOKUPや手作業での抽出と比べて、非常にスマートかつ自動化しやすい方法といえるでしょう。
| 抽出方法 | 使いやすさ | 自動更新 | 対応バージョン |
|---|---|---|---|
| オートフィルター | ◎ 直感的 | △ 手動操作が必要 | 全バージョン |
| 条件付き書式 | ○ 色で視覚化 | ◎ 自動反映 | 全バージョン |
| FILTER関数 | ○ 関数で柔軟 | ◎ 完全自動 | Excel 365・2019以降 |
| COUNTIFS・SUMIFS | ◎ 集計に最適 | ◎ 自動反映 | 全バージョン |
まとめ
本記事では、【Excel】エクセルで期間内のデータを抽出・カウントする(複数条件・COUNTIFS・SUMIFS・関数)方法についてご紹介しました。
期間を指定してデータを集計・抽出するには、COUNTIFSとSUMIFSが基本中の基本です。
「>=」「<=」の比較演算子を&でセル参照とつなぐ書き方を覚えておけば、ほとんどの場面に対応できるでしょう。
また、FILTER関数やオートフィルター・条件付き書式を組み合わせることで、視覚的にもわかりやすいデータ管理ができるようになります。
関数に苦手意識がある方も、まずはCOUNTIFSの基本構文から試してみることをおすすめします。
少しずつ使える関数を増やしながら、Excelでの期間集計を業務効率化に役立ててみてください。