Excel(エクセル)でシフト表やタイムカードを作る時に便利なのが時間計算です。時間は12進法、分と秒は60進法なので、一見厄介ですが、Excelは時刻にも対応しており、経過時間や合計時間などを計算して求めることができます。
目次
Excelで経過時間を計算する方法
Excel(エクセル)で経過時間を計算する方法を紹介します。
経過時間とは、終了時刻から開始時刻を引いたものです。
Excelでは、演算子「-」(マイナス)を使って引き算することで、経過時間を求めることができます。
Excelで「:」(コロン)で区切られた値を入力すると、自動的に「9:00」のように時刻表示に変わります。
出勤(開始時間)と退勤(終了時間)が入力された勤務表を例に、勤務時間(経過時間)を計算してみましょう。
- 経過時間を「時」で計算・表示する方法
- 経過時間を「分」で計算・表示する方法
- 経過時間を「秒」で計算・表示する方法
経過時間を「時」で計算・表示する方法
4:30は「時」に直すと4.5時間です。
では、Excel(エクセル)上の経過時間を「時」に直すにはどうすればよいでしょうか。
「時」で表示するには、「4:30」に24をかけます。
経過時間を「分」で計算・表示する方法
では、4:30を「分」に直すにはどうするのでしょうか。
前の項で「時」に直すことはできました。1時間は60分ですので、「分」に直すには、さらに60をかけます。
「=B3*24*60」と入力してEnterキーで確定し、書式を「標準」に直すと「分」で表示されました。
経過時間を「秒」で計算・表示する方法
続いて、「秒」まで出してみましょう。
1分は60秒ですから、「分」の計算結果にさらに60をかけます。
「=B3*24*60*60」と入力してEnterキーで確定し、書式を「標準」に直すと「秒」で表示されました。
Excelで合計時間を計算する方法
Excel(エクセル)で合計時間を計算する場合は、演算子「+」を使って足します。
午前中に3時間、午後に5時間勤務した場合の合計時間を出してみましょう。
式は「=B3+C3」となり、合計時間が計算されました。
合計時間が24時間以上で計算が合わない場合の原因・対応方法
Excel(エクセル)で1週間の勤務時間の合計を出してみましたが、計算が合いません。
よく見ると、25:00→1:00と変換されているようです。時刻を24時間表示にする時と同じく、24時が「0時」と判定されているように見えます。
24時間を超えた場合に合計時間を表示させたい場合は、セルの書式設定で「[h]:mm」と設定します。
Excelで終了時間を計算する方法
Excel(エクセル)で終了時間を計算する方法です。
終了時間は開始時間に経過時間を足したものなので、演算子「+」を使って足し算します。
出勤(開始時間)と勤務時間(経過時間)が分かっている例で、退勤時間(終了時間)を計算してみましょう。
出勤時間に勤務時間を足して計算します。
- 終了時間を「時」で計算・表示する方法
- 終了時間を「分」で計算・表示する方法
- 終了時間を「秒」で計算・表示する方法
終了時間を「時」で計算・表示する方法
終了時間が今から「〇時間後」といった形で分かっている場合には、TIME関数での計算が便利です。
TIME関数の構文:TIME(時,分,秒)
例えば、B3セルの時刻の「4時間後」の場合は、「時」の部分に「4」を入れて、「=B3+TIME(4,0,0)」となります。
終了時間を「分」で計算・表示する方法
「〇分後」を求めるには、TIME関数の「分」の部分に入れます。
「試験時間90分」「授業1コマ120分」など、経過時間が分で表されている場合でも、頭の中で変換せずにTIME関数に当てはめればそのまま計算できます。
B3セルの時刻の「90分後」の場合は、「分」の部分に「90」を入れて、「=B3+TIME(0,90,0)」となります。
終了時間を「秒」で計算・表示する方法
競技のタイムなど、秒まで計算が必要な場合もTIME関数で計算できます。
経過時間が「5分20秒」の場合は、TIME関数の「分」と「秒」にそれぞれ「5」と「20」を入れます。
B3セルの時刻の「5分20秒」の場合は、「=B3+TIME(0,5,20)」となります。
Excelの時間計算の結果がマイナスの場合について
Excel(エクセル)の時間計算の結果がマイナスになってしまうことがあります。
なぜマイナスになるのか、その理由を理解するには、Excelの時間表示の仕組みを知る必要があります。
- 時間計算の結果がマイナスの時に「#######」と表示される原因
- 時間計算の結果がマイナスの時に正しく表示する方法
時間計算の結果がマイナスの時に「#######」と表示される原因
前回タイムとの差を求めるため、今回のタイムから前回のタイムを引いたら「#######」と表示されてしまいました。
今回のタイムの方が速いので、「#######」がマイナスの値になっていることは分かりますが、セル幅を広げても表示されません。
Excel内での時刻は、時刻形式の表示になっていても、内部で「シリアル値」という値で管理されています。時刻のシリアル値は24時間を「1」として数値で表したものです。
内部ではシリアル値できちんと計算が行われているのですが、時刻表示ではマイナスの値を表示してくれないのです。
時間計算の結果がマイナスの時に正しく表示する方法
時刻表示のままではマイナス表示ができないことが分かったら、文字列に変換すれば解決しそうです。
数値を文字列に変換する「TEXT関数」、絶対値を表示する「ABS関数」、条件を設定する「IF関数」の3つを組み合わせると、マイナス表示の時刻も表示することができます。
①B3-C3の差を絶対値にする:ABS(B3-C3)
②B3-C3が0以下だった場合、表示に「-」を付ける:IF(B3-C3<0,”-h:mm:ss”,”h:mm:ss”)
③全体を文字列にする:TEXT
=TEXT(ABS(B3-C3),IF(B3-C3<0,”-h:mm:ss”,”h:mm:ss”))
これで、時間計算の結果をマイナス表示で正しく表示できました。
Excelの時間計算について改めておさらい
勤務時間やタイムの記録は、手で計算しなくてもExcel(エクセル)上で簡単に計算できます。さまざまな場面で使えるExcelの時間計算をぜひ活用してみてください。