• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル勤務表を作成したい)

エクセル勤務表を作成する方法

このQ&Aのポイント
  • エクセル勤務表の作成方法について教えてください。勤務時間や休憩時間などを計算して表示する方法が知りたいです。
  • 今まで作成していたエクセル勤務表に新しい条件が追加されました。9時前の出勤も残業時間に含める必要があります。どのように計算すればよいでしょうか?
  • エクセル勤務表の実働時間を計算する方法について教えてください。特定の時間帯の勤務時間は休憩時間を引かないようにしたいです。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

時間帯を4つに分けて考えるのがよいでしょう。次の例を示しますので、参考にすればよいでしょう。 B1セルにはA時間、C1セルにはB時間、D1セルにはC時間、E1セルにはD時間と入力します。 A2セルには開始時間、A3セルには終了時間と入力します。 B2セルには例えば6:00、B3セルには9:00、C2セルには9:00、C3セルには12:00、D2セルには13:00、D3セルには18:00、E2セルには18:00、E3セルには例えば24:00とそれぞれ入力します。 A5セルには出勤時間、B5セルには退勤時間、C5セルにはA時間、D5セルにはB時間、E5セルにはC時間、F5セルにはD時間、G5セルには実働時間と入力します。 A6セル以降には出勤時間を、B6セル以降には退勤時間を入力します。 C6セルには次の式を入力してF6セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF($A6="","",IF((MIN($B6,B$3)-MAX($A6,B$2))<0,0,MIN($B6,B$3)-MAX($A6,B$2))) G6セルには次の式を入力し、下方にオートフィルドラッグします。 =IF(A6="","",SUM(C6:F6)) 一度ここに示した通りに試験をしてみてから実際に応用するとよいでしょう。 のようにすればよいでしょう。

arekomatta
質問者

お礼

ありがとうございます!いま試してみました。 その他の項目もあるので色々とアレンジしてみます! 大感謝です!

arekomatta
質問者

補足

改めまして、教えていただきありがとうございました! 9:00以前の出勤も残業に加える指示のほか、 深夜勤務の時間帯も入るようにせよ、と改めて指示がありましたが、 KURUMITOさんの方法なら、簡単に対応出来ました。 どうやら、かなり変則勤務の方々がいることが昨日判明しました。 当初、指示出しの方から頂いた表と指示は、どんどん変化するので 力不足で対応出来ませんでした。 色々勉強させて頂きました、本当に感謝です!

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

以下のように分類するのが簡単なのではないでしょうか。 午前中の労働時間 =MIN("12:00"*1,D11)-MIN(C11,"12:00"*1) 午後の労働時間 =MAX("13:00"*1,D11)-MAX(C11,"13:00"*1) 18時以降の残業時間 =MAX(D11-"18:00",0) 9時前の残業時間 =MAX("9:00"-C11,0)

arekomatta
質問者

お礼

どうもありがとうございました! 9時前・午前・午後・18時以降と4列に区切って試してみました! 18時以降と9時前は、よい感じに時間トータルが出ました。 ただ、例えば朝6:00出勤したり、夜22:00まで残業したとすると 午前の列と午後の列の部分で 9時前からと18時以降の時間もカウントしてしまい、ダブってしまいます。 多分、ここから自分でアレンジしていけば良いのでしょうが、 時間がなく・・。 一番最初のお返事を頂いた方の方法で上手く行ったので そちらで行きたいと思います! MAXとMINの使い方が解っていなかったので、 今回大変勉強になり、感謝しています。 どうもありがとうございました!

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

質問の範囲なら、 E列 =IF(OR(C2="",D2=""),"",IF(AND(C2>=TIME(9,0,0),D2>=TIME(18,0,0)),TIME(18,0,)-C2,IF(AND(C2>=TIME(9,0,0),D2<=TIME(18,0,0)),D2-C2,IF(AND(C2<=TIME(9,0,0),D2>=TIME(18,0,0)),TIME(18,0,0)-TIME(9,0,0),D2-C2)))-TIME(1,0,0)) G列 =IF(OR(C2="",D2=""),"",IF(AND(C2<TIME(9,0,0),D2>TIME(18,0,0)),TIME(9,0,0)-C2+D2-TIME(18,0,0),IF(AND(C2<TIME(9,0,0),D2<TIME(18,0,0)),TIME(9,0,0)-C2,IF(AND(C2>TIME(9,0,0),D2>TIME(18,0,0)),D2-TIME(18,0,0),"")))) でいいが、 添付の 7行以下のようなことはないのか。

arekomatta
質問者

お礼

回答、感謝いたします。 いま色々試行中です。また後でお返事しますね!

arekomatta
質問者

補足

改めまして、教えていただきましてありがとうございました! ・7行以降のことは、細かい時間は入れないようにしてもらいます。 ・遅刻、早退、などありますし、  残業に加えて深夜も入れるように再度指示がありました。  どうやら、かなり変則に勤務する方もいるとのことでした。  (後から指示が変わるのと、質問の時のフォーマットは指示出しを  して下さった方の作表でした) と、いうことで 最初の方の方法がベストなことが解り、作り変えました! 今回色々勉強させていただきました。 お時間を頂いたことに感謝いたします! ありがとうございました!

関連するQ&A