• 締切済み

エクセルで時間を配分しようとしています。

エクセルのIF関数を使って、時間の割り当てを行いたいんです。以下のように設定してみましたが、日中から深夜(10:00-3:00)に食い込む場合、どうしても1時間多くなってしまいます。正しい計算式を教えてください。そもそも構文として、あっているでしょうか? 早朝 =IF(K17="早朝"MIN(D17,"8:00")-MAX(C17,"6:00"),0) 早朝 日中食込み分 =IF(N17="日中",MAX(0,MIN(D17,"18:00")-MAX(C17,"8:00"))) 日中 =IF(K15="日中"MIN(D15,"18:00")-MAX(C15,"8:00"),0) 日中 夜間食込み分 =IF(N15="夜間",MAX(0,MIN(D15,"22:00")-MAX(C15,"18:00"))) 夜間 =IF(K16="夜間"MIN(D16,"22:00")-MAX(C16,"18:00"),0) 深夜 =IF(K18="深夜"MIN(D18+("24:00"),"30:00")-MAX(C18,"22:00"),0) 深夜 早朝食込み分 =IF(N18="早朝",MAX(0,MIN(D18+("24:00"),"32:00")-MAX(C18+("24:00"),"30:00"))) 以上、教えていただければものすごく助かります。

みんなの回答

回答No.2

とりあえずご希望に添えないかもしれませんが… C列=出勤時間 D列=退勤時間として E列に補正時間を入れます。これは日付の逆転を防ぐモノです。 E17=IF(OR(C17="",D17=""),"",IF(C17>D17,D17+"24:",D17)) F列に深夜時間(0~6時まで)これは6時以前の出勤がなければいらないかもしれませんが F17=IF(MIN(E17,"6:")-MAX(C17,"0:")<=0,"",MIN(E17,"6:")-MAX(C17,"0:")) G列に早朝時間(6~8時) G17=IF(MIN(E17,"8:")-MAX(C17,"6:")<=0,"",MIN(E17,"8:")-MAX(C17,"6:")) H列に日中時間(8~18時) H17=IF(MIN(E17,"18:")-MAX(C17,"8:")<=0,"",MIN(E17,"18:")-MAX(C17,"8:")) I列に夜間時間(18~22時) I17=IF(MIN(E17,"22:")-MAX(C17,"18:")<=0,"",MIN(E17,"22:")-MAX(C17,"18:")) J列に深夜時間(22~6時(30時)) J17=IF(MIN(E17,"30:")-MAX(C17,"22:")<=0,"",MIN(E17,"30:")-MAX(C17,"22:")) K列に深夜早朝時間(6~8時(30~32時)) K17=IF(MIN(E17,"32:")-MAX(C17,"30:")<=0,"",MIN(E17,"32:")-MAX(C17,"30:")) で時間の割り振りは出来ると思います。 あとはK列まで使ってしまったのでどうしたいのか補足をいただければ対応可能です。

aya4272
質問者

お礼

すいません。只今、検討している余裕がなく、一反お礼をさせて頂きます。誠に有難うございました。 今月中には、再度エクセルで検討してみますので、また、質問させて頂きます。 今回は、本当に有難うございました。<(__)>

aya4272
質問者

補足

有難うございます! 一度、エクセルに載せてみますので、もうしばらくお待ちください。 また、改めて補足させて頂きますので。<(__)>

回答No.1

補足願います。 あなたがやりたいことが分かりません。 Cには出勤時間?、Dには退勤時間? 表示するのはK?N? 一日の勤務時間を割り振りしたいと言うことでしょうか?

aya4272
質問者

補足

すいません。わかりにくくて… Cには、出勤時間、Dには退勤時間を入力したときに、時間を早朝、日中、夜間、深夜のように分けて、さらに、たとえば、9:00-5:00と入力した場合に、Kには「日中」でNには「8時間」と表示させたいんです。その間の時間も捻出したいのです。

関連するQ&A