- 作成日 : 2025年10月27日
スプレッドシートで時間計算を完璧にマスターするには?経過時間から24時間超の計算まで徹底解説
Googleスプレッドシートで勤怠管理や作業時間の集計を行う際、時間計算は避けて通れない重要なスキルです。単純な経過時間の計算から、休憩時間を考慮した実労働時間の算出、24時間を超える累計時間の表示まで、正しい方法を知らないと意図しない結果になることがあります。
本記事では、スプレッドシートでの時間計算について、基本的な経過時間の計算から応用的なマイナス時間の処理まで、実例を交えながら詳しく解説します。
目次
スプレッドシートで基本的な経過時間を計算する方法は?
経過時間の計算は、終了時刻から開始時刻を引く単純な引き算で実現でき、表示形式を適切に設定することで時分秒での表示が可能になります。
時間計算の基本を理解することで、様々な応用計算の基礎が身につきます。
開始時刻と終了時刻から経過時間を求める
最も基本的な時間計算は、終了時刻から開始時刻を引くことです。例えば、A1セルに「9:00」、B1セルに「17:30」と入力し、C1セルに「=B1-A1」と入力すると、8時間30分の経過時間が計算されます。
重要なのは、スプレッドシートが時刻を内部的に数値として扱っていることです。1日(24時間)を1.0として、1時間は0.041667(1/24)、1分は0.000694(1/1440)として計算されます。この仕組みを理解しておくと、後の応用計算で役立ちます。
時刻の入力と表示形式の設定
時刻を正しく入力するには、コロン(:)を使用します。「9:00」「09:00」「9:00:00」などの形式で入力でき、スプレッドシートが自動的に時刻として認識します。表示形式は「表示形式」→「数値」→「時間」から選択でき、必要に応じてカスタマイズできます。
- h:mm – 時分表示(8:30)
- h:mm:ss – 時分秒表示(8:30:00)
- [h]:mm – 24時間超対応(25:30)
- h”時間”mm”分” – 日本語表記(8時間30分)
- hh:mm AM/PM – 12時間制表示
日付をまたぐ時間計算
夜勤など日付をまたぐ勤務時間を計算する場合、特別な処理が必要です。開始時刻が終了時刻より大きい場合は、終了時刻に1(24時間)を加算します。
=IF(B1<A1, B1+1-A1, B1-A1)
この数式により、22:00から翌6:00までの勤務も正しく8時間と計算されます。
スプレッドシートで休憩時間を考慮した実労働時間を計算するには?
休憩時間を考慮した計算では、総労働時間から休憩時間を引く方法と、条件に応じて自動的に休憩時間を差し引く方法があり、労働基準法に準拠した正確な勤怠管理が可能になります。
実務で必要な休憩時間の処理を適切に行うことで、正確な労務管理を実現できます。
固定休憩時間の差し引き
最も単純な方法は、総労働時間から固定の休憩時間を引くことです。例えば、
1時間の休憩を考慮する場合:
=B1-A1-TIME(1,0,0)
TIME関数を使用することで、時間、分、秒を指定して時間値を作成できます。複数の休憩時間がある場合は、それぞれを引くか、合計してから引きます。
労働時間に応じた自動休憩時間の設定
労働基準法では、6時間超で45分以上、8時間超で1時間以上の休憩が必要です。
これを自動計算する数式:
=B1-A1-IF(B1-A1>TIME(8,0,0),TIME(1,0,0),IF(B1-A1>TIME(6,0,0),TIME(0,45,0),0))
この数式により、労働時間に応じて適切な休憩時間が自動的に差し引かれます。
複数の休憩時間の管理
実際の業務では、昼休みと小休憩など複数の休憩があることが一般的です。休憩開始時刻と終了時刻を記録し、それぞれの休憩時間を計算して合計する方法が確実です。
- 休憩1開始(D1)、休憩1終了(E1)
- 休憩2開始(F1)、休憩2終了(G1)
- 総休憩時間:=(E1-D1)+(G1-F1)
- 実労働時間:=(B1-A1)-((E1-D1)+(G1-F1))
スプレッドシートで合計時間を時間単位の数値に変換するには?
時間を数値に変換することで、時給計算や統計処理が可能になり、24を掛けることで時間単位、1440を掛けることで分単位の数値を取得できます。
時間と数値の相互変換を理解することで、様々な計算処理が可能になります。
時間を10進数の時間に変換
時給計算などでは、「8:30」を「8.5」時間として扱う必要があります。
変換方法は単純で、時間値に24を掛けます。
=A1*24
8時間30分は8.5、7時間45分は7.75となります。ROUND関数と組み合わせて、必要な桁数に丸めることも可能です。
分単位での数値変換
作業時間を分単位で管理する場合は、1440(24×60)を掛けます。
=A1*1440
これにより、1時間30分は90(分)として計算されます。
数値から時間形式への逆変換
逆に、数値を時間形式に戻す場合は、24または1440で割ります。
時間から:=A1/24 分から:=A1/1440
変換後は表示形式を時間形式に設定する必要があります。
時給計算への応用
時間を数値に変換することで、正確な給与計算が可能になります。
=ROUND(A1*24*1000,0)
この例では、A1の時間に時給1000円を掛けて、円単位で丸めています。
スプレッドシートで24時間以上の累計時間を正しく表示するには?
24時間を超える時間を表示するには、カスタム表示形式で[h]:mmを使用し、角括弧で時間を囲むことで、25:30のような表示が可能になります。
月間の総労働時間など、24時間を超える集計で必須の設定です。
カスタム表示形式の設定方法
標準の時間表示では、25時間が「1:00」と表示されてしまいます。これを防ぐには、表示形式をカスタマイズします。対象セルを選択し、「表示形式」→「数値」→「カスタム数値形式」から「[h]:mm」と入力します。
- [h]:mm – 基本形(25:30)
- [h]:mm:ss – 秒付き(25:30:45)
- [h]”時間”mm”分” – 日本語表記(25時間30分)
- [mm] – 分単位の累計(1530分)
- [ss] – 秒単位の累計
月間労働時間の集計
月間の労働時間を集計する際は、SUM関数と組み合わせて使用します。
=SUM(C2:C32)
C列に各日の労働時間が入力されている場合、この数式で月間合計を計算し、[h]:mm形式で表示することで、170:30のような表示が可能です。
週単位での累計管理
週40時間超の判定は次のいずれかで正しく行います。
- =IF(SUM(C2:C8) > 40/24, “超過”, “適正”)
- または時間に換算して比較:=IF(SUM(C2:C8)*24 > 40, “超過”, “適正”)
(C列が時間値の場合。表示は[h]:mm等を推奨)
40時間を超えた場合に警告を表示するなど、労務管理に活用できます。
スプレッドシートでマイナスの時間を計算・表示するには?
マイナス時間の表示には1904年日付システムの使用またはIF関数での条件分岐が必要で、時間の過不足管理や残業時間の相殺計算で重要な役割を果たします。
Sheetsは負の時間を標準の時間形式では表示できないため(####等)、IF+TEXTで文字列表示する、MODで1日を加算して正の値として扱う、あるいは開始・終了を日時で保持して差を取る、といった回避策を用います。
1904年日付システムの設定
Googleスプレッドシートには1904年日付システムはありません。負の時間は標準の時間形式では表示できないため、次のいずれかで回避します。
- 文字列で表示:=IF(B1<A1,”-“&TEXT(A1-B1,”h:mm”),B1-A1)
- 24時間で丸める(負値を1日加算):=MOD(B1-A1,1)
- 日付も保持して差分を求め、表示形式を「数値→時間(Duration)」や[h]:mmにする。
IF関数を使用した回避方法
1904年システムを使用しない場合は、IF関数で処理します。
=IF(B1-A1<0,”-“&TEXT(ABS(B1-A1),”h:mm”),B1-A1)
マイナスの場合は文字列として表示し、プラスの場合は通常の時間として表示します。
時間の貸借管理
フレックスタイム制での時間管理など、時間の過不足を管理する場合
標準労働時間との差分計算: =A1-TIME(8,0,0)
累積過不足の管理には、別途数値として管理し、最後に時間形式に変換する方法が実用的です。
スプレッドシートの時間計算で役立つその他の関数は?
時間計算を効率化する関数として、NETWORKDAYS、WORKDAY、DATEDIF、HOUR、MINUTEなどがあり、これらを組み合わせることで複雑な勤怠管理も簡単に実現できます。
便利な関数を活用することで、時間計算の精度と効率が大幅に向上します。
営業日計算関数
NETWORKDAYS関数は、土日祝日を除いた営業日数を計算します。
=NETWORKDAYS(A1,B1,祝日範囲)
WORKDAY関数は、指定営業日後の日付を返します:
=WORKDAY(A1,10,祝日範囲)
これらは納期管理や勤務日数計算で活用できます。
時間要素の抽出関数
- HOUR(A1) – 時間を抽出(0-23)
- MINUTE(A1) – 分を抽出(0-59)
- SECOND(A1) – 秒を抽出(0-59)
- WEEKDAY(A1) – 曜日を取得(1-7)
- DAY(A1) – 日を取得
これらを組み合わせて、深夜手当の計算や曜日別の処理が可能です。
期間計算関数
DATEDIF関数は、2つの日付間の期間を計算します。
=DATEDIF(A1,B1,”D”) – 日数 =DATEDIF(A1,B1,”M”) – 月数 =DATEDIF(A1,B1,”Y”) – 年数
勤続年数や契約期間の計算に便利です。
便利な時間関数の組み合わせ
NOW()とTODAY()を活用した動的な計算
経過時間のリアルタイム表示: =NOW()-A1
本日の残業時間: =IF(NOW()-TODAY()-TIME(9,0,0)>TIME(8,0,0),NOW()-TODAY()-TIME(9,0,0)-TIME(8,0,0),0)
これらの関数を組み合わせることで、リアルタイムな勤怠管理システムを構築できます。
スプレッドシートの時間計算を完璧にマスターして業務効率化を実現
Googleスプレッドシートでの時間計算を完全に理解することで、勤怠管理から作業時間分析まで、幅広い業務を効率化できます。基本的な経過時間の計算から始まり、休憩時間の考慮、24時間超の表示、マイナス時間の処理まで、段階的に習得することで、あらゆる時間計算のニーズに対応できるようになります。特に表示形式の設定と数値変換の理解は、正確な計算と見やすい表示の両立に不可欠です。
これらの知識を実務に活用し、手作業での計算ミスをなくし、業務の自動化を進めることで、より価値の高い仕事に集中できるようになるでしょう。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
エクセルのシート削除ショートカットとは?まとめて行う方法も解説
エクセル(Excel)で不要なシートを削除するなら、ショートカットキーを使えば作業効率が大幅にアップします。 いちいち右クリックして「削除」を選ぶ必要はありません。Alt → H → D → Sというキー操作だけで、マウスを使わずに素早くシ…
詳しくみるXMATCH関数の使い方:高度な検索を簡単に実現する方法
XMATCH関数は、指定した値がリストや表の中で何番目にあるかを調べるExcelの検索関数です。従来のMATCH関数と似ていますが、部分一致やワイルドカード、後ろからの検索など、より柔軟な検索機能が追加されています。 大規模なデータでも正確…
詳しくみるスプレッドシートで全てのシートに反映させるには?一括編集の効率的な方法と自動化テクニック
スプレッドシートで複数のシートを管理している場合、全てのシートに同じ変更を反映させる作業は手間がかかります。本記事では、Googleスプレッドシートやエクセルで全シート一括編集を実現する方法から、関数やスクリプトを使った自動化まで、実務で役…
詳しくみるエクセルやGoogleスプレッドシートで#VALUE!を表示させない方法
エクセルやスプレッドシートを利用する際に、#VALUE!エラーが表示されることはよくあります。このエラーは、数値を期待しているセルに、文字列(テキスト)や空白など不適切なデータが含まれている場合に発生し、作業を中断させる要因となります。特に…
詳しくみるスプレッドシートで足し算するには?数式や関数、セル参照の基本と応用まで解説
Googleスプレッドシートの「足し算」は、セルに直接数式を入力する方法から、SUM関数による効率的な合計、条件付き合計や配列関数による高度な集計まで、多様なやり方があります。 使い分けを理解すれば、売上集計や経費計算といった日々のデータ処…
詳しくみるスプレッドシートのテーブル機能とは?行列の追加や解除まで解説
Googleスプレッドシートのテーブル機能は、データを構造化して管理する強力なツールです。通常の範囲とは異なり、テーブルは自動的にデータの追加や削除に対応し、書式設定やフィルタ機能が統合されています。売上管理、顧客リスト、在庫データなど、定…
詳しくみる



