6/13/2025

Excel。10:00に3.5時間を足した結果がおかしいのでどうしたらいいの。【time calculation】

Excel。10:00に3.5時間を足した結果がおかしいのでどうしたらいいの。

<TIME+INT関数>

次のような経過時間の表をつくってみたら、結果がおかしなことになっています。

10:00に3.5時間を足した結果がおかしい

A2に10:00と入力してあります。


B2には、3.5時間経過した時間が入力されています。


C2には、開始時間に経過時間を足した結果を表示したいので、

=A2+B2

という数式を設定したのですが、結果がおかしなことになっています。


またオートフィルで数式をコピーしたところ、C3も、おかしい結果になっています。


原因は、シリアル値という考え方が抜けていることです。


Excelでは、日付や時間をシリアル値という数値で管理しています。


C2をクリックして、数式タブにある、数式の検証をつかうとよくわかります。


数式の検証をクリックします。


検証ボタンをクリックすると、10:00が、0.41666…となっていることがわかります。

Excelが1日を1としたシリアル値で管理しています。

10時というのは、1/24で1時間なので、1/24*10ということになります。


この値に、単純に3.5を足しても、13.5にはならないことがわかりました。


時間計算は、常にシリアル値を考えないといけないわけです。


つまり、経過時間を次のようにすれば、いいことがわかりました。


経過時間の3.5を3:30と時間に変換することで、単位が揃い、終了時間が正しく求めることができたというわけです。


確かに、結果は求めることができました。


もし、当初のように、3.5としたままで、結果を求めるには、どのようにしたらいいのでしょうか。


TIME関数をつかって、時間に変更することで対応できます。


C2に設定した数式です。

=A2+TIME(INT(B2),(B2-INT(B2))*60,0)


B2を数値から時間に変換するので、TIME関数をつかいます。

TIME関数は、時・分・秒という引数が用意されています。

時は、3.5の3なので、小数点を除いた値をつくりたい。


そこで、INT関数で整数化します。


分は、時と逆で、小数点を求めたいので、B2から整数の値を減算すれば、小数点以下を求めたいので、先程の時で求めた値であるINT(B2)をB2から減算すれば、小数点だけが残ります。


残った小数点に60を掛けます。

60かけるのは、分だからです。


最後の引数の秒は不要ですが、無いとエラーになるので、「0(ゼロ)」を設定します。


これで、経過時間を足した終了時間を求めることができます。