みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2007-12-10 11:19:14

QNo.3586171

すぐに回答ほしいです

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

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

投稿日時 - 2007-12-10 11:37:03

お礼

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

投稿日時 - 2007-12-10 12:05:23

ANo.4

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.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関数は基準値単位の切り上げになります。覚えておくと案外使えます。

投稿日時 - 2007-12-10 17:16:10

ANo.3

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

投稿日時 - 2007-12-10 11:30:59

お礼

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

投稿日時 - 2007-12-10 11:59:44

ANo.2

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

投稿日時 - 2007-12-10 11:28:05

ANo.1

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

投稿日時 - 2007-12-10 11:23:11

あなたにオススメの質問