シフト作成の基本

エクセルの勤務時間の自動計算式・関数まとめ!表示エラーや時間合計トラブルも解消

エクセルの勤務時間の自動計算式・関数まとめ!表示エラーや時間合計トラブルも解消

エクセルで勤務時間を計算しようとして、「なぜか0.35と表示される」「24時間を超えると1:00にリセットされる」「15分単位の切り上げ・切り捨て方が分からない」とお困りではありませんか?

時間の計算結果がおかしくなる原因の多くは、エクセル特有の「シリアル値」や「セルの表示形式」の設定によるものです。

この記事では、焦っている現場担当者の方に向けて、今すぐ自分のシートにコピペして使える基本の計算式から、表示エラー・計算バグを1分で解決する具体的な手順までを分かりやすく解説します。

この記事では、今すぐ自分のエクセルにコピペして使える基本の計算式から、実務でよくあるエラー・バグの解決法までを分かりやすく解説します。

【コピペOK】エクセルで勤務時間を出す基本の自動計算式

まずは、出社時間・退勤時間・休憩時間から「実労働時間」を算出する基本の数式です。

エクセルでは「退勤時間 − 出社時間 − 休憩時間」というシンプルな引き算だけで簡単に計算できます。面倒な関数を使わなくても、対応するセルを指定するだけで一瞬で実労働時間が出せます。

① 休憩時間をセルに入力している場合(例: 1:00)

日によって休憩時間が変わる場合や、従業員ごとに休憩時間が異なる場合に最適な書き方です。出勤・退勤時刻だけでなく休憩時間もセル参照にすることで、柔軟に実労働時間を計算できます。特別な関数を使わないシンプルな引き算のため、数式の管理や修正がしやすいのもメリットです。

  • A2: 出勤時間
  • B2: 退勤時間
  • C2: 休憩時間
=B2-A2-C2
  • ステップ1: 各項目をセルに入力する
    A2セルに「出勤時間(例: 9:00)」、B2セルに「退勤時間(例: 18:00)」、C2セルに「休憩時間(例: 1:00)」を入力します。

  • ステップ2: 実労働時間のセル(例: D2)に引き算の数式を入力する
    D2セルに =B2-A2-C2 と入力してEnterキーを押します。

  • ステップ3: 計算結果を確認する
    「退勤時間 − 出勤時間 − 休憩時間」が計算され、実労働時間(例: 8:00)が表示されます。

日によって休憩時間が変わる場合や、従業員ごとに休憩時間が異なる場合に最適な方法です。すべての項目をセル参照にするシンプルな引き算のため、柔軟に対応でき、数式の管理や修正がしやすいメリットがあります。

? 時刻入力時のポイント

出退勤時刻を入力する前に、該当セル(A列・B列など)を選択して右クリック > 「セルの書式設定」 で表示形式を 「時刻(例: 9:00)」 に設定しておきます。これにより、入力ミスや計算エラーを未然に防ぐことができます。

② 休憩時間を固定で1時間差し引く場合

「全社一律で休憩1時間」と決まっている場合に、休憩用セルを省いて表をスッキリさせられる方法です。エクセルでは「- 1」と入力すると「1日(24時間)」を引いてしまうため、時間を引く際は必ず TIME(時, 分, 秒) 関数を使用します。休憩時間が固定なら入力の手間を減らせるため、毎日の集計作業を効率化できます。

  • A2: 出勤時間
  • B2: 退勤時間
  • TIME(1,0,0): 「1時間0分0秒」という時間データを指定する関数
=B2-A2-TIME(1,0,0)
  • ステップ1: 出勤時間と退勤時間をセルに入力する
    A2セルに「出勤時間(例: 9:00)」、B2セルに「退勤時間(例: 18:00)」を入力します(休憩用セルは不要です)。

  • ステップ2: 実労働時間のセル(例: C2)に TIME 関数を組み込んだ数式を入力する
    C2セルに =B2-A2-TIME(1,0,0) と入力してEnterキーを押します。

  • ステップ3: 計算結果を確認する
    退勤時間から出勤時間を引き、そこから自動で1時間差し引かれた実労働時間(例: 8:00)が表示されます。

【関連記事:日またぎ・休憩時間の自動控除・週の総労働時間の自動集計の応用計算式】
エクセルシフト表で勤務時間を自動計算!日跨ぎ・休憩控除に対応する数式テンプレート

よくあるエクセル勤務時間計算の表示エラーや時間合計トラブルの解決法

時間計算で最も多くの人がつまずく「給与計算時の数値バグ」と「24時間超えの合計トラブル」を解消するステップです。

① 給与計算で「0.35」などの変な数値・金額になるエクセル勤務時間計算の表示エラー問題

エクセルでは「時間表示のまま」数値を掛け算すると、24分の1に縮小されたシリアル値がそのまま計算に使われて金額が激減してしまいます。数式内で 24 を掛けることで「8:30(時間)」を「8.5(数値)」という一般的な時間数へ変換し、正しい給与額を算出できるようになります。計算結果が変な時刻表示になってしまう場合は、表示形式を「通貨」や「標準」に変更すれば一発で解決します。

  • よくあるトラブル現象
    実労働時間(例: 8:30)に時給(例: 1,000円)を掛け算したら、なぜか「354円」のようなおかしい金額になる。

  • トラブルの原因
    エクセル内部では1日(24時間)を「1」とする「シリアル値」で管理されているため、8:30 は数値の約 0.354 として扱われているからです。

解決ステップ

  • ステップ1: 時給計算の数式に 24 を掛け算する
    • 金額を表示したいセルに以下の数式を入力します。(D2: 実労働時間セル / E2: 時給)
=D2*24*E2
  • ステップ2: セルの表示形式を「標準」または「通貨」に変更する
    • 計算結果のセルを選択し、ショートカットキー Ctrl + 1(Macは Cmd + 1)を押して「セルの書式設定」を開きます。
    • 「分類」から 「標準」 または 「通貨」 を選択してOKを押すと、正しい金額(例: 8,500円)が表示されます。

②エクセル勤務時間計算の 1ヶ月の合計時間が「24時間」を超えると「1:00」にリセットされる合計トラブル問題

このトラブルは数式ミスではなく、エクセルの時計表示が「24時間で1巡する(時計の文字盤と同じ)」仕様になっていることが原因です。h を角カッコ [h] で囲む設定に切り替えることで、「時刻」ではなく「累積の時間数」として表示するようエクセルに指示できます。集計表を作る際は、合計セルへ最初からこの表示設定を行っておくと計算の食い違いを防げます。

  • よくあるトラブル現象
    SUM 関数で1ヶ月分の勤務時間を合計したら、合計が「25:00」にならず「1:00」と表示されてしまう。

  • トラブルの原因
    セルのデフォルト表示形式が「24時間表記(24時間で0に戻る)」になっているためです。

解決ステップ

  • ステップ1: 合計を出す SUM 関数を入力する
    • 合計時間のセルに以下の数式を入力します。
=SUM(D2:D31)
  • ステップ2: 「セルの書式設定」を開く
    • 合計時間のセルを選択した状態で、Ctrl + 1(Macは Cmd + 1)を押します。
  • ステップ3: 表示形式を [h]:mm に変更する
    • 左側の分類から 「ユーザー定義」 を選択します。
    • 右側の「種類」の入力欄に [h]:mm と半角で入力し、OKを押します。
    • カッコ [] で囲むことで24時間でリセットされなくなり、25:00 や 160:00 といった正しい合計時間が表示されます。

エクセルでの勤務時間の自動計算・集計に限界を感じたら

数式や関数を使えばエクセルでも正確な時間計算が可能ですが、実務を運用する中では以下のような限界やリスクが生じやすくなります。

  • 複雑な労務ルール
    深夜割増、休日出勤、複雑なシフトパターンへの対応で数式が巨大化・複雑化し、管理が困難になる。
  • 誤操作で数式が壊れる
    誤ってセルを上書きして数式が壊れ、給与の誤払増やミスにつながる。
  • シフト集計・確認の手間
    毎月の締め日に全員分の計算チェックや手修正が発生し、担当者の業務負担が減らない。

「エクセルでの集計作業やエラー対応に時間が取られている」「計算ミスによる労務トラブルを防ぎたい」という場合は、シフト管理・勤怠管理システムの導入を検討するのが最も確実です。

例えば、クラウド型シフト管理システム「シフティー」なら、出退勤時間の自動集計・端数処理・複雑な条件での時間計算まで丸ごと自動化できます。エクセル管理のストレスや計算リスクから解放されたい方は、ぜひ一度無料体験や資料請求をご活用ください。

資料請求/お問い合わせはこちら