時刻差が想定より1分少ない時は、浮動小数点誤差だけでなく、見えていない秒、切り捨て式、日付の有無を確認します。5秒を足して結果を合わせると、実際の時間まで変更してしまいます。
元の開始・終了時刻を残し、計算用の列で原因を調べます。勤務時間などでは、丸める単位や方法を表の運用ルールに合わせてください。
ADVERTISEMENT
1. 秒と日付を表示して調べる
A2を開始、B2を終了として、表示形式を一時的に秒まで表示する形にします。日をまたぐ記録なら日付も表示します。9:00と10:00に見えても、実際は9:00:05と10:00:00なら差は59分55秒です。
この差を整数の分へ切り捨てれば59になります。表示が分だけだったことと、計算誤差とは別です。入力元に秒があるか、取り込み時に付いたものかを確認します。

2. 日数と分数の単位を分ける
Excelの時間差は日を単位にした数値です。=(B2-A2)*1440で分数に換算できます。結果を通常の数値形式にし、小数点以下も表示して確認してください。
時刻として見せたい場合は日単位の値を保ち、24時間を超える経過時間には[h]:mmを使います。分へ換算した60を時刻書式にすると、60日として扱われて意図と違う表示になります。
3. 入力精度に合う丸め方を決める
元データが分単位で、結果も最も近い整数分にする目的なら、=ROUND((B2-A2)*1440,0)が使えます。時間値へ戻すならその結果を1440で割ります。
秒を正確に記録している表では、整数分への丸めは情報を減らす処理です。59分55秒を60分とするのか、59分とするのか、秒のまま残すのかを先に決めます。演算誤差対策と業務上の端数処理を同じものと考えないでください。
4. 微小な誤差だけかを確認する
2進数で正確に表せない小数を計算すると、境界付近にごく小さな差が残ることがあります。元の時刻が正しいと確認したうえで、入力の有効な精度に合わせてROUNDなどを使います。
MROUNDを使う場合も、指定単位への丸めであることを理解します。小数の倍数には中間値で丸め方向が不定になる制限があるため、境界の値を検算してください。どんな式でも誤差を完全に除けるという保証はありません。
5. 5秒加算やTEXTでの往復を避ける
59分55秒へ5秒を足せば60分になりますが、それは計算誤差の修復ではなく値の変更です。常に5秒を加える対処はしません。
TEXTでh:mmにして数値へ戻す方法も、秒や24時間を超える日数を失う原因になります。日をまたぐ場合は開始と終了に日付を含めます。MODを使って負の差を1日内へ収める方法は、入力の前後逆転や24時間超の記録を隠すことがあるため、一律に適用しません。
6. 境界付近の値で検算する
ちょうど60分、59分55秒、60分5秒、日付をまたぐ場合を用意し、運用で決めた結果になるか確認します。「表示桁数で計算する」を安易に有効にすると保存値の精度を失うため、まず計算列で調整します。
数値精度の説明はMicrosoftの浮動小数点演算の解説、制限はMROUNDの仕様を参照できます。
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Excel】オートフィル(右下の+)が効かない!ドラッグできない時のオプション有効化設定
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【PDF】EdgeでPDFを開くと印刷できない・プリンタ一覧が出ない時のブラウザ再起動とシステムダイアログ
- 【Word】差し込み印刷の金額にカンマを付ける方法|小数・0・空欄の確認
- 【Outlook】祝日が表示されない・重複する時の対処|追加方法と対象年の確認
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 保存せずに閉じたExcel・Wordを復元する方法|自動回復・未保存ファイル・履歴の確認
- 【Excel】COUNTAでセルの個数を数える方法|空文字・空白・COUNTとの違い
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】入力した文字のフォント・サイズ・色を変更する方法|注釈とフォームの違い
