FILTER関数の使い方 - 日付を条件にする(エクセル)

この記事ではFILTER関数において、日付を条件にデータを抽出する方法を解説します。

FILTER関数(エクセル)の基礎はこちらからアクセスできます。

日付を条件にする場合、FILTER関数の中でDATEVALUEを用いて日付を記した文字列を日付データに変換します。
文字列は、日付として認識できるものであれば、どの形式でも構いません。
DATEVALUE('yyyy-MM-dd') / DATEVALUE('yyyy/MM/dd')

以下の取引履歴を例に見ていきましょう。
例えば、取引の日付が2021年の3月21日以前のデータを抽出します。

まずは、表の範囲と条件にしたい列の範囲を指定します。
1行目は見出しなので、2行目から9行目を指定します。
=FILTER(A2:D9,A2:A9

表と条件列を指定


この際、表の列と条件列の高さは同じになるように注意しましょう。高さが異なるとエラーが表示されます。

次に、日付の条件を指定します。DATEVALUE関数を使って、日付を書きます。
=FILTER(A1:D9,A1:A9<=DATEVALUE("2021-03-21")

条件を指定


最後にデータが見つからない場合、空欄を返すように、""と書きます。

=FILTER(A1:D9,A1:A9<=DATEVALUE("2021-03-21"),"")

データがない場合の表示



すると、3月21日以前の取引が全て抽出されます。
結果


なお、日付をセルに入れて、それを用いて日付を比較することも可能です。
下の例では、E1セルに「2021年3月21日」と入れています。
日付をセルに入れて参照する方法


このように、日付を条件にする場合、FILTER関数の中でDATEVALUEを用いるか、他のセルを参照するかします。

この記事のエクセルファイルはこちらからダウンロードできます。