概要
「指定した期間だけのデータを抽出したい」なら、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は「条件に合う行を丸ごと返す」ので、期間集計やレポート作成が一気に効率化します。
