はじめに
業務において、Power Automate for desktop で Excel を操作する機会は多いと思います。
Excel から時刻の情報を読み取ると、Power Automate for desktop ではシリアル値として保持されます。
これを、時刻の形式に変換する方法を記載します。
Power Automate for desktop でシリアル値から時刻を求める
① Datetime型変数を生成
変換の準備として、DateTiem型変数を用意します。
『変数の設定』アクションで、
%D'1900/01/01 00:00:00'%
をセットします。
(日付部分 "1900/01/01" は、任意の日で大丈夫です)
② シリアル値を秒に変換
『数値の切り捨て』アクションを利用します。
Excel は、時刻を24時を 1 として保持します。
ですので、以下のようにシリアル値で管理されます。
時間:1/24
分 :1/24/60
秒 :1/24/60/60
Power Automate for desktop で読み取った値に * 86400(24 × 60 × 60 )することで、秒に変換できます。
小数点以下は、四捨五入しておきます。
③ 日時データに秒を追加
② で求めた秒数を、① の DateTiem型変数に追加します。
『加算する日付』アクションを利用します。
④ 時刻の表示形式に変換
『datetimeをテキストに変換』アクションで、時刻の形式を整えます。
カスタム形式は、"T" を指定すると、『 : 』(コロン)区切りの24時制日付に変換できます。
まとめ
Excel から読み取った時刻のデータを、Power Automate for desktop で扱う場合は、86400 で乗算して秒数に変換し Datetime型で扱うことで、表示形式を変換可能です。
もっとスマートに実現できる方法をご存知でしたら、是非ご教示ください。