エクセルで日付データを扱っていると、「特定の期間内に該当するデータだけを抜き出したい」「2024年1月~3月までのデータだけを集計したい」「ある日付範囲に該当するデータの件数を数えたい」といった場面で困った経験はありませんか?
この記事では【Excel】エクセルで期間指定で抽出(関数、ある日付期間内、条件に合うデータ)する方法について解説していきます。
ポイントは
・COUNTIFS関数やSUMIFS関数で日付範囲を指定
・FILTER関数で期間内データを動的に抽出
・AND関数とIF関数で期間内判定
です。
それでは詳しく見ていきましょう。
エクセルで期間を指定してデータをカウント・集計する方法【COUNTIFS関数とSUMIFS関数で日付範囲指定】
特定の日付期間内のデータを集計したい場合、COUNTIFS関数やSUMIFS関数を使うのが効果的です。
COUNTIFS関数を使えば、「開始日以上」かつ「終了日以下」という複数の条件を同時に指定でき、期間内のデータ件数を正確にカウントできます。
この方法は、月ごとの売上集計や、特定期間内の契約件数を数えるといった、日付を軸にした集計作業で特に役立ちます。。
具体的な手順
まず、集計したい日付データを用意しましょう。
例えばA列に「日付」、B列に「売上金額」が入力されており、1行目はヘッダーの場合を考えます。

「2024年1月1日以降、2024年3月31日以前」のデータ件数をカウントしたい場合、任意のセル(例:D2)にCOUNTIFS関数を入力します。
=COUNTIFS(A:A,”>=2024/1/1″,A:A,”<=2024/3/31″)

この数式は、A列の日付が「2024年1月1日以降」かつ「2024年3月31日以前」という2つの条件を同時に満たす個数をカウントします。
COUNTIFS関数の構文は「=COUNTIFS(条件範囲1,条件1,条件範囲2,条件2)」となっています。
同じ列を2回指定することで、開始日と終了日の両方を設定できる点がポイントです。
期間内のデータの合計を求めたい場合は、SUMIFS関数を使用します。
=SUMIFS(B:B,A:A,”>=2024/1/1″,A:A,”<=2024/3/31″)

この数式で、2024年1月1日から3月31日までの売上金額の合計を求めることができます。
セル参照を使って動的に期間を指定することもできます。
=COUNTIFS(A:A,”>=”&D1,A:A,”<=”&E1)

D1セルに開始日、E1セルに終了日を入力すれば、日付を変更するだけで集計結果が自動更新されます。
エクセルでFILTER関数を使って期間内のデータを抽出する方法【動的な日付範囲の絞り込み】
FILTER関数を使えば、特定の期間内のデータを別の場所に自動的に抽出できます。
FILTER関数は、指定した条件に一致する行全体をまとめて抽出するため、期間内のデータを一覧表示でき、元データが更新された場合でも抽出結果が自動的に反映されます。
そのため、期間指定レポートの作成や、特定期間のデータ分析を効率的に行うことができます。
設定方法
FILTER関数を使った基本的な数式は以下の形になります。
例えばA列に「日付」、B列に「商品名」、C列に「売上金額」があり、2024年1月1日から3月31日までのデータを抽出する場合、以下のように記述しましょう。
=FILTER(A2:C30,(A2:A30>=DATE(2024,1,1))*(A2:A30<=DATE(2024,3,31)))
ここに図を入れる
この数式は、A2:C30の範囲から、日付列(A列)が2024年1月1日以降かつ3月31日以前のデータを抽出します。
条件部分の「*」は「AND(かつ)」を意味し、両方の条件を満たす行のみが抽出されます。

DATE関数を使うことで、日付を明確に指定できるため、エラーが少なくなります。
セル参照を使って動的に期間を指定する場合は以下のようになります。
=FILTER(A2:C30,(A2:A30>=E1)*(A2:A30<=F1))

E1セルに開始日、F1セルに終了日を入力すれば、日付を変更するだけで抽出結果が自動的に更新されます。
該当するデータが1件もない場合にエラーを回避したい場合は、第3引数を追加します。
=FILTER(A2:C30,(A2:A30>=E1)*(A2:A30<=F1),”該当データなし”)

これで、条件に合うデータがない場合は「該当データなし」と表示されます。
FILTER関数と他条件の組み合わせ
さらに高度な抽出として、期間条件と他の条件を組み合わせることもできます。
例えば「2024年1月1日から3月31日まで」かつ「商品名がりんご」というデータを抽出する場合は以下のようになります。
=FILTER(A2:C30,(A2:A30>=DATE(2024,1,1))*(A2:A30<=DATE(2024,3,31))*(B2:B30=”りんご”))

「*」で条件を追加していくことで、3つ以上の条件も設定できます。
OR条件(いずれかを満たす)で抽出したい場合は「+」を使います。
=FILTER(A2:C30,(A2:A30>=DATE(2024,1,1))*(A2:A30<=DATE(2024,1,31))+(A2:A30>=DATE(2024,3,1))*(A2:A30<=DATE(2024,3,31)))
この数式は、1月または3月のデータを抽出します。
エクセルでAND関数とIF関数を使って期間内判定する方法3【期間内かどうかの判定表示】
期間内のデータに印を付けて視覚的に判別したい場合は、AND関数とIF関数の組み合わせが効果的です。
この方法なら、各行が期間内かどうかを「〇」や「期間内」といった文字で表示でき、その後フィルター機能で絞り込むこともできます。
大量のデータから期間内データを識別したい場合、この方法は視覚的に判別しやすく、データ量が多い場合にも有効です。
実践的な使用例
AND関数とIF関数を使った基本的な数式は以下の形になります。
例えばA列に日付があり、2024年1月1日から3月31日の期間内かどうかを判定する場合、D2セルに以下のように記述します。
=IF(AND(A2>=DATE(2024,1,1),A2<=DATE(2024,3,31)),”〇”,””)

この数式は、A2セルの日付が2024年1月1日以降かつ3月31日以前なら「〇」を表示し、それ以外は空白にします。
判定結果を文字で明治したい場合は、以下のように記述します。
=IF(AND(A2>=DATE(2024,1,1),A2<=DATE(2024,3,31)),”期間内”,”期間外”)

判定列を作成した後は、フィルター機能で『〇』や『期間内』だけを抽出できます。」
セル参照を使った動的な期間指定も可能です。
=IF(AND(A2>=$E$1,A2<=$F$1),”〇”,””)

E1セルに開始日、F1セルに終了日を入力すれば、期間を変更するだけで判定結果が自動更新されるでしょう。
複数期間での判定と抽出
応用例として、日付を四半期ごとに分類する方法もあります。」
例えば「Q1(1-3月)」「Q2(4-6月)」「Q3(7-9月)」「Q4(10-12月)」といった四半期判定を行う場合、以下のようにIFS関数を使います。
=IFS(AND(MONTH(A2)>=1,MONTH(A2)<=3),”Q1″,AND(MONTH(A2)>=4,MONTH(A2)<=6),”Q2″,AND(MONTH(A2)>=7,MONTH(A2)<=9),”Q3″,AND(MONTH(A2)>=10,MONTH(A2)<=12),”Q4″)

この数式は、日付から月を取得して四半期を判定します。
さらに、年度をまたぐ期間判定も可能です。
例えば「2024年4月1日から2025年3月31日まで」という会計年度の判定は以下のようになります。
=IF(AND(A2>=DATE(2024,4,1),A2<=DATE(2025,3,31)),”2024年度”,””)

これにより、会計年度ごとのデータ抽出も簡単に行えます。
まとめ エクセルで期間指定で抽出する方法(関数・日付期間内・条件データ)
エクセルで期間指定で抽出する方法をまとめると
– COUNTIFS関数とSUMIFS関数:開始日以降かつ終了日以前という条件で期間内データの件数や合計を集計
– FILTER関数での動的抽出:期間条件を満たす行全体を自動的に抽出し、データ更新に自動対応
– AND関数とIF関数の組み合わせ:各行が期間内かどうかを判定し、〇印やテキストで視覚的に表示
– セル参照での期間指定:開始日・終了日をセルで管理し、期間変更で自動更新
– 複数期間の判定:四半期や年度などの複数期間区分での分類と抽出
これらの方法を状況に応じて使い分けていけば、ほとんどの期間指定抽出作業を効率的に行えます。
特にFILTER関数は動的にデータを抽出できるため、Excel 2021以降を使っている場合はこの方法をマスターすることをおすすめします。
ただし、日付の形式が文字列になっていると正しく判定できないことがあります。
日付データが正しく日付形式で入力されているか、DATEVALUE関数などで変換が必要かを確認しましょう。
エクセルの期間指定抽出機能を正しく理解して、効率的な日付データ分析を実現していきましょう!


コメント