FILTER関数の日付型抽出

FILTER関数の日付型抽出

ExcelのFILTER関数は、特定の条件に基づいてデータを抽出する強力なツールです。ただ、日付データの抽出は、特に注意が必要な場面の一つとなります。この記事では、FILTER関数を使って日付型のデータを正確に抽出する方法について解説します。

日付型フィールドがあるサンプルデータセットの確認

FILTER関数で日付型のデータを抽出する際には、DATE関数DATEVALUE関数を使用して日付を正しい形式に変換することが効果的です。

例えば、以下のようなデータセットがあるとします。このデータセットから、特定の日付(例:2020年3月12日)のデータを抽出する手順を次に紹介します。

開催日開始時間会場天気来客数
2020/05/1115:45品川晴れ1100
2020/04/0715:45上野晴れ1080
2020/03/2111:15上野曇り1000
2020/03/2111:15上野晴れ980
2020/03/2115:45上野晴れ970
2020/05/1113:30町田曇り970
2020/03/1211:15品川曇り930
2020/05/1111:15上野曇り930
2020/05/0115:45町田曇り920
2020/04/2913:30上野晴れ840
2020/05/0113:30品川晴れ840
2020/04/2911:15町田曇り840
2020/05/0111:15町田830
2020/05/1113:30品川790
2020/03/1213:30品川760
2020/05/0115:45上野晴れ760
2020/03/2111:15町田760
2020/05/1511:15町田曇り750
2020/03/1213:30上野曇り730
2020/04/2911:15品川曇り730
2020/05/1111:15上野晴れ730
2020/05/0111:15品川晴れ720
2020/05/1113:30上野710
2020/05/1113:30町田610
2020/03/2111:15品川曇り590
2020/05/1511:15町田560

FILTER関数の日付型抽出の設定パターン1 (定数)

DATE関数を使用した例

このデータセットから、特定の日付(例:2020年3月12日)のデータを抽出するには、DATE関数と組み合わせて以下の計算式を使用します。

DATE関数は「DATE(年,月,日)」の書式を用い、1つの日付データを作成可能にします。

=FILTER(A2:E27, A2:A27=DATE(2020,3,12))

なお日付は「43902」のように整数で、時刻は「0.46875」のように小数で表示されます。これは「表示形式」で調整してください。

DATEVALUE関数を使用した例

もしくはDATEVALUE関数と組み合わせて以下の計算式を使用します。DATEVALUE関数は「DATEVALUE(日付文字列)」の書式を用い、日付文字列を日付型データとして適切に認識させます。

=FILTER(A2:E27, A2:A27=DATEVALUE("2020/3/12"))

失敗例

また、以下は失敗例です。FILTER関数ではDATEVALUE関数で囲まない日付型文字列は認識されません。

=FILTER(A2:E27, A2:A27="2020/3/12")

FILTER関数の日付型抽出の設定パターン2 (セル参照)

日付セルを参照するケース

セル参照を使う場合には直接指定ができます。たとえばセルG2に「2020/3/12」という日付データが入力されているならば、以下のような指定ができます。非常に簡単な設定で完結します。

=FILTER(A2:E27,A2:A27=G2)

別々の場所に入力されている年・月・日をDATE関数を用いて参照するケース

年・月・日が別々の場所に入力されていて、それらを参照するならばDATE関数を用いて適切に結合させる必要があります。たとえば「年情報がセルG2、月情報がセルG4、日情報がセルG6」に入力されている場合に、対象のレコードを抽出する式は以下の通りになります。

=FILTER(A2:E27,A2:A27=DATE(G2,G4,G6))

以降・以前の設定

日付抽出においてその日だけを対象にするには前述のように「含む」の比較演算子に「=」を使いました。「以降/以前」の抽出も可能です。その場合は「>=」「<=」を比較演算子にします。その日を含めない場合は「>」「<」を使います。

  • 以降…>=
  • 以前…<=
  • より後…>
  • より前…<

例えば「2020/5/11以降の抽出」ならば以下のいずれかの計算式となります。

=FILTER(A2:E27,A2:A27>=DATE(2020,5,11))
=FILTER(A2:E27,A2:A27>=DATEVALUE("2020/5/11"))

注意点

日付データを抽出する際には、日付列が正しく日付形式でフォーマットされていることを確認してください。セルのフォーマット(表示形式)が「標準」や「文字列」になっている場合、それを「日付」に変更する必要があります。

FILTER関数を使った日付型データの抽出は、適切な方法を理解することで簡単に行えます。日付データを扱う際には、これらのポイントを念頭に置いて作業を進めてください。

次の記事:FILTER関数と日付の期間指定

次の記事ではFILTER関数で「○以降から×以前までのデータを抽出する」という作業を実現する方法を解説します。設定する条件が複数となります。

FILTER関数を使用して特定の日付期間のデータを抽出する
ExcelのFILTER関数を使用して特定の期間のデータを抽出する方法Excelの強力なFILTER関数を使用すると、大量のデータから特定の条件に合致するレコードを簡単に抽出することができます。今回は、特に日付フィールドを用いた期間指定(複...

コメント