エクセル時刻処理関数

CSV形式の設定ファイルを自動生成する作業で、時刻の処理を行う必要があったので、エクセルで処理しようとして・・・割と詰まった。

  • DATEVALUE/TIMEVALUE

これらの関数は完全な日付文字列を受け取るが、DATEVALUEは時刻を無視し、TIMEVALUEは日付を無視する。*1

  • 文字列関数

文字列を切り出す関数で一文字目がインデックス1。通常の関数では0からカウントする。
文字列の連結に関数が必要。意外と厳しい。Cの時代のようだ。

  • ヘルプファイル

どうも読みにくいのは「時刻」と「時間」の概念が明白に分離されていないことではないかと思う。*2

*1:結局、時刻まで記された日付文字列があった場合、その文字列をDATEVALUEとTIMEVALUEで処理して、結果を合計することになる。

*2:TIMEVALUEは実は「時間」であって「時刻」ではないのだろう。ではTIME関数と根本的に同じではなかろうか。