No.009
時刻の「8:30」を「8.5」と数値に変換する
2003/2007/2010/2013/2016/2019
セルに入力されている時刻のデータを数値に変換したい、というお問い合わせです。
例えば、セルA2に「8:30」と入力されているとして、これを「8.5」と数値化します。「8:45」であれば「8.75」ということになります。
時刻を計算する場合、多少扱いづらいところがありますが、そこで時刻を数値化することで、計算しやすくなるメリットがあります。
時刻を数値化するのは意外に簡単で、次のような 時刻に24を掛けた式で求めることができます。
=A2*24
答えが時刻の形式になると思いますので、[ホーム]タブ - [数値]グループ の [数値の書式] を [標準] に設定します。
または、次の式でも同じ結果となります。
=A2/"1:0:0"
では、「*24」とか「/"1:0:0"」といった式について、少し説明しておきましょう。
そもそも時刻のシリアル値というのは、1日の 0時~24時 を「0~1」の間の小数値で表したものです。
したがって1時間は、1日の 1 を 24 で割った数値 (1/24) となります。
例えば、お昼の 12:00 というのは、数値化した時刻の 12 に 1時間を掛けて、12*(1/24) で 0.5、これが 12:00 の本来の値(シリアル値)です。
12:00 と時刻の入力をされたセルの [数値の書式] を [標準] にすると 0.5 になります。
したがって今回、シリアル値から数値化された時刻を求めるには、0.5*24 で 12 となります。
そしてもう1つ、"1:0:0" という書き方は、1/24 と同じ値で、1時間のシリアル値で、計算に使用できます。
では、時刻「8:30」を数値化する場合、次のような式になります。
シリアル値である時刻を 1時間(1/24)で割るんです。
これは結局 24 を掛けることになります。
="8:30"/(1/24)
="8:30"*24
また、シリアル値を1時間で割った次の式でも同じ値が求められます。
="8:30"/"1:0:0"
もし、分単位の数値にする場合、1時間は60分ですので、それぞれ次のような式となります。
="8:30"*24*60
="8:30"/"0:1:0"
それぞれ、510(分)という答えとなります。