FILTER関数の使い方 - 日付を条件にする(スプレッドシート)

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

FILTER関数(スプレッドシート)の基礎はこちらからアクセスできます。

日付を条件にする場合、FILTER関数の中でDATEVALUEを用いて日付を記した文字列を日付データに変換します。

DATEVALUE('yyyy-MM-dd') / DATEVALUE('yyyy/MM/dd')

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

取引履歴


今回は、全ての列を取り出したいので、見出しを除いた表の範囲であるA2からD9までを指定します。
=FILTER(A2:D9

表の範囲を指定


次に、日付の条件にするので、日付の列であるA列を指定します。
この際、表の範囲と高さが異なると、「FILTERの範囲サイズが一致しません」とエラーが表示されるので、同じ高さにするように気を付けましょう。

=FILTER(A2:D9,A2:A9

データ抽出に使う列を指定

最後に、4月1日以降という条件を書きましょう。DATEVALUE関数の中に文字を入れます。
=FILTER(A2:D9,A2:A9>=DATEVALUE("2021-04-01"))

条件を指定


すると、4月1日以降の取引である2つのデータが抽出されました。
結果


このように、FILTER関数において、日付を条件にデータを抽出する場合、DATEVALUEを用います。

また、日付データをセルに書いておいて、そのセルを抽出に使うこともできます。
下の例はE1に2021/04/01と日付でのデータを入れた場合の例です。
日付をセルに入れて参照する方法


この場合、参照先であるE1セルは、データ形式が「日付」になっている必要があることに注意して下さい。
文字列など別のデータ型になっている場合は上手くデータを抽出することはできません。

こちらの記事のスプレッドシートはこちらからアクセスできます。