Excelの詳細フィルター(アドバンスフィルター)完全マスター:日付範囲でデータを抽出する2つの確実な方法
この記事では、2022年1月〜3月の日付ごとに記録された電子製品の販売数量データセットを使用します。このデータから、特定の日付範囲に該当するレコードだけを効率的に抽出する方法を、2つのアプローチで詳しく解説します。

方法1:「並べ替えとフィルター」機能を使って日付範囲で詳細フィルターを適用する
手順:
- まず、下図のように「日付」「製品」「販売数」という3つの列見出しを作成します。これがフィルターの検索条件範囲になります。

- 「日付」列に、適用したい条件または範囲を入力します。ここでは、2022年1月31日以降の売上データを抽出します。
- セル F6 に「>1/31/2022」と入力します。

「>1/31/2022」は「2022年1月31日より後の日付」を意味する条件式です。
次に、この条件をもとにデータをフィルターします。
- データセット全体(B4:D14)を選択します。
- 「データ」タブを開き、「並べ替えとフィルター」グループ内の「詳細設定」をクリックします。

- 「フィルターオプションの設定」ダイアログで、「指定した範囲にコピー」を選択します。
- 事前にデータセット全体を選択しているため、「リスト範囲」には選択した範囲が自動的に表示されます。

- 「検索条件範囲」に「$F$4:$H$5」と入力します。
- 「抽出範囲」に「$F$7」と入力します。
- 「OK」をクリックすると、結果が表示されます。

- 検索条件は自由に変更できます。日付範囲だけでなく、「製品」や「販売数」を組み合わせた高度な絞り込みも可能です。

方法2:Excel VBAを使って日付範囲で詳細フィルターを実行する
VBAを活用すれば、抽出作業を自動化でき、毎月の定型業務にも簡単に応用できます。
手順:
- まず、「開始日」と「終了日」という2つの列見出しを作成します。

2022年1月の売上情報を抽出するには、「開始日」に「1月1日」、「終了日」に「1月31日」と入力します。

- VBAコード内で検索条件を宣言する際、ヘッダー名は元のデータと同一である必要があります。
- セル F8 に以下の数式を入力します。

「=">="&F5」はセル F5 の値を参照して条件を作成する数式です。この条件は「その値以上」を意味し、F8 には「2022年1月1日以降」という条件が設定されます。
- 同様に、セル G8 に以下の数式を入力します。

「="<="&G5」はセル G5 の値を参照して条件を作成します。この条件は「その値以下」を意味し、G8 には「2022年1月31日まで」という条件が設定されます。
- 「開発」タブを開き、「Visual Basic」をクリックします。

- 「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」>>「標準モジュール」を選択します。

- モジュールに以下のコードを入力します。
Sub myAdvancedFilterForDateRange()
Dim eb As Workbook
Dim es As Worksheet
Dim Rg As Range
Dim CRg As Range
Dim DRg As Range
Set eb = ThisWorkbook
Set es = eb.Worksheets("VBA Code")
Set Rg = es.Range("B4").CurrentRegion
Set CRg = es.Range("F7").CurrentRegion
Set DRg = es.Range("F10")
DRg.CurrentRegion.Clear
Rg.AdvancedFilter xlFilterCopy, CRg, DRg
End Sub

コードの解説:
- 変数 Rg はデータセットの先頭範囲、変数 CRg は検索条件の起点、変数 DRg は抽出結果を表示する開始位置を表します。
- 「DRg.CurrentRegion.Clear」は、出力エリアの既存データをクリアします。
- 「Rg.AdvancedFilter xlFilterCopy, CRg, DRg」が、詳細フィルターによる抽出処理を実行する部分です。
- 以下のアイコン(実行ボタン)をクリックしてコードを実行します。

- 2022年1月の売上情報が表示されました。

まとめ
本記事では、Excelの詳細フィルターを使って日付範囲でデータを抽出する2つの方法を紹介しました。「並べ替えとフィルター」機能を使う方法は手軽で直感的、VBAを使う方法は繰り返し作業の自動化に最適です。用途に合わせて使い分けることで、データ分析の効率が大幅に向上します。
練習用ワークブックのダウンロード
以下のワークブックをダウンロードして、実際に操作を試してみてください。
<< 詳細フィルターに戻る | Excelのフィルター | Excelを学ぶ
無料のExcel演習問題と解答付き教材もぜひご活用ください!
-
Excelでピボットテーブルを簡単に作成する方法|初心者向けステップ解説
金融や会計の分野で働いている方なら、求人の多くで中級〜上級レベルのExcelスキルが求められていることをご存じでしょう。これらの職種で特によく使われるExcel機能が、ピボットテーブルとVLOOKUPです。この記事では、ピボットテーブルの基本をわかりやすく解説します。VLOOKUPについて詳しく知りたい方は、こちらの記事をご覧ください。また、VLOOKUPの代替となる「INDEX-MATCH」関数についても、ぜひチェックしてみてください。Excelでピボットテーブルを作成するピボットテーブルとは何でしょうか。簡単に言えば、ピボットテーブルとはExcelに標準搭載されている機能のひとつで、大量の
-
【解決法】「パッケージリポジトリが破損しています」エラー – Windows 10のMicrosoft Office
Outlookを含むMicrosoft Officeのアプリケーションを開こうとした際に、「パッケージリポジトリが破損しています(The Package repository is corrupted)」というエラーメッセージが表示される場合があります。この記事では、この問題を解決するための最も効果的な対処法を詳しくご紹介します。 「パッケージリポジトリが破損しています」エラーとは このエラーは、Officeのインストールデータやパッケージ情報が破損していることが原因で発生します。システムファイルの不具合やアップデートの失敗などがきっかけとなることもあります。 この問題に直面した場合は、以下の