自分の通っていた小学校のあるある

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

A 回答 (5件)

日をまたがる時刻どうしを計算させる場合、日またがりの時刻は 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日」相当の値です)
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/12/10 12:05

#04です。


勤務時間を15分単位に切り捨てるならFLOOR関数を利用するのがよいでしょう。

A1に「20:00」、B1に「25:40」でC1に式
 =B1-A1
だけだと、結果は「5:40」になりますが、
 =FLOOR(B1-A1,"0:15")
だと、15分単位に切り捨てて「5:30」が結果として得られます

蛇足ですがFLOOR関数は切り捨てですがCEILING関数は基準値単位の切り上げになります。覚えておくと案外使えます。
    • good
    • 1

>>A1=20:00 B1=1:30として、C1=(C5+24)-B5


これ記入ミスですね・・・。
C1=(A1+24)-B5
要は1:30を25:30と、するのと同じなんですけどね
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/12/10 11:59

もし日勤・夜勤混在なら、


A1=20:00 B1=1:30
=IF(B1<A1,(B1+24)-A1,B1-A1) ってのも
    • good
    • 0

25:30-20:00 でNGでしょうか?


もしくはA1=20:00 B1=1:30として、C1=(C5+24)-B5
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報