スプレッドシートのTIME関数の使い方|時分秒から時刻作成

スポンサーリンク

「9時30分」をスプレッドシートに入力したいのに、セルに「9:30」と手打ちしたら文字列になってしまった。そんな経験はありませんか?

文字列のままだと時間の計算ができず、勤怠表やスケジュール表で困りますよね。

そんなときに使うのがTIME関数です。時・分・秒の3つの数値を渡すだけで、正しい時刻データを作ってくれます。

この記事では基本の書き方から、勤怠表での活用や時間の加算テクニックまで紹介します。

スプレッドシートのTIME関数とは?時分秒から時刻を作る関数

TIME関数(読み方: タイム関数)は、時・分・秒の3つの数値から時刻データを作成する関数です。

名前は英語の「time(時間)」がそのまま関数名になっています。

スプレッドシートの時刻は内部的に「シリアル値」という小数で管理されています。たとえば「12:00:00」(正午)はシリアル値で「0.5」です。1日を「1」として、経過した割合を小数で表す仕組みです。

TIME関数を使えば、このシリアル値を意識せずに正しい時刻を作成できます。手入力した「9:30」が文字列になるリスクもありません。

TIME関数でできることをまとめると、次のとおりです。

  • 時・分・秒の数値から正確な時刻データを作る
  • 別々のセルにある時・分・秒を1つの時刻にまとめる
  • 既存の時刻に一定時間を加算・減算する
  • 勤怠表で出勤時刻や休憩時間を数式で管理する

NOTE

TIME関数はGoogleスプレッドシートとExcelの両方で同じ構文で使えます。ファイル共有時も安心です。

TIME関数の基本の書き方

構文と引数

=TIME(時, 分, 秒)

カッコの中に「時」「分」「秒」を順番に入れるだけです。引数は3つとも必須です。

引数の詳細

引数必須/任意説明
必須時を表す数値(0〜23が基本)
必須分を表す数値(0〜59が基本)
必須秒を表す数値(0〜59が基本)

分や秒に60以上の値を指定すると、自動で繰り上がります。たとえば分に「90」を指定すると1時間30分として計算されます。

同じように、時に24以上を指定すると24で割った余りが使われます。=TIME(25,0,0) は「1:00:00」になります。

TIP

DATE関数の「ロールオーバー」と同じ仕組みです。DATE関数は年・月・日から日付を作りますが、TIME関数は時・分・秒から時刻を作ります。日付と時刻のペア関数と覚えておくと便利ですよ。

TIME関数の基本的な使い方

もっともシンプルな使い方です。時・分・秒を直接指定してみましょう。

=TIME(9, 30, 0)

結果は「9:30:00」です。確実に時刻型のデータが作成されます。

セル参照と組み合わせるケースも見てみましょう。A1に「9」、B1に「30」、C1に「0」が入っているとします。

=TIME(A1, B1, C1)

結果は同じく「9:30:00」です。セルの値を変更すれば時刻も自動で更新されます。

秒を省略したい場合でも、引数は3つとも必須です。秒が不要なら「0」を指定してください。

=TIME(14, 15, 0)

結果は「14:15:00」(午後2時15分)です。

繰り上がりの動作

分や秒が範囲外でも、自動で繰り上がります。

数式結果説明
=TIME(0, 90, 0)1:30:0090分 → 1時間30分に繰り上げ
=TIME(0, 0, 3600)1:00:003600秒 → 1時間に繰り上げ
=TIME(1, 70, 80)2:11:2070分+80秒がそれぞれ繰り上げ

この繰り上がりを活用すれば、「合計150分を時刻に変換する」といった計算にも使えますよ。

実務で使えるTIME関数の活用例

勤怠表で勤務時間を計算する

勤怠表でよく使うパターンです。出勤時刻と退勤時刻から、休憩を引いた実働時間を求めましょう。

A2に出勤時刻「9:00」、B2に退勤時刻「18:00」が入っているとします。休憩は1時間です。

=B2 - A2 - TIME(1, 0, 0)

結果は「8:00:00」(8時間)です。TIME(1,0,0)で1時間分の休憩を引いています。

休憩が1時間30分なら、TIME(1,30,0)に変えるだけです。

=B2 - A2 - TIME(1, 30, 0)

結果は「7:30:00」です。休憩時間をTIME関数で柔軟に変えられるのがポイントですよ。

開始時刻に一定時間を加算する

会議の終了時刻を自動計算するケースです。A2に開始時刻「10:00」が入っていて、会議は1時間30分とします。

=A2 + TIME(1, 30, 0)

結果は「11:30:00」です。開始時刻にTIME関数で加算するだけです。

15分刻みのスケジュール表を作るなら、こう書きます。

=A2 + TIME(0, 15, 0)

A2が「9:00」なら結果は「9:15:00」です。この数式を下にコピーすれば、15分刻みの時刻一覧が作れます。

時刻の表示形式をTEXT関数でカスタマイズする

TIME関数の結果を「午前9時30分」のように表示したい場合は、TEXT関数と組み合わせます。

=TEXT(TIME(9,30,0), "h時mm分")

結果は「9時30分」という文字列です。

午前・午後をつけたい場合はこうです。

=TEXT(TIME(14,0,0), "AM/PMh:mm")

結果は「PM2:00」になります。

WARNING

TEXT関数の結果は文字列です。時間計算には使えないので注意してください。表示用として使い分けましょう。

時刻シリアル値の仕組みと表示形式

TIME関数を使いこなすには、シリアル値の仕組みを知っておくと便利です。

スプレッドシートでは、時刻を0から1未満の小数で管理しています。

時刻シリアル値計算式
0:00:00(午前0時)00 / 24
6:00:00(午前6時)0.256 / 24
12:00:00(正午)0.512 / 24
18:00:00(午後6時)0.7518 / 24
23:59:590.99999ほぼ1

1日を「1」として、午前0時からの経過割合を小数で表しています。正午は1日の半分なので0.5です。

このため、TIME関数は0:00:00〜23:59:59の範囲しか返せません。24時間を超える累計時間(「32時間15分」など)を表示したい場合があります。その場合はセルの表示形式を「経過時間」に変更しましょう。

表示形式の設定手順は次のとおりです。

  1. セルを選択する
  2. 「表示形式」メニュー →「数値」→「カスタム数値形式」を選ぶ
  3. [h]:mm:ss と入力して「適用」をクリックする

[h] のカッコが24時間超を許容する書式です。これで「32:15:00」のように表示できますよ。

NOTE

DATE関数が日付のシリアル値(整数部分)を扱うのに対し、TIME関数は時刻のシリアル値(小数部分)を扱います。日付と時刻は合わせて1つの数値で表現されています。「2026/3/19 12:00」のシリアル値は「46097.5」です。

HOUR・MINUTE・SECOND関数との連携

TIME関数が「時・分・秒 → 時刻」を作るのに対し、HOUR・MINUTE・SECOND関数は「時刻 → 時・分・秒」に分解します。逆方向の操作です。

関数操作の方向構文
TIME時分秒 → 時刻=TIME(9,30,0)→ 9:30:00
HOUR時刻 → 時=HOUR("9:30:00")→ 9
MINUTE時刻 → 分=MINUTE("9:30:00")→ 30
SECOND時刻 → 秒=SECOND("9:30:00")→ 0

この4関数を組み合わせれば、時刻データを自在に操作できます。

時刻の端数を切り上げる(15分単位に丸める)

勤怠管理で「退勤時刻を15分単位に切り上げる」場面です。A2に「17:38」が入っているとします。

=TIME(HOUR(A2), CEILING(MINUTE(A2), 15), 0)

MINUTE関数で分を取り出し、CEILING関数で15の倍数に切り上げています。結果は「17:45:00」です。

切り捨てなら、CEILINGをFLOOR関数に変えます。

=TIME(HOUR(A2), FLOOR(MINUTE(A2), 15), 0)

結果は「17:30:00」です。出勤時刻の切り上げ・退勤時刻の切り捨てに便利ですよ。

時刻を分単位の数値に変換する

「9:30」を「570分」のように、分単位の数値に変換したいケースです。

=HOUR(A2) * 60 + MINUTE(A2)

A2が「9:30」なら、9 * 60 + 30 = 570です。集計や比較がしやすくなります。

逆に、分単位の数値を時刻に戻すならTIME関数を使います。

=TIME(0, 570, 0)

結果は「9:30:00」です。繰り上がりの仕組みのおかげで、分をそのまま渡すだけで正しい時刻になりますよ。

DATE関数との対比|日付と時刻の違い

TIME関数とDATE関数は「ペア関数」です。扱う対象が日付か時刻かの違いだけで、考え方は同じです。

項目DATE関数TIME関数
用途年月日から日付を作る時分秒から時刻を作る
構文=DATE(年, 月, 日)=TIME(時, 分, 秒)
シリアル値整数部分(1, 2, 3…)小数部分(0〜0.999…)
範囲1899/12/31〜0:00:00〜23:59:59
繰り上がり月13→翌年1月分60→1時間
分解関数YEAR / MONTH / DAYHOUR / MINUTE / SECOND

日付と時刻を組み合わせたい場合は、両方を足すだけです。

=DATE(2026, 3, 19) + TIME(14, 30, 0)

結果は「2026/3/19 14:30:00」です。シリアル値の整数部分(日付)と小数部分(時刻)が合算されます。

TIME関数のよくあるエラーと対処法

エラー・症状原因対処法
#VALUE!引数に文字列が入っているセル参照先が数値かどうか確認する
数字が表示される表示形式が「数値」になっている表示形式を「時刻」に変更する
「1899/12/30」と表示される表示形式が「日付」になっている表示形式を「時刻」に変更する
24時間超が表示できないTIME関数の上限は23:59:59カスタム書式 [h]:mm:ss を設定する

数字や日付が表示されるとき

TIME関数の結果が「0.395833」のような数字で表示される場合があります。これはセルの表示形式が「数値」になっているためです。

また「1899/12/30」と表示される場合は、表示形式が「日付」になっています。

いずれもセルを選択して「表示形式」→「数値」→「時刻」を選べば正しく表示されます。TIME関数自体は正常に動作しているので安心してください。

24時間を超える計算をしたいとき

TIME関数は0:00:00〜23:59:59の範囲しか返せません。残業を含む月間の合計労働時間のように、24時間を超える値が必要な場合があります。その場合はTIME関数ではなく時刻の足し算で計算します。

=SUM(B2:B31)

合計結果が24時間を超えても、カスタム数値形式 [h]:mm:ss を設定すれば正しく表示されますよ。

まとめ

TIME関数は、時・分・秒の3つの数値から時刻データを作成する関数です。

ポイントを整理します。

  • 構文は =TIME(時, 分, 秒) の3引数。確実に時刻型データが作れる
  • 勤怠表の休憩時間控除や時間加算に便利
  • 分や秒が60以上でも自動で繰り上がる
  • HOUR・MINUTE・SECOND関数は逆方向の分解関数
  • DATE関数が日付のペア、TIME関数は時刻のペア
  • 24時間超を表示するにはカスタム書式 [h]:mm:ss を使う
  • TEXT関数で表示形式をカスタマイズできる

まずは =TIME(9, 30, 0) で時刻データを作るところから試してみてください。

タイトルとURLをコピーしました