Excel関数 逆引き集 | 指定期間のみ抽出 → FILTER

Excel
スポンサーリンク

概要

「指定した期間だけのデータを抽出したい」なら、Microsoft 365以降で使える FILTER 関数が最短です。FILTERは「範囲」と「条件」を渡すだけで、条件に合う行を丸ごと抽出してくれます。日付の範囲を指定すれば「開始日〜終了日だけ」を一発で取り出せるので、集計やレポート作成に非常に便利です。


基本の使い方

書式

=FILTER(抽出範囲, 条件)

期間条件の基本形

=FILTER(抽出範囲, (日付範囲>=開始日) * (日付範囲<=終了日))
  • 「*」はAND条件を意味します。両方の条件を満たす行だけが抽出されます。
  • 開始日・終了日はセル参照で指定すると柔軟に使えます。

具体例

日付一覧から指定期間だけ抽出

=FILTER(A2:A100, (A2:A100>=$C$2) * (A2:A100<=$D$2))

A列に日付、C2に開始日、D2に終了日。指定期間のデータだけが縦に抽出されます。

売上表から指定期間の行を丸ごと抽出

=FILTER(A2:D100, (A2:A100>=$F$2) * (A2:A100<=$G$2))

A列が日付、B〜D列が売上情報。開始日F2、終了日G2の範囲に入る行を丸ごと抽出。

期間外なら「該当なし」と表示

=FILTER(A2:D100, (A2:A100>=$F$2) * (A2:A100<=$G$2), "該当なし")

条件に合う行がなければ「該当なし」と返します。


応用テンプレート

指定月だけ抽出(MONTH関数と組み合わせ)

=FILTER(A2:D100, MONTH(A2:A100)=$H$2)

H2に「12」と入力すれば12月分だけ抽出。

指定年度だけ抽出(IFとYEAR関数)

=FILTER(A2:D100, YEAR(A2:A100)=$H$2)

H2に「2025」と入力すれば2025年分だけ抽出。

平日だけ抽出(WEEKDAY関数と組み合わせ)

=FILTER(A2:D100, WEEKDAY(A2:A100,2)<=5)

月曜=1〜金曜=5の範囲だけ抽出。

複数条件(期間+担当者)

=FILTER(A2:D100, ((A2:A100>=$F$2)*(A2:A100<=$G$2)) * (C2:C100=$H$2))

日付が期間内かつ担当者がH2の値に一致する行を抽出。


よくあるつまずきと対策

FILTERはMicrosoft 365以降のみ

古いExcelでは使えません。代替は「オートフィルタ」や「COUNTIFS+INDEX」など。

日付が文字列だと判定できない

“2025/12/17” のような文字列は DATEVALUE で日付型に変換してから使います。

AND条件は「*」、OR条件は「+」

FILTERは論理式を掛け算・足し算で組み合わせます。

  • AND → *
  • OR → +

抽出範囲と条件範囲のサイズは一致させる

抽出範囲と条件範囲の行数が違うとエラーになります。


例題

問題1: A列の日付から「開始日C2〜終了日D2」の範囲だけをB列に抽出してください。

=FILTER(A2:A100, (A2:A100>=$C$2) * (A2:A100<=$D$2))

問題2: A列の日付とB列売上から「開始日F2〜終了日G2」の範囲だけをH列に抽出してください。

=FILTER(A2:B100, (A2:A100>=$F$2) * (A2:A100<=$G$2))

問題3: A列の日付から「12月分」だけをC列に抽出してください。

=FILTER(A2:A100, MONTH(A2:A100)=12)

問題4: A列の日付とC列担当者から「期間F2〜G2かつ担当者H2」の行を抽出してください。

=FILTER(A2:C100, ((A2:A100>=$F$2)*(A2:A100<=$G$2)) * (C2:C100=$H$2))

問題5: A列の日付とB列売上から「平日分」だけをC列に抽出してください。

=FILTER(A2:B100, WEEKDAY(A2:A100,2)<=5)

まとめ

指定期間の抽出は「=FILTER(範囲, (日付>=開始)*(日付<=終了))」が基本形。条件を掛け算でAND、足し算でORにでき、MONTHやYEARで月・年単位の抽出、WEEKDAYで平日抽出も自在。FILTERは「条件に合う行を丸ごと返す」ので、期間集計やレポート作成が一気に効率化します。

タイトルとURLをコピーしました