シリアル値とは
シリアル値とはExcelにおいて、日時を計算処理するために使用される数値のことです。Excelでは1900年1月1日午前0時を起点とし、この基準から何日経過したかを表しています。1900年1月1日を1としていて値は1日ごとに1ずつ増え、例えば1900年1月2日は2、1900年1月3日は3となります。
シリアル値は1900年1月1日(1)から9999年12月31日(2958465)の範囲で扱うことができます。
シリアル値は1が起点なので、1900年1月1日よりも前の日時は扱えません。セルに日時を入力してもシリアル値にはならず文字列のままとなります。
例えば1899年12月31日は0とはならず文字列の1899年12月31日として扱われ、10000年1月1日以降も同様です。
シリアル値の小数部分は時刻を表していて、1日24時間を0以上1未満の小数で表します。1が24時に相当し、0.5は12時、0.25は6時のように表されます。
1時間は1/24、1分は1/1440、1秒は1/86400です。
以下はシリアル値をリアルタイムで表示しています。
- 現在時刻
- シリアル値
シリアル値の計算方法
シリアル値から日時への変換
シリアル値の小数部分を時刻に変換するには以下のような計算を行います。
- 小数部分を24倍し、時間を求めます。
- 時間の小数部分を60倍し分を求めます。
- 分の小数部分を60倍し秒を求めます。
例えばシリアル値が0.64の場合は以下のように計算します。
まず0.64に24を掛け、時間を求めます。
\[ 0.64 \times 24 = 15.36 \]この計算結果の整数部分から15時となります。次に15.36の小数部分(0.36)に60を掛け、分を求めます。
\[ 0.36 \times 60 = 21.6 \]この計算結果の整数部分から21分となります。次に21.6の小数部分(0.6)に60を掛け、秒を求めます。
\[ 0.6 \times 60 = 36 \]この計算結果から36秒となり、シリアル値の0.64はこれらの結果を繋げて15時21分36秒となります。
シリアル値から時・分・秒を求めるにはHour関数 (自作関数)、Minute関数 (自作関数)、Second関数 (自作関数)を使います。
DIM serial = 0.64
PRINT Hour(serial)
PRINT Minute(serial)
PRINT Second(serial)- 結果
15 21 36
またtext関数 (自作関数)を使うことでシリアル値を指定した表示形式にすることもできます。
PRINT text(0.64, "hh時nn分ss秒")- 結果
15時21分36秒
シリアル値を日時に変換する関数をまとめると以下のとおりです。
- Hour関数 (自作関数)
- シリアル値 から時を求めます。
- Minute関数 (自作関数)
- シリアル値 から分を求めます。
- Second関数 (自作関数)
- シリアル値 から秒を求めます。
- text関数 (自作関数)
- シリアル値を指定した表示形式にします。
