- 更新日 : 2025年10月27日
スプレッドシートで時間の足し算をするには?24時間超えの計算から勤務時間集計まで解説
Googleスプレッドシートで勤務時間の集計や作業時間の合計を計算する際、時間の足し算が正しくできずに困った経験はありませんか?
本記事では、スプレッドシートで時間を足し算する基本的な方法から、24時間を超える時間の正しい表示方法、さらには複雑な勤務時間計算まで、すぐに使える実践的なテクニックを解説します。
単純な足し算演算子(+)の使い方から、SUM関数やTIME関数を活用した時間の加算方法まで、あらゆるケースに対応できる計算手法を、具体例とともに分かりやすく説明します。
目次
スプレッドシートで時間を足し算する基本的な方法は?
スプレッドシートで時間を足し算する最も簡単な方法は、時間形式のセルを「+」演算子で足すか、SUM関数を使用することで、自動的に時間の合計が計算されます。 ただし、既定の時刻表示では 24 時間を超えると日付に繰り上がり、時刻部分だけを見ると 0:00 からに見えます。総時間をそのまま表示したい場合は [h]:mm(:ss) のカスタム表示を設定してください。
時間の足し算は、勤務時間管理、プロジェクトの作業時間集計、スケジュール管理など、様々な場面で必要になります。Googleスプレッドシートは時間を内部的に数値として扱うため、通常の数値計算と同じように演算できますが、表示形式を適切に設定することが重要です。1日(24時間)を1.0として、1時間は約0.0417(1/24)という数値で管理されています。
時間データの正しい入力方法は?
時間データは「時:分」または「時:分:秒」の形式で入力し、Enterキーを押すと自動的に時間形式として認識され、計算可能な状態になります。 入力時のコロン(:)は半角で入力する必要があり、全角では正しく認識されません。
時間入力の基本ルール
| 入力形式 | 入力例 | 表示結果 | 用途 |
|---|---|---|---|
| 時:分 | 8:30 | 8:30:00 | 一般的な時刻・時間入力 |
| 時:分:秒 | 14:25:30 | 14:25:30 | 秒単位の精密な記録 |
| 分:秒 | 0:45:30 | 0:45:30 | 1時間未満の時間 ※分:秒を入力する場合は先頭に0時間を付与します。 既定の解釈は h:mm(:ss) のため、「45:30」だけだと45時間30分になります。 |
| 日 時:分:秒 | 2 12:30:00 | 60:30:00 | 24時間超の合計を確実に表す方法: =2 + TIME(12,30,0) を入力し、表示形式を [h]:mm(:ss) に設定 → 60:30(:00) と表示されます。 (「2」は2日を意味。足し算でDurationを作成するのが確実) |
- 現在時刻の入力
- Ctrl + Shift + : (Windows)
- Cmd + Shift + ; (Mac)
- 現在の時刻が自動入力される
- 時間の自動補完
- 「830」「1430」のようなhhmm形式を時間に変換するには数式を用います。
例:A1=830 → =TIME(INT(A1/100), MOD(A1,100), 0) → 8:30
A1=1430 → =TIME(INT(A1/100), MOD(A1,100), 0) → 14:30
(必要に応じて表示形式を「時間」や[h]:mmに設定)
- 「830」「1430」のようなhhmm形式を時間に変換するには数式を用います。
- 連続した時間の入力
- 最初のセルに時刻を入力
- セルの右下角をドラッグ
- 1時間単位で自動増分
「+」演算子を使った時間の足し算の具体例は?
「+」演算子を使った時間の足し算は、=A1+B1のように時間が入力されたセル同士を足すだけで、自動的に時間の合計が計算されます。 この方法は最もシンプルで、少数の時間を足し算する場合に適しています。
例えば、A1セルに「8:30」、B1セルに「7:45」が入力されている場合、C1セルに=A1+B1と入力すると、「16:15」という結果が表示されます。複数の時間を連続して足す場合は、=A1+B1+C1+D1のように演算子を連ねることも可能です。
基本的な時間の足し算の実例
2つの時間を足す場合
A1: 8:30:00 (8時間30分)
B1: 7:45:00 (7時間45分)
C1: =A1+B1 (結果:16:15:00)
複数の時間を連続して足す場合
A1: 3:30:00 (作業時間1)
B1: 4:15:00 (作業時間2)
C1: 2:45:00 (作業時間3)
D1: 5:20:00 (作業時間4)
E1: =A1+B1+C1+D1 (結果:15:50:00)
時間と分を別々に入力して足す場合
A1: 5 (時間)
B1: 30 (分)
C1: 3 (追加時間)
D1: 45 (追加分)
E1: =TIME(A1+C1, B1+D1, 0) (結果:9:15:00)
固定時間を加算する計算方法は?
固定の時間を加算する場合は、TIME関数を使って=A1+TIME(時,分,秒)の形式で記述するか、時間を表す数値を直接加算します。 例えば、常に1時間30分を加算する場合の計算方法を示します。
TIME関数を使った固定時間の加算
// 1時間30分を加算
=A1+TIME(1,30,0)
// 45分を加算
=A1+TIME(0,45,0)
// 2時間15分30秒を加算
=A1+TIME(2,15,30)
数値として時間を加算する方法
// 1時間を加算(1時間 = 1/24)
=A1+1/24
// 30分を加算(30分 = 0.5/24)
=A1+0.5/24
// 90分を加算(90分 = 1.5/24)
=A1+1.5/24
// 任意の分数を加算する汎用式
=A1+分数/1440 (1440 = 24時間×60分)
時刻と経過時間を足し算する場合の注意点は?
時刻(特定の時点)と経過時間(期間)を足す場合は、両方が同じ時間形式であることを確認し、日付をまたぐ計算では表示形式の調整が必要です。 特に、終了時刻が翌日になる場合の処理に注意が必要です。
開始時刻に作業時間を加算
A1: 9:00:00 (開始時刻)
B1: 8:30:00 (作業時間)
C1: =A1+B1 (終了時刻:17:30:00)
// 日付をまたぐ場合
A1: 20:00:00 (開始時刻)
B1: 6:00:00 (作業時間)
C1: =A1+B1 (結果:2:00:00 ← 翌日2時)
// 正しく表示するには日付も含める必要がある
日付をまたぐ計算の対処法
// 方法1:条件式で翌日判定
=IF(A1+B1<A1, A1+B1+1, A1+B1)
// 方法2:MOD関数で24時間内に収める
=MOD(A1+B1, 1)
// 方法3:日付付きで管理(翌日判定を明示)
A1: 2025/1/15 20:00:00 // 開始日時(日時として入力)
B1: 6:00:00 // 作業時間(時間:分:秒、期間として入力)
C1: =A1 + B1 // 終了日時(結果:2025/1/16 2:00:00)
- 終了日時を日時で表示 → yyyy/m/d h:mm
- 「翌日」などの文言も出したい → =IF(INT(C1)>INT(A1),”翌日”,”同日”)&TEXT(C1,” h:mm”)
※ 時刻だけに丸めたい場合は =MOD(A1+B1,1)(翌日に繰り上がる情報は表示上失われます)。
SUM関数を使った時間の合計計算の方法は?
SUM関数を使った時間の合計は=SUM(範囲)で簡単に計算でき、大量の時間データを一括で足し算する際に最も効率的な方法です。 範囲指定により、追加や削除があっても自動的に合計が更新される利点があります。
SUM関数は、連続した範囲だけでなく、離れた複数の範囲や個別のセルも同時に合計できます。また、条件付きの合計が必要な場合は、SUMIF関数やSUMIFS関数を使用することで、特定の条件を満たす時間だけを合計することも可能です。
基本的なSUM関数での時間合計の実例
連続範囲の時間合計
A1: 8:30:00 (月曜日)
A2: 7:45:00 (火曜日)
A3: 9:15:00 (水曜日)
A4: 8:00:00 (木曜日)
A5: 7:30:00 (金曜日)
A6: =SUM(A1:A5) (合計:41:00:00 ※要書式設定)
複数範囲の時間合計
// 午前と午後の作業時間を別々に記録
B列(午前): 4:00, 3:30, 4:00, 3:45, 4:00
C列(午後): 4:30, 4:00, 3:45, 4:15, 3:30
// 両方を合計
=SUM(B1:B5, C1:C5) (結果:39:15:00)
飛び飛びのセルを合計
=SUM(A1, A3, A5, B2, B4) // 特定のセルのみ合計
SUMIF関数で条件付き時間合計を計算するには?
SUMIF関数を使えば、=SUMIF(条件範囲, 条件, 合計範囲)の形式で、特定の条件を満たす行の時間だけを合計できます。 例えば、特定の担当者の作業時間や、特定プロジェクトの時間だけを集計する場合に便利です。
条件付き時間合計の実例
A列(担当者) | B列(作業時間)
1 田中 | 3:30:00
2 鈴木 | 4:15:00
3 田中 | 2:45:00
4 佐藤 | 5:00:00
5 田中 | 3:15:00
// 田中さんの作業時間合計
=SUMIF(A1:A5, “田中”, B1:B5) (結果:9:30:00)
// 3時間以上の作業時間の合計
=SUMIF(B1:B5, “>=” & **TIME(3,0,0)**, B1:B5) (結果:15:45:00)
SUMIFS関数で複数条件の時間合計
A列(日付) | B列(担当者) | C列(種別) | D列(時間)
1 2025/1/15 | 田中 | 会議 | 2:00:00
2 2025/1/15 | 田中 | 作業 | 4:00:00
3 2025/1/16 | 田中 | 会議 | 1:30:00
4 2025/1/16 | 鈴木 | 作業 | 3:00:00
// 田中さんの作業時間のみ合計
=SUMIFS(D1:D4, B1:B4, “田中”, C1:C4, “作業”) (結果:4:00:00)
// 1/15の全作業時間
=SUMIFS(D1:D4, A1:A4, DATE(2025,1,15)) (結果:6:00:00)
配列数式で動的な時間合計を作成する方法は?
配列数式とARRAYFORMULA関数を組み合わせることで、自動的に拡張される動的な時間合計を作成でき、データが追加されても数式の修正が不要になります。 これは、頻繁にデータが更新される環境で特に有効です。
動的な累計時間の計算
// A列に時間データ、B列に累計を自動計算
B1: =ARRAYFORMULA(IF(A1:A=””,””,SUMIF(ROW(A1:A),”<=”&ROW(A1:A),A1:A)))
// 結果:
A列 | B列(累計)
3:00:00 | 3:00:00
2:30:00 | 5:30:00
4:00:00 | 9:30:00
(新規追加)| (自動計算)
週単位での自動集計
// A列:日付、B列:作業時間、C列:週合計
C1: =ARRAYFORMULA(IF(WEEKDAY(A1:A)=1,
SUMIFS(B:B,A:A,”>=”&A1:A-6,A:A,”<=”&A1:A),””))
// 日曜日のセルに自動的にその週の合計が表示される
TIME関数とTIMEVALUE関数で時間を操作する方法は?
TIME関数は数値から時間を生成し、TIMEVALUE関数は文字列を時間に変換する関数で、これらを使うことで柔軟な時間の足し算が可能になります。 特に、外部データのインポートや、時・分・秒が別々のセルに入力されている場合に有効です。
TIME関数はTIME(時, 分, 秒)の形式で、個別の数値から時間を作成します。TIMEVALUE関数はTIMEVALUE(“時間文字列”)の形式で、テキスト形式の時間を計算可能な時間値に変換します。これらの関数を組み合わせることで、様々な形式のデータから時間計算が可能になります。
TIME関数で時間を生成して足し算する実例
時・分・秒から時間を作成
A1: 8 (時)
B1: 30 (分)
C1: 45 (秒)
D1: =TIME(A1, B1, C1) (結果:8:30:45)
// 別の時間と足し算
E1: 2:15:00
F1: =D1+E1 (結果:10:45:45)
動的な時間生成と計算
// 現在時刻に指定時間を加算
=NOW()+TIME(2,30,0) // 現在から2時間30分後
// 条件に応じた時間加算
=A1+TIME(IF(B1=”急ぎ”,1,2), 0, 0) // 急ぎなら1時間、通常は2時間加算
分単位の数値を時間に変換して加算
A1: 150 (分単位の作業時間)
B1: 45 (追加の分数)
C1: =TIME(0, A1+B1, 0) (結果:3:15:00)
// または除算を使用
D1: =(A1+B1)/1440 // 書式を時間に設定
TIMEVALUE関数で文字列を時間に変換する方法は?
TIMEVALUE関数は、=TIMEVALUE(“8:30 AM”)のように文字列形式の時間を数値に変換し、計算可能にする関数で、外部データの取り込み時に特に有用です。 CSVファイルやWebからコピーしたデータの時間計算に不可欠です。
文字列時間の変換と計算
A1: “8:30 AM” (文字列)
B1: “2:45 PM” (文字列)
C1: =TIMEVALUE(A1) (結果:0.354166… → 8:30:00表示)
D1: =TIMEVALUE(B1) (結果:0.614583… → 14:45:00表示)
E1: =D1-C1 (経過時間:6:15:00)
様々な形式の文字列を変換
// 基本的な変換
=TIMEVALUE(“14:30”) // 14:30:00
=TIMEVALUE(“2:30 PM”) // 14:30:00
=TIMEVALUE(“14:30:45″) // 14:30:45
// エラー処理を含む変換
=IFERROR(TIMEVALUE(A1), TIME(0,0,0)) // 変換できない場合は0:00
// 日本語表記の変換(要加工)
=TIMEVALUE(SUBSTITUTE(SUBSTITUTE(A1,”時”,”:”),”分”,””))
// “8時30分” → “8:30” → 8:30:00
HOUR、MINUTE、SECOND関数を組み合わせた計算方法は?
HOUR、MINUTE、SECOND関数で時間を構成要素に分解し、個別に計算してからTIME関数で再構築することで、複雑な時間計算が可能になります。 この方法は、特定の単位での端数処理や調整が必要な場合に有効です。
時間の分解と再構築
A1: 8:45:30 (元の時間)
// 各要素を取得
B1: =HOUR(A1) (結果:8)
C1: =MINUTE(A1) (結果:45)
D1: =SECOND(A1) (結果:30)
// 30分単位で切り上げ(秒も考慮・簡潔)
E1: =CEILING(A1, TIME(0,30,0))
// 結果:9:00:00
// 15分単位で四捨五入
F1: =MROUND(A1, TIME(0,15,0))
// 15分単位で切り上げ(必要ならこちら)
F1: =CEILING(A1, TIME(0,15,0))
// 結果:9:00:00
複雑な時間計算の例
// 残業時間の計算(定時:17:30)
A1: 20:45:00 (終業時刻)
B1: =IF(A1>TIME(17,30,0), A1-TIME(17,30,0), 0)
// 結果:3:15:00
// 深夜手当対象時間(22:00以降)
C1: =IF(A1>TIME(22,0,0), A1-TIME(22,0,0), 0)
// 結果:0:00:00(20:45は22:00前)
// 時間を分単位の数値に変換
D1: =HOUR(A1)*60+MINUTE(A1)+SECOND(A1)/60
// 結果:1245(分)
24時間を超える時間の足し算を正しく表示するには?
24時間を超える時間を正しく表示するには、セルの書式を[h]:mm:ssに設定することで、25:30:00のように24時間以上の時間も正確に表示できます。 デフォルトの時間形式では、24時間を超えると0にリセットされてしまうため、この設定は必須です。
例えば、週間の勤務時間合計が40時間の場合、通常の時間形式では「16:00:00」と表示されてしまいますが、[h]:mm形式にすることで「40:00」と正しく表示されます。角括弧[]が重要で、これにより時間の累積表示が可能になります。
24時間超の表示形式を設定する手順
- 対象セルを選択
- 「表示形式」→「数字」→「カスタム数値形式」
- 以下の書式コードから選択して入力
| 書式コード | 表示例 | 用途 |
|---|---|---|
| [h]:mm | 40:30 | 時間と分の表示 |
| [h]:mm:ss | 40:30:15 | 秒まで含む詳細表示 |
| [h]”時間”mm”分” | 40時間30分 | 日本語表記 |
| [h]”h “mm”m” | 40h 30m | 英語略記 |
| [m]”分” | 2430分 | 分単位での総計表示 |
| #,##0″時間” | 40時間 | 時間のみ(端数切り捨て)を表示したい場合は、計算式で時間数に変換してから表示します。 例:
|
実際の設定例
// 週間勤務時間の合計
月: 8:30
火: 9:00
水: 8:45
木: 7:30
金: 8:15
合計: =SUM(上記範囲) // 42:00([h]:mm形式で表示)
// 月間勤務時間(180時間超)
=SUM(A1:A31) // 185:30:00([h]:mm:ss形式)
日数を含む時間計算と表示方法は?
日数を含む長期間の時間計算では、時間シリアル値×24で総時間数を求めるのが正確です(例:=A1*24、整数化するなら =INT(A1*24))。あるいは日数と時間を分けて表示します。
プロジェクト管理や長期の作業時間集計で活用できます。
日数と時間の分離表示
A1: 250:30:00 (250時間30分の累計)
// 日数と時間に分解
B1: =INT(A1)&”日 “&TEXT(MOD(A1,1),”h:mm”)
// 結果:10日 10:30
// より詳細な分解
C1: =INT(A1) // 10(日)
D1: =HOUR(MOD(A1,1)) // 10(時間)
E1: =MINUTE(A1) // 30(分)
// カスタム表示
F1: =C1&”日”&D1&”時間”&E1&”分”
// 結果:10日10時間30分
営業日換算での表示
A1: 185:30:00 (総作業時間)
// 8時間を1営業日として換算
B1: =INT(A1*24/8)&”営業日 “&TEXT(MOD(A1*24,8)/24,”h:mm”)
// 結果:23営業日 1:30
// 週と日に分解(週5日、1日8時間)
C1: =INT(A1*24/40)&”週 “&INT(MOD(A1*24,40)/8)&”日 “&TEXT(MOD(A1*24,8)/24,”h:mm”)
// 結果:4週 3日 1:30
時間の足し算を効率化する実践的な活用例
スプレッドシートで時間の足し算をする基本から応用まで、様々な計算方法を解説してきました。単純な「+」演算子による時間の加算から、SUM関数での一括集計、24時間を超える表示形式の設定まで、実務で必要なテクニックを網羅しています。特に重要なのは、24時間を超える場合の[h]:mm形式の設定と、TIME関数を使った柔軟な時間操作です。
勤務時間管理においては、出退勤時刻からの実働時間計算、残業・深夜手当の自動計算など、複雑な要件にも対応できる数式を活用することで、業務効率を大幅に向上させることができます。まずは基本的な時間の足し算から始めて、徐々に高度な機能を取り入れていくことで、ミスのない正確な時間計算システムを構築できるでしょう。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
スプレッドシートからメール送信するには?手動送信からGAS自動化まで完全解説
Googleスプレッドシートからメール送信を行うことで、データ共有の効率化、定期レポートの自動配信、条件に基づく通知システムの構築など、業務の自動化と効率化を大幅に進めることができます。手動での簡単な送信方法から、Google Apps S…
詳しくみるエクセルのCOUNTIFS関数とは?使い方や複数条件の指定方法、応用例を解説
複数条件でデータを集計したい場合は、ExcelのCOUNTIFS関数(カウントイフス関数)が最適です。たとえば「営業部かつ女性」「80点以上かつ出席率90%以上」など、AND条件での集計を簡単に実現できます。 これまでフィルターや手作業で対…
詳しくみるFIND関数の使い方や利用シーンをわかりやすく解説
FIND関数は、テキスト内で特定の文字列の位置を探すための非常に便利なツールです。ExcelやGoogleスプレッドシートなどで利用でき、データ分析やレポート作成の際に大いに役立ちます。この記事では、FIND関数の基本的な使い方から実際の利…
詳しくみるスプレッドシートの変更履歴を確認・管理・復元するには?セル単位から削除方法まで
Googleスプレッドシートの変更履歴機能を使えば、誰がいつどのような編集を行ったのかを簡単に確認でき、必要に応じて過去のバージョンに戻すことも可能です。本記事では、スプレッドシートの編集履歴の基本的な確認手順から、セル単位での変更追跡、履…
詳しくみるスプレッドシートで特定のセルへリンクするには?セル指定から応用まで解説
Googleスプレッドシートで特定のセルへ直接リンクする機能を活用することで、大規模なデータの中でも瞬時に必要な情報にアクセスでき、ナビゲーションの効率が向上します。同じシート内の移動から、別シートや別ファイルの特定セルへのジャンプまで、適…
詳しくみるエクセル(Excel)の目的別ショートカットキー一覧
Excel作業を速く、正確にこなすためにショートカットキーは欠かせません。 「シート削除」「文字色の変更」「ウィンドウ枠の固定」「セル入力」「数式の再計算」といった操作も、ショートカットならマウスを使わずに一瞬で実行できます。 作業スピード…
詳しくみる