Excelで時間を計算する方法

時間の合計が24時間を超えるとおかしくなる、時給を掛けると金額が合わない、といったExcelの「時間計算あるある」を数式つきで解決します。

すぐに答えだけ知りたいときは、時間計算ツールや勤務時間計算に数字を入れるほうが早く確実です。

Excelの時間の仕組み

Excelは時間を「1日=1」とした数(シリアル値)で持っています。1時間は1/24(約0.0417)、30分は1/48です。「7:30」と入力すると、セルの中身は0.3125という数で、表示形式で「7:30」に見せているだけです。

この仕組みを知っておくと、「時給を掛けるときは24倍する」「24時間を超えると0に戻って見える」理由がわかります。

時間の合計(足し算)と24時間を超えるとき

合計は通常どおり =SUM(B2:B32) で出せます。ところが、合計が24時間を超えると「30:00」ではなく「6:00」のように表示されてしまいます。これは表示形式が「時刻」になっていて、24時間ごとに日付が繰り上がるためです。

解決方法:合計のセルの表示形式を [h]:mm にする

  1. 合計のセルを選んで Ctrl+1(Macは ⌘+1)で「セルの書式設定」を開く
  2. 「表示形式」タブ →「ユーザー定義」を選ぶ
  3. 「種類」に [h]:mm と入力して OK

「30時間15分」のように表示したいときは [h]"時間"mm"分" と入力します。秒まで表示するなら [h]:mm:ss です。

時間の引き算(経過時間・勤務時間)

開始時刻がA2、終了時刻がB2なら =B2-A2 です。休憩時間(例:C2に「1:00」)を引くなら =B2-A2-C2 とします。

日付をまたぐ(夜勤)とき

22:00〜翌6:00のように終了が開始より小さいと、=B2-A2 はマイナスになり「#######」と表示されます。次のどちらかの式を使います。

=MOD(B2-A2,1)
=B2-A2+(B2<A2)

どちらも、終了が開始より前なら1日(24時間)を足して計算します。

時給計算:時間×時給は「24倍」が必要

実働時間がD2(例:7:45)、時給がE2(例:1200)のとき、=D2*E2 とすると約388円になってしまいます。7:45はExcelの中では0.3229…という「日」の数だからです。

正しい式:=D2*24*E2(7.75時間×1,200円=9,300円)

結果のセルの表示形式は「通貨」か「数値」にします。小数の誤差で9,299.99…のようになるのを避けたいときは、時間を先に丸めます。

=ROUND(D2*24,2)*E2
=ROUNDDOWN(D2*24*E2,0)   ← 1円未満切り捨て
=ROUND(D2*24*E2,0)       ← 1円未満四捨五入

時刻形式と小数(10進数)の変換

やりたいこと数式(A1が元の値)例
時刻 → 小数の時間=A1*247:45 → 7.75
時刻 → 分=A1*14407:45 → 465
小数の時間 → 時刻=A1/24(表示形式 [h]:mm)7.75 → 7:45
分 → 時刻=A1/1440(表示形式 [h]:mm)465 → 7:45
時間と分から時刻を作る=TIME(7,45,0)7:45

24時間を超える時間から「何時間」を取り出すときは、HOUR 関数ではなく =INT(A1*24) を使います(HOUR は0〜23しか返しません)。分は =MINUTE(A1) で取り出せます。

15分単位・30分単位で丸める

=FLOOR(A1,"0:15")     ← 15分単位で切り捨て
=CEILING(A1,"0:15")   ← 15分単位で切り上げ
=MROUND(A1,"0:15")    ← 15分単位で四捨五入

"0:30" にすれば30分単位です。出勤時刻は切り上げ、退勤時刻は切り捨てにする、といった使い分けもできます。

給与計算のために毎日の労働時間を切り捨てることは、労働基準法上は原則認められていません(労働時間は1分単位で数えます)。丸めは集計の見やすさのためなどに使い、賃金計算は会社の規定と法律に沿って行ってください。

マイナスの時間を表示したい

「予定より−0:30」のようなマイナスの時間は、標準の設定では「#######」になります。次のどちらかで対応します。

Googleスプレッドシートの場合

数式はExcelとほぼ同じです(=B2-A2、=MOD(B2-A2,1)、=D2*24*E2 など)。24時間を超える合計は、セルを選んで「表示形式」→「数字」→「経過時間」にすると表示できます。

よくある質問

合計が「0:00」や小さい時間になってしまう

合計が24時間ちょうどやその倍数のとき、表示形式が「h:mm」だと0:00に見えます。表示形式を [h]:mm に変えてください。

「7時間30分」と文字で入力した時間を計算したい

文字列のままでは計算できません。「7:30」の形で入力し直すか、時間と分を別の列に入れて =TIME(A1,B1,0) で時刻にしてください。

時給を掛けたら金額がとても小さくなった

時間のセルを24倍していないのが原因です。=時間のセル*24*時給 にしてください。

最終更新日: