Excelで日付範囲をフィルターする方法|初心者でもできる5つの簡単テクニック
この記事では、Excelで日付範囲をフィルターして特定の期間のデータだけを抽出する方法を、5つのアプローチから詳しく解説します。
例えば、1か月分の売上データを持っていて、「毎日の売上」ではなく「特定の日」や「特定の週」の状況を知りたいとします。そんなときに役立つのが日付範囲のフィルターです。この機能を使えば、目的の期間のビジネス状況を簡単に把握できるようになります。
ここでは、次のようなデータセットを使用します。これはある店舗における電子製品の販売数量を、1月・2月・3月の異なる日付ごとに記録したものです。

Excelで日付範囲をフィルターする5つの方法
方法1:フィルターコマンドを使って日付範囲を絞り込む
日付範囲をフィルターする最も手軽な方法は、リボンの「並べ替えとフィルター」にあるフィルターコマンドを使うことです。具体的な手順を見ていきましょう。
1-1. 選択方式で日付範囲をフィルターする
ここでは、1月と3月の販売数量を確認したいとします。そのためには、2月の日付を除外する必要があります。
手順:
- B4~D4の範囲内の任意のセルを選択し、ホーム >> 並べ替えとフィルター >> フィルター をクリックします。

- 次に、セルB4に表示されたアイコン(下図参照)をクリックします。

- 「January(1月)」と「March(3月)」のチェックを外し、OKをクリックします。

これで2月の売上情報のみが表示されます。

- 続いて1月と3月の情報を取得するために、範囲B10:D12を選択し、選択セルのいずれかを右クリックします。
- 行の削除をクリックします。

- 警告メッセージが表示されるので、OKをクリックします。

- この操作で2月の製品売上情報がすべて削除されます。最後に、再度並べ替えとフィルターからフィルターを選択します。

これで1月と3月の売上情報だけが表示されます。

このように、Excelで日付範囲をフィルターすれば、必要な情報だけを簡単に取り出せます。
1-2. 日付フィルター機能を使う
同じく1月と3月の販売数量を知りたいケースで、今度は日付フィルター機能を使う方法を紹介します。
手順:
- B4~D4の範囲内の任意のセルを選択し、ホーム >> 並べ替えとフィルター >> フィルター をクリックします。

- セルB4に表示されたアイコン(下図参照)をクリックします。

- 日付フィルターからユーザー設定フィルターを選択します(下図参照)。

ここでの目的は1月と3月の売上情報を表示することなので、2月を除外する条件を設定します。
- 条件として「指定の値より前」に01-02-22、「指定の値より後」に07-02-22 を設定します(下図参照)。つまり「02-01-22より前、または02-07-22より後」という条件になります。

- OKをクリックすると、1月と3月の売上情報が表示されます。

このように、自由に日付範囲をフィルターできます。日付フィルターには「今日」「昨日」「来月」などのオプションも用意されているので、用途に応じて使い分けると便利です。
方法2:FILTER関数を使って日付で絞り込む
FILTER関数を使えば、数式だけでスマートに日付範囲をフィルターできます。ここでは2月の売上情報を抽出してみましょう。
手順:
- まず、下図のような新しい表を作成します。

- F列の表示形式が日付に設定されていることを確認します。

- セルF5に次の数式を入力します。
=FILTER(B5:D14,MONTH(B5:B14)=2,"No data")

MONTH関数により、FILTER関数が指定した月に基づいて売上情報を返せるようになります。ここでは2月の売上情報を表示したいので、日付範囲B5:B14が月番号2に該当するかどうかを判定しています。該当すれば2月の売上履歴が表示され、該当しなければ「No data」が返されます。
- Enterキーを押すと、2月の製品売上に関するすべての情報が表示されます。

このように、FILTER関数を使えば一目で日付範囲をフィルターできます。
方法3:ピボットテーブルで日付範囲をフィルターする
次に、ピボットテーブルを使った日付範囲のフィルター方法を紹介します。ここでは1月の合計売上を知りたいとします。以下の手順に従ってください。
手順:
- まず範囲B4:D12を選択し、挿入 >> ピボットテーブル をクリックします。

- ダイアログボックスが表示されるので、OKをクリックします。

新しいシートの右側にピボットテーブルのフィールドが表示されます。ここにはデータセットの列見出しから生成されたすべてのフィールドが含まれており、フィルター・列・行・値という4つのエリアがあります。各フィールドはドラッグ&ドロップで自由に配置できます。

- ピボットテーブルのフィールドで「Date(日付)」をクリックすると、「Months(月)」というフィールドが自動的に追加されます。

- ここが少しトリッキーなポイントです。「Date(日付)」のチェックを外し、「Products(製品)」と「Sales Qty.(販売数量)」にチェックを入れます。
- そして、「Months(月)」フィールドを行エリアからフィルターエリアへドラッグします(下図参照)。

この操作により、データセット内のすべての売上と製品がピボットテーブルに表示されます。

- 1月の売上を表示するには、下図の矢印部分をクリックし、「Jan(1月)」を選択します。
- あとはOKをクリックするだけです。

これでピボットテーブル上に、すべての製品とそれぞれの売上が表示され、1月の合計売上も確認できます。

このように、ピボットテーブルを使えば日付範囲を簡単にフィルターできます。この例では2月と3月の日付を除外しました。
方法4:VBAで日付範囲をフィルターする
VBAを使っても日付範囲をフィルターできます。ここでは2月と3月の売上だけを表示するコードを紹介します。
手順:
- まず、開発タブからVisual Basicを開きます。

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

- VBAモジュールに次のコードを入力します。
Public Sub DateRangeFilter()
Dim StartDate As Long, EndDate As Long
StartDate = Range("B10").Value
EndDate = Range("B14").Value
Range("B4:B14").AutoFilter field:=1, _
Criteria1:=">=" & StartDate, _
Operator:=xlAnd, _
Criteria2:="<=" & EndDate
End Sub

ここでは、StartDateとEndDateという2つの変数をLong型として宣言したSubプロシージャ「DateRangeFilter」を作成しています。
2月と3月の売上を知りたいので、RangeメソッドとValueプロパティを使って、2月の初日(セルB10)を開始日、3月の末日(セルB14)を終了日に設定しました。その後、AutoFilterメソッドを使い、開始日と終了日の条件を指定してB4:B14の日付範囲をフィルターしています。
- Excelシートに戻り、マクロを実行します。

- 実行後は、2月と3月の日付だけが表示されます。

このように、シンプルなVBAコードでも日付範囲をフィルターできます。
方法5:AND関数とTODAY関数を組み合わせて日付範囲をフィルターする
「今日から60日前~80日前」のように、今日を基準とした相対的な日付範囲で売上履歴を確認したい場合に使える方法です。
手順:
- 新しい列を作成し、好きな名前を付けます。ここでは「Filtered Date(フィルター済み日付)」とします。
- セルE5に次の数式を入力します。
=AND(TODAY()-B5>=60,TODAY()-B5<=80)

TODAY関数によって、今日から60日~80日前の間にある日付を判定します。この論理式をAND関数に渡すことで、条件を満たすかどうかに応じてTRUE/FALSEが返されます。
- Enterキーを押すと、セルE5に結果が表示されます。

- フィルハンドルを使って、下のセルまで数式をオートフィルします。

- セルE5を選択し、ホーム >> 並べ替えとフィルター >> フィルター をクリックします。

- 表示された矢印をクリックし、「FALSE」のチェックを外してOKをクリックします(下図参照)。

- この操作を実行すると、目的の日付範囲内の売上履歴だけが表示されます。

このように、Microsoft Excelで日付範囲をフィルターすることができます。
練習用ワークブック
この記事で使用したデータセットを以下に示します。ぜひご自身で各手法を練習してみてください。

まとめ
この記事では、Excelで日付範囲をフィルターする方法を中心に解説しました。いずれも非常にシンプルな手法ばかりです。大量のデータセットを扱う際、特定の期間内の出来事や情報を素早く把握したい場面は多くあります。そんなとき、日付範囲のフィルターはとても強力な武器になります。この記事が皆さんのお役に立てば幸いです。より良い方法やフィードバックがあれば、ぜひコメント欄でお聞かせください。
関連記事
- SUMIFS関数で日付範囲と複数条件を組み合わせる方法(7つの手順)
- VLOOKUPで日付範囲を検索して値を返す方法(4つの適切な方法)
- IF関数で日付範囲を判定する方法(6つの方法)
- VBAで日付別にデータをフィルターするコード(4つの実例)
- Excelで直近30日間の日付をフィルターする方法(5つの簡単な方法)
- VBAでピボットテーブルを2つの日付の間でフィルターする方法
-
Excelで複数の色を条件にデータをフィルターする2つの簡単な方法
この記事では、Microsoft Excelで複数の色を条件にデータをフィルターする方法を解説します。通常、特定の列を複数の色でフィルターすると、他の列も最初に適用したフィルターの影響を受けてしまい、思い通りの結果が得られないことがあります。色による複数条件のフィルタリングは少し工夫が必要ですが、この記事では誰でも実践できる2つの方法を、わかりやすい手順とともに紹介します。 Excelで複数の色を条件にフィルターする2つの方法 ここでは、営業担当者の氏名、担当地域、売上高がそれぞれB列・C列・E列に入力されたサンプルデータセットを使用します。このデータには、セルごとに異なる色が設定されています
-
Excelでセルの色を基準にフィルターする2つの簡単な方法
Excelでは、目的に応じてさまざまな色でセルを塗りつぶすことがよくあります。ワークシート内で色を使ってデータの種類を区別しており、特定の色が付いたセルだけを抽出・選択したい場合、この記事が役立ちます。ここでは、Excelでセルの色を基準にフィルター処理を行う方法をわかりやすく解説します。 理解を深めながら実際に練習できるよう、サンプルのExcelブックをダウンロードしてご利用ください。 Excelでセルの色別にフィルターする2つの便利な方法 以下の2つの方法では、「フィルター」コマンドと「検索」コマンドを使用して、セルの色を基準にデータを絞り込む手順を学べます。記事内では、異なる色を付け