エクセルで日時の引き算をする方法|日をまたぐ時間・分・○日○時間で出す【実機で解説】

エクセルで日時の引き算をする方法|日をまたぐ時間・分・○日○時間で出す【実機で解説】

エクセルで日時の引き算をするときは、終了の日時から開始の日時を引いて、表示形式を [h]:mm にします。日付をまたいでも、2日以上離れていても、そのまま正しい時間が出ます。

この記事では、時間・分・「○日○時間」で出す式と、日付と時刻が別の列にあるときの式を、実際の Excel で確かめました。分に直すときに INT を使うと 1 分ずれる落とし穴もあります。

練習用Excelファイル(無料ダウンロード)
この記事の日時の引き算をまとめた練習ファイルです。開始と終了の日時を書き換えて使えます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

日時の引き算の式 一覧

出したいもの式例(11/1 22:00〜11/2 6:30)
時間(時:分)=B4-A4(表示形式 [h]:mm)8:30
時間(数値)=(B4-A4)*248.50
分=ROUND((B4-A4)*1440,0)510
○日○時間○分=INT(B4-A4)&"日"&TEXT(B4-A4,"h時間mm分")0日8時間30分

1. 終了から開始を引いて、[h]:mm で表示する

開始日時を A 列、終了日時を B 列に「2026/11/1 22:00」のように入れます。C4 に =B4-A4 と入れ、表示形式を「ユーザー定義」の [h]:mm にします。

エクセルで終了日時から開始日時を引いて表示形式を[h]:mmにして日をまたぐ時間や2日以上の時間を出した画面
エクセルで終了日時から開始日時を引いて表示形式を[h]:mmにして日をまたぐ時間や2日以上の時間を出した画面

夜 22:00 から翌朝 6:30 までは 8:30、11/1 9:00 から 11/3 17:45 までは 56:45 になりました。日付も一緒に入っているので、日をまたいでもマイナスになりません。表示形式のくわしい説明は時間の表示形式をご覧ください。

2. 時間を数値で出す(×24)

エクセルの日時は「1 日=1」の数です。差に 24 を掛けると、時間の数になります。時給の計算などはこちらを使います。

=(B4-A4)*24
エクセルで日時の差に24を掛けて8.5時間のように数値の時間にした画面
エクセルで日時の差に24を掛けて8.5時間のように数値の時間にした画面

3. 分で出す(×1440 と ROUND)

1 日は 1440 分なので、差に 1440 を掛けると分になります。小数のずれをなくすため、ROUND で丸めます。理由は後の【実機で検証】で説明します。

=ROUND((B4-A4)*1440,0)
エクセルで日時の差に1440を掛けてROUNDで丸めて分の数にした画面
エクセルで日時の差に1440を掛けてROUNDで丸めて分の数にした画面

4. 「○日○時間○分」で表示する

日数は INT で整数の部分を取り出し、残りの時間は TEXT で文字にしてつなげます。

=INT(B4-A4)&"日"&TEXT(B4-A4,"h時間mm分")
エクセルでINTとTEXTを使って日時の差を2日8時間45分のように表示した画面
エクセルでINTとTEXTを使って日時の差を2日8時間45分のように表示した画面

TEXT の h は 24 時間ごとに戻るので、日数と組み合わせて使います。結果は文字なので、計算には 1〜3 の式を使います。

5. 日付と時刻が別の列にあるとき

開始日・開始時刻・終了日・終了時刻が別々の列にあるときは、日付と時刻を足して日時にしてから引きます。

=(C4+D4)-(A4+B4)
エクセルで日付と時刻が別の列にあるとき足してから引くと8:30になり時刻だけ引くと####になった画面
エクセルで日付と時刻が別の列にあるとき足してから引くと8:30になり時刻だけ引くと####になった画面

時刻だけを =D4-B4 で引くと、6:30 − 22:00 でマイナスになり、セルは「#######」になりました。日付の列が無く、日をまたぐのが必ず 1 日以内なら、=MOD(D4-B4,1) でも 8:30 になります。勤務時間の計算は時間の足し算・引き算もご覧ください。

【実機で検証】日時の引き算でつまずくところ

エクセルで日時の引き算のh:mm表示や逆に引いたときやINTで分にしたときや文字の日時を引いたときを確かめた画面
エクセルで日時の引き算のh:mm表示や逆に引いたときやINTで分にしたときや文字の日時を引いたときを確かめた画面
ためしたこと結果
56 時間 45 分を h:mm で表示8:45(24 時間ごとに戻る)
56 時間 45 分を [h]:mm で表示56:45
開始と終了を逆に引く#######(中身は -0.354…)
9:00〜9:02 を INT((C-B)*1440) で分にする1(2 分のはずが 1 分)
9:00〜9:02 を ROUND((C-B)*1440,0) で分にする2
文字で入った日時を =C-B で引く8:30(計算できた)
文字で入った日時を SUM(C)-SUM(B) で引く0:00(SUM は文字を 0 にする)

INT で分にすると、1 分少なくなることがあります。時刻の数はコンピューターの中でわずかに小さく表されることがあり、INT はそれを切り捨てます。9:00 から 1 分刻みで終わりの時刻を変えて 179 通り試したところ、47 通りで INT の結果が ROUND より 1 少なくなりました。分にするときは ROUND を使います。

文字の日時は引き算ならそのまま計算できましたが、SUM で集計すると 0 になります。文字になっているかは、セルが左寄せになっているかで見分けられます。

よくある質問

日時の差がマイナスになるときは?

開始と終了が逆になっていないか確かめます。日付を入れずに時刻だけで日をまたぐと、終了の時刻のほうが小さくなりマイナスになります。日付も入れるか、MOD(終了-開始,1) を使います。

日数だけを出したいときは?

=INT(B4-A4) で、何日たったかの整数が出ます。11/1 9:00 から 11/3 17:45 なら 2 です。日付どうしの日数は引き算のやり方でも説明しています。

今の日時からの経過時間を出すには?

=NOW()-A4 で、A4 の日時から今までの時間になります。表示形式を [h]:mm にします。NOW はブックを開いたり再計算したりするたびに新しい時刻に変わります。

練習用Excelファイル(無料ダウンロード)
日時の引き算の式をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:時間の計算の関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次