10/27/2023

Excel。読み込んだ時間が5桁6桁の数値だったので時間にするにはどうしたらいい。【clock】

Excel。読み込んだ時間が5桁6桁の数値だったので時間にするにはどうしたらいい。

<TEXT+TIME+MID関数>

データを読み込んでみたら、時間のデータが、なんと数値になっていた。


しかも、0~9時台は、5桁の数値。

それ以降は6桁の数値として、入力されていることがわかりました。


どうしたら、時間に変更することができるのでしょうか。


C2に設定した数式は、下記のようになります。

=TEXT(TIME(MID(TEXT(A2,"000000"),1,2),MID(TEXT(A2,"000000"),3,2),MID(TEXT(A2,"000000"),5,2)),"h:mm:ss")


数式自体は、長いのですが、やっていることは、同じようなことをやっていますので、一つずつ確認していきます。


MID関数は、指定した文字列から指定した文字数目から、指定の文字数を抽出する関数です。

MID関数の引数に、TEXT(A2,"000000") とTEXT関数をつかっているのは、5桁の場合、つまり0時台~9時台までの場合、頭に「0(ゼロ)」をついかしたいわけです。


数値の前に「0」を付けることはできませんので、表示形式のTEXT関数をつかって、5桁の場合0を付ける作業をしています。

6桁はそのままです。


これで、5桁のデータも6桁にすることができましたので、時・分・秒のデータを抽出しますので、MID関数をつかうというわけです。


あとは、TIME関数で、時・分・秒のデータを結合させれば、完成です。


ただ、今回その外側にTEXT関数を設定しているのは、AM/PM表示になってしまいます。

h:mm:ss形式で表示したかったので、TEXT関数をつかって、表示形式を整えてみました。


そもそも、時間として入力されていればいいわけですが、もし数値だった場合は、手間がかかってしまいます。