FILTER 関数で、テーブルの [日付] 列で期間を指定して抽出したい、という質問をいただいたので書いておきます。

イメージはこんな感じ↓。セル G2 を開始日、セル G3 を終了日としてその期間内のレコードを抽出したいです。


開始日と終了日をセル参照する

FILTER 関数で複数の条件を指定する方法については こちら に書いていますので併せてご覧ください。

ここで使用しているテーブルには [List] という名前が設定されています。 [日付] 列の値がセル G3 (2024/10/11) 以降、なおかつ セル G4 (2024/11/10) 以前、という条件です。

この場合の数式はこちら。 
=FILTER(List , (List[日付]>=G2) * (List[日付]<=G3) )  


開始日と終了日を数式内で固定する 

先ほどと同じように [List] という名前のテーブルを対象として、日付をセル参照ではなく直接記述する場合も書いておきます。

この場合は、日付を指定するときに DATEVALUE 関数を使って文字列として指定した日付の部分を日付に変換して処理させます。数式はこちら。画像は数式を大きくしたいのでテーブルと切り離しています。 
=FILTER(List,(List[日付]>=DATEVALUE("2024/10/11"))*(List[日付]<=(DATEVALUE("2024/11/10"))))

指定した期間内のレコードが抽出されます。 



DATEVALUE 関数って使用する機会があまり多くはないけれど、こういうときに知らないと困る関数の 1 つですね。 セル参照のほうが条件をいろいろ変えられて使い勝手がよいとは思いますが、なにかセル参照にさせたくない理由があるようなので後半の内容についてもお伝えしました。

石田 かのこ