この記事では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を用いるか、他のセルを参照するかします。
この記事のエクセルファイルは
こちらからダウンロードできます。