Googleスプレッドシートで時間別の平均値を取得する
時系列データをGoogleスプレッドシートに記録する際に、時間ごとの平均値を知りたかったので対応を行った。
まずは、前回の記事のようにTIME関数を使って時間のみを抽出した列(C列)を用意する。
# C列
=IF(ISBLANK(A2),,TIME(HOUR(A2),MINUTE(A2),0))
A | B | C |
---|---|---|
datetime | value | time |
09/21 9:00 | 10 | 9:00 |
09/21 10:00 | 12 | 10:00 |
... | ||
09/22 9:00 | 11 | 9:00 |
09/22 10:00 | 8 | 10:00 |
... |
次に、同じシートの別列もしくは別のシートに0時から23時までの時間を記述する。
今回は同じシートのE列に記録したとする。
E | F |
---|---|
time | average |
0:00 | =AVERAGEIF(C:C,E2,B:B) |
01:00 | =AVERAGEIF(C:C,E3,B:B) |
... | |
23:00 | =AVERAGEIF(C:C,E25,B:B) |
そして、F列でAVERAGEIF関数を使ってC列の中からE列のセルに該当するBの値の平均値を取得する。
=AVERAGEIF(C:C,E2,B:B)
最後にE列とF列からグラフを作成すれば時間別の平均値を視覚的に把握できるようになる。