• ベストアンサー

EXCELで夜勤の合計時間を出したい!

EXCEL初心者です。 夜勤の勤務時間の合計を出したいのですが、うまくいきません。 夜の8時(20時)から日を跨いで1時半までの勤務の合計(5時間半)という計算をしたいのですが、どのような計算式を入れたらいいでしょうか? どうかよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

日をまたがる時刻どうしを計算させる場合、日またがりの時刻は 25:30 のように入力するほうが簡単になります。セルの書式は [h]:mm にしておけばよいです。 これならA1に「20:00」、B1に「25:30」でC1に式「=B1-A1」で「5:30」という結果が得られます。 なぜかというとエクセルの内部では1日はシリアル値の「1」で管理され、1時間はその1/24である「0.041666667」で表されます。 ですから日またがりのつもりで「1:30」を入力すると、ただの「1:30=シリアル値0.0625」とみなしてしまうからです。(25:30=シリアル値1.0625) もちろん日またがりの時刻を「1:30」と入力して  =IF(A1>=B1,B1+1-A1,B1+A1) でも「5:30」を得ることができますが、休憩時間などを考慮すると式が複雑になる可能性があります。(式で1を加算するのはシリアル値の「1日」相当の値です)

kitaru
質問者

お礼

とても丁寧な説明をありがとうございます! IFを使った式でやってみました。 複雑な休憩時間などはないので、これでいこうかと思います。 ついでにもしこれで15分単位切り捨ての場合、どのようにしたらよいでしょうか?

その他の回答 (4)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.5

#04です。 勤務時間を15分単位に切り捨てるならFLOOR関数を利用するのがよいでしょう。 A1に「20:00」、B1に「25:40」でC1に式  =B1-A1 だけだと、結果は「5:40」になりますが、  =FLOOR(B1-A1,"0:15") だと、15分単位に切り捨てて「5:30」が結果として得られます 蛇足ですがFLOOR関数は切り捨てですがCEILING関数は基準値単位の切り上げになります。覚えておくと案外使えます。

  • kizuki135
  • ベストアンサー率29% (162/552)
回答No.3

>>A1=20:00 B1=1:30として、C1=(C5+24)-B5 これ記入ミスですね・・・。 C1=(A1+24)-B5 要は1:30を25:30と、するのと同じなんですけどね

kitaru
質問者

お礼

ありがとうございます。 早速やってみますね。

  • kizuki135
  • ベストアンサー率29% (162/552)
回答No.2

もし日勤・夜勤混在なら、 A1=20:00 B1=1:30 =IF(B1<A1,(B1+24)-A1,B1-A1) ってのも

  • kizuki135
  • ベストアンサー率29% (162/552)
回答No.1

25:30-20:00 でNGでしょうか? もしくはA1=20:00 B1=1:30として、C1=(C5+24)-B5

関連するQ&A