FILTER関数の時刻型抽出
ExcelのFILTER関数は、特定の条件に基づいてデータを抽出する強力なツールです。ただ、時刻データの抽出は、特に注意が必要な場面の一つとなります。この記事では、FILTER関数を使って時刻型のデータを正確に抽出する方法について解説します。
時刻型フィールドがあるサンプルデータセットの確認
FILTER関数で時刻型のデータを抽出する際には、TIME関数やTIMEVALUE関数を使用して時刻を正しい形式に変換することが効果的です。
例えば、以下のようなデータセットがあるとします。このデータセットから、特定の時刻(例:15:45)のデータを抽出する手順を次に紹介します。
開催日 | 開始時間 | 会場 | 天気 | 来客数 |
---|---|---|---|---|
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 (定数)
TIME関数を使用した例
このデータセットから、特定の時刻(例:15:45)のデータを抽出するには、TIME関数と組み合わせて以下の計算式を使用します。
TIME関数は「TIME(時,分,秒)」の書式を用い、1つの時刻データを作成可能にします。
=FILTER(A2:E27, B2:B27=TIME(15,45,0))
TIMEVALUE関数を使用した例
もしくはTIMEVALUE関数と組み合わせて以下の計算式を使用します。TIMEVALUE関数は「TIMEVALUE(時刻文字列)」の書式を用い、時刻文字列を時刻型データとして適切に認識させます。
=FILTER(A2:E27, B2:B27=TIMEVALUE("15:45"))
失敗例
また、以下は失敗例です。FILTER関数ではTIMEVALUE関数で囲まない時刻型文字列は認識されません。
=FILTER(A2:E27, B2:B27="15:45")
FILTER関数の時刻型抽出の設定パターン2 (セル参照)
時刻セルを参照するケース
セル参照を使う場合には直接指定ができます。たとえばセルG2に「15:45」という時刻データが入力されているならば、以下のような指定ができます。非常に簡単な設定で完結します。
=FILTER(A2:E27,B2:B27=G2)
別々の場所に入力されている年・月・日をTIME関数を用いて参照するケース
年・月・日が別々の場所に入力されていて、それらを参照するならばTIME関数を用いて適切に結合させる必要があります。たとえば「時情報がセルG2、分情報がセルG4、秒情報がセルG6」に入力されている場合に、対象のレコードを抽出する式は以下の通りになります。
=FILTER(A2:E27,B2:B27=TIME(G2,G4,G6))
注意点
時刻データを抽出する際には、時刻列が正しく時刻形式でフォーマットされていることを確認してください。セルのフォーマットが「一般」や「文字列」になっている場合、それを「時刻」に変更する必要があります。
FILTER関数を使った時刻型データの抽出は、適切な方法を理解することで簡単に行えます。時刻データを扱う際には、これらのポイントを念頭に置いて作業を進めてください。
続き:複数の時間を指定してFILTER関数で時間範囲抽出をする
「○時〇分~×時×分」のレコード抽出させることもできますが、式が複雑になります。そのような際は次の記事を参考にしてください。
コメント