Googleスプレッドシートで関数の参照先のセルが空白の場合は出力結果も空白にする
GASを使ってGoogleスプレッドシートに定期的にデータを記録する場合、自動でシートの最終行に記録してくれるようになっている。
↓のような時系列データを自動記録する際に、TIME関数を使ってA列の値を元にC列に時間のみを表示するようにしたところ、データ未登録のセルは「0:00」が表示されてしまい意図した位置に記録してくれない問題が発生した。
A | B | C |
---|---|---|
datetime | value | time |
09/21 9:00 | 10 | 9:00 |
09/21 15:00 | 12 | 15:00 |
09/21 21:00 | 8 | 21:00 |
09/22 3:00 | 15 | 3:00 |
0:00 | ||
0:00 | ||
09/22 9:00 | 11 | 9:00 |
行の各セルが空白であれば最終行として認識してくれるので、IF関数、ISBLANK関数と組み合わせてdatetimeが空白の場合はtimeも空白のままになるようにした。
=IF(ISBLANK(A2),,TIME(HOUR(A2),MINUTE(A2),0))
これで意図した位置にデータを自動記録してくれるようになった。