残業代計算のExcel関数 完全ガイド
IF・TIME・SUMPRODUCT関数を使って残業代計算シートを作る方法を解説します。サンプル式付き。Googleスプレッドシートでも同様に使えます。
関数を使う前に:Excelの時刻計算の基本
Excelでは時刻を「1日 = 1」として小数で管理します。1時間 = 1/24 ≒ 0.0417 です。
- 「8:00」を入力したセルの実態は
0.333...(8/24) - 「退勤 − 出勤 − 休憩」の計算結果もシリアル値になる
- 残業代計算では「×24」して時間数(例:1.5時間)に変換してから月給の時給換算額を掛ける
① TIME関数:時刻を作る・比較する
指定した時・分・秒に対応するシリアル値を返します。時刻の定数を作ったり、比較に使います。
② IF関数:残業時間・深夜残業の条件判定
条件が真(TRUE)のときの値と偽(FALSE)のときの値を返します。残業時間が0以上かどうかの判定に使います。
- 時刻計算の結果が負になる場合(日をまたぐ場合)は追加処理が必要
- 時間数に変換せずに月給の時給換算額を掛けるとシリアル値のまま計算されてしまう
- 休憩時間がセルで可変の場合はTIME関数ではなく
A1/1440(分÷1440)で変換する
③ SUMPRODUCT関数:月合計残業代の集計
複数の配列を要素ごとに掛け合わせた合計を返します。各日の残業代合計を1式で集計できます。
完成形の計算式イメージ
以下は月合計残業代を一式で計算するサンプルです。セル配置は各自の設計に合わせて変更してください。
Googleスプレッドシートでの注意点
- TIME・IF・SUMPRODUCT関数はExcelとほぼ同じ構文で使えます
- 時刻のシリアル値の扱いはExcelと同様です
- 関数の区切りは「,」(カンマ)を使います(日本語Excelと同様)
- Excelファイルをアップロードしてそのまま開くことも可能です
関数管理が複雑になってきたら給与計算ソフトへの移行も選択肢です。
関数なしで計算する方法(ブラウザ版ツール)
関数を設定する手間をかけずに計算したい場合は、計算ナビのブラウザ版ツールをご利用ください。
よくある質問
残業代計算でIF関数はどう使いますか?
IF関数は「実労働時間が所定労働時間(8時間)を超えた場合に残業時間を返す、超えていなければ0」の条件分岐に使います。=IF(C2 > TIME(8,0,0), (C2-TIME(8,0,0))*24, 0)
ExcelのTIME関数で時刻を計算する方法は?
TIME(時, 分, 秒)で時刻のシリアル値を作成します。TIME(8,0,0)は8時間を表します。時刻差の計算結果を時間数に変換するには結果に×24します。
SUMPRODUCT関数で残業代を集計する方法は?
各日の残業時間(時間数)と単価(時給×割増率)を配列で掛け合わせて合計します。=SUMPRODUCT(E2:E32, F2:F32)(E列=残業時間、F列=時給×割増率)
これらの関数はGoogleスプレッドシートでも使えますか?
はい。IF・TIME・SUMPRODUCT関数はGoogleスプレッドシートでもExcelとほぼ同じ構文で使えます。
関連ツール・ページ
本ページのExcel関数サンプルはあくまで参考例です。実際の残業代は就業規則・労働契約・賃金規程等により異なります。関数の動作は使用するExcelのバージョンやGoogleスプレッドシートの設定によって異なる場合があります。


