Excelで勤怠管理やプロジェクト工数の集計を行う際、「20」という数値を「20時間00分00秒」のように、時間として扱いたい場面は非常に多いかと存じます。
しかし、Excelの時間計算には「シリアル値」という独自のルールがあり、つまずきやすいポイントでもあります。
この記事では、単なる数値を時間形式に正しく変換する方法から、時間のカウントダウンリストの作成、24時間を超える時間の集計、さらにはグラフの目盛り設定まで、時間処理に関するテクニックを網羅的に解説いたします。
数値を「hh:mm:ss」形式に変換する方法
まず、基本となる「数値(例:20)」を「時間(例:20:00:00)」としてセルに表示させる方法です。
解決策1:数式で「シリアル値」に変換し、書式設定する
Excelは、「1日(24時間)= 1」として時間を管理しています。そのため、「20」という数値を「20時間」としてExcelに認識させるには、24で割る必要があります。
- A1セルに「20」と入力されている場合、表示させたいB1セルに以下の数式を入力します。Excel
=A1/24 - B1セルを選択した状態で「セルの書式設定」(ショートカットキー:
Ctrl + 1)を開きます。 - 「表示形式」タブで「ユーザー定義」を選択し、「種類」の欄に以下のように入力します。
hh:mm:ss - 「OK」をクリックすると、B1セルに「20:00:00」と表示されます。
解決策2:TEXT関数で文字列として表示する
もし、表示だけでよく、その後の計算(足し算や引き算など)が不要な場合は、TEXT関数を使うと簡単です。
B1セルに以下の数式を入力します。
=TEXT(A1/24, "hh:mm:ss")
この場合、B1セルには「20:00:00」という「文字列」が表示されます。手軽ですが、時間データとして計算には使えない点にご注意ください。
1分ずつのカウントダウンリストを作成する方法
次に、指定した時刻から1分ずつ時間を減らしていく(カウントダウンする)リストをオートフィルで作成する方法です。
基本的な作成手順
TIME関数は、指定した時・分・秒に対応するシリアル値を返します。これを利用して引き算を行います。
- 開始時刻をC1セルに入力します(例:「19:59:00」と手入力、または
=TIME(19,59,0))。 - C2セルに、C1セルから1分を引く数式を入力します。Excel
=C1-TIME(0,1,0) - C2セルのフィルハンドル(右下の小さい四角)を掴んで、下方向へドラッグ(オートフィル)します。
- これで、C3セルには「19:57:00」、C4セルには「19:56:00」と、1分ずつ引かれたリストが自動作成されます。
オートフィルがうまくいかない原因(絶対参照)
もし、特定のセル(例:AA3セル)を基準にカウントダウンさせようとして、C2セルに =$AA$3-TIME(0,1,0) のように入力すると、オートフィルが期待通りに機能しません。
これは $ を使った「絶対参照」により、数式を下にコピーしても参照先が $AA$3 に固定されてしまうためです。すべてのセルが「AA3セルから1分引いた値」になってしまいます。
【正しい対処法】 カウントダウンリストを作るには、「1つ上のセル」を参照する「相対参照」を使います。
- C1セルに基準となる時刻を入力します(例:
=AA3)。 - C2セルには、
AA3ではなくC1を参照する数式を入力します。Excel=C1-TIME(0,1,0) - このC2セルを下にオートフィルすることで、C3はC2を、C4はC3を参照し、正しく1分ずつ減っていくリストが完成します。
24時間を超える時間を正しく表示する([h]書式)
Excelの時間計算で最も重要なテクニックの一つです。 例えば、「60」という数値を「60時間」として表示させたい場合、先ほどの =C3/24 を使い、セルの書式設定を hh:mm:ss にすると、どうなるでしょうか。
Excelは「60時間 = 2日と12時間」と解釈するため、書式設定では日(2日)の部分が無視され、「12:00:00」と表示されてしまいます。
【解決策】 セルの書式設定で h を角括弧 [ ] で囲みます。
=C3/24(C3セルに60が入力されている)が入力されたセルを選択します。- 「セルの書式設定」(
Ctrl + 1)を開きます。 - 「ユーザー定義」で、種類を以下のように設定します。
[h]:mm:ss - これにより、24時間を超える部分もすべて「時間」として合算され、「60:00:00」と正しく表示されます。これは工数の合計などを計算する際に必須のテクニックです。
Excelグラフで「時間」の目盛りを設定する方法
最後に、Excelのグラフで時間を扱う際の目盛りの設定方法です。これも「シリアル値」の理解が鍵となります。
時間のシリアル値への換算
前述の通り、Excelでは「1日 = 1.0」です。
- 目盛り単位が 0.1 の場合: これは「0.1日」を意味します。時間に換算すると
0.1 * 24時間 = 2.4時間(2時間24分)となります。 - 「3時間ちょうど」をシリアル値で表す場合: グラフの目盛り設定で「3時間」を指定したい場合、シリアル値に換算する必要があります。 計算式:
3時間 ÷ 24時間 = 0.125
グラフの目盛りを「3時間」に設定する
グラフの軸の書式設定で、例えば最大値や目盛り単位を「3時間ちょうど」にしたい場合は、数値として「0.125」を入力します。
もし、グラフの最大値を3時間(0.125)に設定し、目盛りをきれいに分割したい場合は、以下のように設定します。
- 1時間ごと: 単位(主)に
1/24(または0.04166...)と入力します。 - 30分ごと: 単位(主)に
0.5/24(または0.02083...)と入力します。 - きりの良い数値で分割: 単位(主)を
0.025に設定すると、「0, 0.025, 0.05, 0.075, 0.1, 0.125」と5目盛りで区切ることも可能です。
まとめ
Excelでの時間計算は、一見すると複雑に感じられますが、「1日=1」というシリアル値のルールと、「表示形式」の使い分けを理解することが上達の近道です。
特に24時間を超える時間の集計に使う [h]:mm:ss の書式は、勤怠管理や工数集計の現場で非常に役立ちます。
今回のテクニックが、皆様のデータ集計作業の一助となれば幸いです。
