エクセルでの時間の足し算や分計算をマスターするコツ

エクセルで時間の足し算や分の計算をしようとしたとき、思い通りの結果にならなくて困ったことはありませんか。単純に足し算をしても時間が24時間を超えると0時にリセットされてしまったり、時給計算で時間と金額を掛け合わせたら桁外れに少ない金額になってしまったりと、エクセルの時間計算は少し独特なルールを持っています。実は、エクセルは画面に表示されている時間と、裏側で処理している数値が全く異なっているんです。この仕組みを理解していないと、給与計算や勤怠管理で思わぬミスにつながるかも。でも安心してください。時間の足し算から、24時間以上の表示、TIME関数を使った計算、マイナス時間の表示、そして分単位への変換まで、実務でつまずきがちなポイントとその解決策をまとめました。この記事を読めば、エクセルでの時間計算のモヤモヤがすっきりと晴れるはずです。

時間の足し算
  • エクセルが時間をどのように数値(シリアル値)として処理しているかが分かる
  • 24時間を超える時間の足し算や、その正しい表示形式の設定方法が理解できる
  • 時給計算で時間を10進数に変換し、正確な給与を算出する手順が身につく
  • マイナスの時間の表示方法や、よくあるエラーの解消法がマスターできる
スポンサーリンク

エクセルでの時間の足し算と分の基本

エクセルで時間を扱うための最初の一歩は、エクセルが時間をどのように認識しているかを知ることです。ここでは、基本的な仕組みから、よく使う関数の活用法までを解説します。

内部のシリアル値への変換を理解する

エクセルで「9:00」や「1:30」と入力したとき、エクセルはそれをそのままの文字として計算しているわけではありません。内部では「シリアル値」と呼ばれる10進数の数値に変換して処理しています。この仕組みを理解することが、すべての時間計算の土台になります。

エクセルのルールでは、「1日(24時間)」を整数「1」として扱います。つまり、時間はすべて1日を細かく分割した小数として記録されているんです。例えば、「12:00(お昼の12時)」は1日の半分なので、シリアル値は「0.5」になります。同様に、1時間は1を24で割った約0.041666、1分は1日(1440分)で割った約0.000694として保存されます。

セルの表示形式を「標準」に変更してみると、この裏側に隠れている小数値を実際に確認することができますよ。

この「時間が1日を1とした小数である」という特徴があるからこそ、エクセルで時間を足したり引いたりできるのですが、同時に時給などの計算をややこしくしている原因でもあります。時間を扱うときは、常に「画面の表示」と「裏側のシリアル値」は別物だと意識しておきましょう。

足し算に役立つTIME関数の使い方

決まった時間を足し算したいときに便利なのがTIME関数です。「入力された出勤時刻に、常に9時間(実働8時間+休憩1時間)を足して退勤予定時刻を出したい」といった場面で活躍します。

TIME関数は、=TIME(時, 分, 秒)という形で指定します。例えば、あるセルに入っている時刻に5時間30分を足したい場合は、数式に+TIME(5, 30, 0)と記述するだけです。

特定の時間を直接数式に入力して足す場合は、+"3:00"のようにダブルクォーテーションで囲むことでも計算可能です。エクセルが気を利かせて時間として認識してくれます。

ただし、TIME関数には少し注意点があります。TIME関数が作れる時間の範囲は「0:00:00から23:59:59」までなんです。そのため、24時間を超えるような大きな時間を直接生成することはできません。また、「3時間」などと日本語で入力してしまうとエラーになるので気をつけましょう。

SUM関数を用いた合計時間の算出法

1週間分の勤務時間や、複数に分かれたタスクの作業時間をまとめて足し算したいときは、やっぱりSUM関数を使うのが一番簡単で確実です。計算式は普通の数字の合計と同じく、=SUM(範囲)でOKです。

SUM関数は指定した範囲にある時間の「シリアル値」をすべて合計してくれます。計算自体はとてもシンプルなのですが、ここでもつまずきポイントがあります。それは、合計時間が24時間を超えると、見た目上の数字がリセットされてしまうことです。これは次の項目で説明する「表示形式の設定」で解決できます。

24時間以上の表示形式を設定する

エクセルの時間の足し算で、誰もが一度は悩むのが「24時間を超えると時間がリセットされてしまう」問題ですね。例えば「13:00」と「15:00」を足すと、合計は「28:00」になるはずですが、エクセルの初期設定では「4:00」と表示されてしまいます。これはエクセルが普通の時計と同じように、24時間で1日が経ったとして日数を繰り上げ、余った時間だけを表示しているからです。

累計の勤務時間などを正しく表示させるには、セルの表示形式を変える必要があります。手順は以下の通りです。

  1. 合計時間が表示されているセルを選び、Ctrl + 1を押して「セルの書式設定」を開きます。
  2. 「表示形式」タブの「分類」から「ユーザー定義」を選びます。
  3. 「種類」の入力欄に[h]:mmと入力してOKを押します。

この「h」を角括弧(ブラケット)で囲むのがポイントです。これによって「日数に繰り上げず、時間としてどんどん累積して表示してね」という指示になります。「28:00」や「100:30」のように正しく表示されるようになりますよ。

マイナス時間の表示とエラーの解決法

残業時間の過不足を計算する際など、時間の引き算をした結果がマイナスになると、セルの中が「########」というシャープ記号だらけになることがあります。エクセルは初期設定(1900年日付システム)では、マイナスの時間を表示できない仕様になっているためです。

このエラーを回避し、マイナスの時間を表示するには、数式を少し工夫するのがおすすめです。TEXT関数とIF関数、ABS関数を組み合わせます。

具体的には、「もし計算結果が0未満なら、マイナスを取り除いた値の先頭に『-』をつけて表示し、0以上なら通常の時間として表示する」という数式を作ります。例えば、A1からB1を引く場合、=IF(A1-B1<0, "-"&TEXT(ABS(A1-B1), "h:mm"), TEXT(A1-B1, "h:mm"))のようになります。

「オプション」から「1904年から計算する」にチェックを入れる方法もありますが、これを行うとブック内の過去の日付データがすべてずれてしまうという大きなデメリットがあります。既存のファイルでは設定を変更しない方が無難かなと思います。

エクセルの時間や足し算と分単位の実務

時間の足し算1

ここからは、実際の業務でよく直面する複雑な時間計算について解説します。勤怠管理や給与計算でのミスを防ぐための重要なテクニックです。

日跨ぎ勤務の労働時間を計算する

深夜から早朝にかけてのシフト勤務など、日付を跨ぐ労働時間の計算は、単純に「退勤時間-出勤時間」をすると結果がマイナスになってしまいエラーになります。例えば、22時出勤、翌朝7時退勤の場合ですね。

これをすっきり解決するのがMOD関数(割り算の余りを求める関数)です。数式を=MOD(退勤時間-出勤時間, 1)とします。

なぜこれで計算できるのでしょうか。エクセルの時間は「1日が1」でしたよね。MOD関数で「1で割った余り」を求めることで、マイナスになった計算結果に自動的に「1(つまり24時間)」が補完され、正しく「9時間」という結果が算出される仕組みです。日跨ぎ計算の鉄板テクニックなので、ぜひ覚えておいてくださいね。

時給計算における数値への変換法

エクセルの時間計算で一番怖いのが、給与計算でのミスです。合計労働時間が「7:30」、時給が「1000円」のとき、この二つを単純に掛け算するとどうなると思いますか?答えは「312.5円」という少額になってしまいます。

これは、エクセルが「7:30のシリアル値(0.3125)」に1000を掛けてしまったためです。これを防ぐためには、時間のシリアル値を10進数の数値に変換しなければなりません。その方法はとてもシンプルで、シリアル値に「24」を掛けるだけです。

正しい給与計算の式: =労働時間 * 24 * 時給

この「24」を掛けることで、7:30のシリアル値(0.3125)は「7.5」という普通の数字に変換され、正しく「7500円」が計算されます。計算結果のセルが勝手に「時刻」表示になってしまうことがあるので、その場合は表示形式を「標準」や「通貨」に戻してあげてください。

分単位の数字に変換したい場合は?

作業工数など、時間を「分」という単位の数字に変換したい場合は、「1440」を掛けます。(24時間×60分=1440分だからですね)。例えば「1:30」に1440を掛けると「90」という数値になります。逆に「90」などの分の数値を「1:30」という時間表示に戻したい場合は、1440で割ってから表示形式を「時刻」に設定します。

指定した単位での端数処理のやり方

勤怠管理では、「出勤時間は15分単位で切り上げ」「退勤時間は15分単位で切り捨て」といったルールがあることが多いですよね。普通の四捨五入(ROUND関数)では対応できないため、目的に合わせて3つの関数を使い分けます。

目的 使う関数 数式例(15分単位の場合)
切り上げ(出勤時間の補正など) CEILING関数 =CEILING(対象セル, "0:15")
切り捨て(退勤時間の補正など) FLOOR関数 =FLOOR(対象セル, "0:15")
最も近い値に丸める MROUND関数 =MROUND(対象セル, "0:15")

これらの関数を使うことで、面倒な端数処理も一瞬で完了します。基準となる単位は"0:15""0:30"のようにダブルクォーテーションで囲んで指定するのがポイントです。

VALUE関数を用いたエラー解決法

時間の足し算をしていると「#VALUE!」というエラーが出ることがあります。これは多くの場合、エクセルが時間を「数値(シリアル値)」ではなく「単なる文字」として認識してしまっていることが原因です。

「3時間20分」と漢字交じりで入力していたり、全角で「1:30」と入力していたり、他のシステムから出力したデータを貼り付けた時によく起こります。文字扱いになっているデータはセルの中で「左揃え」になるので見分けやすいですよ。

手入力なら半角で「1:30」と打ち直すのが早いですが、データが大量にある場合はVALUE関数を使って、文字を強制的に数値(シリアル値)に変換する方法が便利です。=VALUE(対象セル)とするだけで、エクセルが正しく時間として扱えるようになります。

エクセルの時間の足し算と分のまとめ

エクセルで時間の足し算や分の計算をする際のポイントは、見えている時間と内部の数字(シリアル値)の違いを意識することです。合計が24時間を超える時は表示形式を「[h]:mm」に変更し、時給計算をする時は必ず「24」を掛けて10進数に変換することを忘れないようにしましょう。このルールさえ押さえておけば、勤怠管理も給与計算もずっとスムーズに、そして正確に行えるようになりますよ。

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