FILTER関数の日付型抽出

FILTER関数の日付型抽出

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

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

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

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

開催日 開始時間 会場 天気 来客数
2020/05/11 15:45 品川 晴れ 1100
2020/04/07 15:45 上野 晴れ 1080
2020/03/21 11:15 上野 曇り 1000
2020/03/21 11:15 上野 晴れ 980
2020/03/21 15:45 上野 晴れ 970
2020/05/11 13:30 町田 曇り 970
2020/03/12 11:15 品川 曇り 930
2020/05/11 11:15 上野 曇り 930
2020/05/01 15:45 町田 曇り 920
2020/04/29 13:30 上野 晴れ 840
2020/05/01 13:30 品川 晴れ 840
2020/04/29 11:15 町田 曇り 840
2020/05/01 11:15 町田 830
2020/05/11 13:30 品川 790
2020/03/12 13:30 品川 760
2020/05/01 15:45 上野 晴れ 760
2020/03/21 11:15 町田 760
2020/05/15 11:15 町田 曇り 750
2020/03/12 13:30 上野 曇り 730
2020/04/29 11:15 品川 曇り 730
2020/05/11 11:15 上野 晴れ 730
2020/05/01 11:15 品川 晴れ 720
2020/05/11 13:30 上野 710
2020/05/11 13:30 町田 610
2020/03/21 11:15 品川 曇り 590
2020/05/15 11: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関数を使用すると、大量のデータから特定の条件に合致するレコードを簡単に抽出することができます。今回は、特に日付フィールドを用いた期間指定(...

コメント

PAGE TOP
タイトルとURLをコピーしました