エクセル2007で時間帯勤務状況の分かるシフト作成方法

このQ&Aのポイント
  • エクセル2007を使って、時間帯ごとの勤務状況が分かるシフトを作成する方法を教えてください。
  • 現在、5分単位で稼働人数の分かるシフトを作成していますが、休憩時間を追加したいです。
  • 具体的には、パターン1とパターン2の休憩時間をシフト内の特定のセルに表示させたいです。他に良い方法があれば教えてください。
回答を見る
  • ベストアンサー

エクセル2007で時間帯勤務状況の分かるシフトを作っています(1日1シ

エクセル2007で時間帯勤務状況の分かるシフトを作っています(1日1シート) 現在5分単位で稼働人数の分かる以下のようなシフトを作っています。 A2~20 氏名 B2~20 出勤時間 C2~20 退勤時間 E1~FE1 8:00~21:00までの5分刻みの時刻 E2~FE2 =IF(AND($B2<=E$1,$C2>E$1),"■","") の関数を利用し勤務時間に■を表示させる この表に休憩時間を追加したいと考えております 休憩時間は10パターンあり パターン1:10:00~10:15,12:00~13:00,15:00~15:15 パターン2:10:15~10:30,12:30~13:30,15:15~15:30 このように、一日の内に3回の休憩時間があります。 この休憩時間を上記のシフト内のDにプルダウンで選択させ 該当する時間に”□”を表示させることは可能でしょうか? また、不可能な場合他に良い方法はありますでしょうか 時間別に稼働人数を出したいので、塗りつぶし等関数でカウントができないものは考えておりません お手数ですが、お力をお貸しください。

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

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

時間の表示は同じでもシリアル数では合わない場合もありますので、なかなか難しいですね。 次のようにして、時間と分をプラスして分で統一して比較することでやっと解決できました。 表はご提案のとおりとしてパターンについてはその番号をA25から下行に1から20までA44セルまでに入力し、例えば1のパターンではA25セルに1、B25セルに10:00,C25セルに10:15,D25セルに12:00,E25セルに13:00,F25セルに15:00,G25セルに15:15のように入力するとします。 そこで、D2セルから下方にはパターンの番号、例えばD2セルに1と入力します。 E2セルには次の式を入力してFE2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(COUNT($B2:$D2)<>3,"",IF(OR(AND(HOUR(E$1)*60+MINUTE(E$1)>=HOUR(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),2))*60+MINUTE(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),2)),HOUR(E$1)*60+MINUTE(E$1)<HOUR(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),3))*60+MINUTE(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),3))), AND(HOUR(E$1)*60+MINUTE(E$1)>=HOUR(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),4))*60+MINUTE(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),4)),HOUR(E$1)*60+MINUTE(E$1)<HOUR(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),5))*60+MINUTE(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),5))),AND(HOUR(E$1)*60+MINUTE(E$1)>=HOUR(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),6))*60+MINUTE(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),6)),HOUR(E$1)*60+MINUTE(E$1)<HOUR(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),7))*60+MINUTE(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),7)))),"□",IF(AND($B2<=E$1,$C2>E$1),"■","")))

その他の回答 (2)

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

回答No2です。ネットのつながりが悪く別の答えを用意していましたが提示できませんでした。 次の式をE2セルいは入力するのがよいでしょう。 =IF(COUNT($B2:$D2)<>3,"",IF(OR(AND(ROUND(E$1,5)>=ROUND(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),2),5),ROUND(E$1,5)<ROUND(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),3),5)),AND(ROUND(E$1,5)>=ROUND(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),4),5),ROUND(E$1,5)<ROUND(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),5),5)),AND(ROUND(E$1,5)>=ROUND(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),6),5),ROUND(E$1,5)<ROUND(INDEX($A$25:$G$45,MATCH($D2,$A$25:$A$45,0),7),5)) ),"□",IF(AND(ROUND($B2,5)<=ROUND(E$1,6),ROUND($C2,5)>ROUND(E$1,5)),"■","")))

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

現在のシートをそのまま生かすなら、E2セルに以下の式を入力して右方向および下方向にオートフィルしてください(パターン2の場合にD列のセルに「2」と入力した場合)。 =IF(AND($B2<=E$1,$C2>E$1),IF(OR(AND(E$1<"10:15"+"0:15"*($D2=2),E$1>="10:00"+"0:15"*($D2=2)),AND(E$1<"13:00"+"0:15"*($D2=2),E$1>="12:00"+"0:30"*($D2=2)),AND(E$1<"15:15"+"0:15"*($D2=2),E$1>="15:00"+"0:15"*($D2=2))),"□","■"),"")

関連するQ&A

  • シフト勤務とは?

    シフト勤務とは? バイト経験の無い者です。 現在、バイトを探して、いろいろとネットの求人をチェックしています! 今日が応募締め切りの求人のため、教えてください!! 「シフト」と言われると、自分の都合の良い曜日、時間を指定して 仕事に入れるシステムと認識していますが、 下記のように書かれていた場合は、 この☆印3パターンのうち、どれかを選ぶということなのでしょうか。 これだと、どれを選んでも、最後の時間までいることが出来ないのです。 例えば「10:00~15:00」のように、希望を出すことは可能なのでしょうか?? (a)シフト勤務 (交替制、休憩70分含む) ☆9:45~18:15 ☆10:45~19:15 ☆11:45~20:15 (b)短時間勤務(休憩70分含む) 9:45~16:45 (c)ナイト勤務(休憩なし) 18:15~20:15又は21:15 アドバイス、どうぞよろしくお願いしますm(_ _)m

  • エクセルでシフト表

    エクセルでシフト表を作りたいと思っています。 その中で、 出勤時間と退勤時間を入力したら勤務時間が計算される、ような関数は可能でしょうか? 例)10時~17時まで働いたら7時間と表示される。 更には休憩時間を入力しておけば純労働時間を算出してくれる、等。 多分出来るのでしょうけどエクセルにはあまり詳しくないので方法がわかりません。 また、勤務時間を入力することで勤務時間が横棒表示されるような機能ってあるのでしょうか? もしかしたらけっこう基本的な事を聞いているのかもしれませんが、よろしくご教授ください。

  • 勤務時間の計算

    いつもお世話になっています。 お知恵を貸してください。 勤務シフト別の実働時間を算出する方法を探しています。 B列に出勤時間(仮に9:15) C列に退勤時間(仮に17:00) D列に実働時間 を表したいと思っています。 算出したいのは拘束時間ではなく実働なので、休憩時間を除いて計算したいのですが、勤務シフトにより3種類の休憩時間があります。休憩時間の種類は、 6時間未満・・・0:00 6時間超8時間未満・・・0:45 8時間・・・1:00 となっています。 このような場合、どうすれば計算が可能でしょうか? どなたか教えてください。 よろしくお願いします。

  • エクセルでシフト管理と勤務表を作成したい

    いろいろフリーソフトを探しましたがぴったりくるものがありませんでした。 作り方を教えて頂ければ幸いです。よろしくお願いいたします  A列:シフトパターン(A13:00~18:00、B10:00~18:00、C9:00~18:00)  B列:実際の出勤時間(手入力)  C列:実際の退社時間(手入力)  D列:実際の休憩時間(手入力)  E列:実働時間(B・C列から時間を読み取って自動計算)  F列:法廷内残業時間(A列からシフト外で勤務した時間の自動計算)  G列:法定外残業(8時間を超えて勤務した時間の自動計算)

  • Excelで勤務表を作りたいのですが

    Excelで勤務表を作りたいのですが、なかなか関数がうまく使えません。 時間計算をご存知の方、教えて下さい。 入力列 A:出勤時刻 B:退勤時刻 C:勤務開始時間 *始業9:00のため、9時より以前の出勤時刻は9:00、9:00以降の出勤はその時刻を表示する。 D:休憩時間 E:実働時間(始:C/終:B/マイナス:D) F:時間内勤務(8時間まで) G:時間外勤務(8時間を超過したところから・22時迄) H:深夜残業(22時以降の勤務時間) このような説明でお分かり頂けるでしょうか。 よろしくお願いします。

  • エクセル2011でシフト管理表作ってますが・・・

    出勤時間時間を”A列”に 退勤時間を”B列”にした時 ”C列”に実務時間(退勤時間から出勤時間を引いて、一時間分の休憩を引いたもの) ”D列”に超過勤務(実務時間が9:00以上の勤務時間) A1=10:30、 B1=23:30  C1==IF(OR(B1="",A1="",AND(B1="",A1="")),"",B1-A1-(1/24)) ※=12:00 (※B1-A1-(1/24)は一時間休憩のため) D1の数式はどのようにしたらいいでしょうか? ※勤務時間が9:00に満たない場合、また=0のとき VALUE!、0:00を出さず、空欄表示にしたいのですが・・・ お願いいたします

  • Excelで勤務時間の計算をしたいです。

    すでに作られている勤務表を前任者から受け継ぎましたが、 すべて手入力しているので関数を使ってもっと効率化を図りたいと思います。 皆様の知恵をお貸し下さい。 出勤時間→B列 退社時間→C列 出勤日数のカウント→D列 残業時間→E列 条件として ・定時は8:00~17:00に対して1時間の休憩をとる。 例:B列   C列  D列  E列   8:00 17:00  1  [空白] ・実働時間9時間を超える場合は残業時間に入れる 例:B列   C列  D列  E列   8:00 18:30  1   1.5 ・実働時間9時間以上の場合は1時間休憩を差し引き実働時間8時間としてそれに対して 出勤日数のカウント「1」 実働時間4時間以下の場合は休憩時間を差し引かずに 出勤日数のカウント「0.5」 実働時間4時間超え、9時間未満のものに対しては休憩時間に関係なく 出勤日数のカウント「1」 (ここが一番厄介な点かと思われます。4時間以内ならカウント0.5、4時間を越えたものはカウント1です。) 例:B列   C列  D列  E列   8:00 12:00  0.5  [空白]   8:00 15:00  1  [空白]   8:00 17:30  1   0.5 ・深夜勤務もあるが、その場合の残業は手動で計算するので、出勤日数のカウントだけでOK 例:B列   C列  D列  E列  23:00  5:00  1  [空白] このような状態なのですが、計算の列などを増やして(あまり増やしたくはないのですが・・・) 関数をいれてある程度自動で計算をさせたいのです。 休憩時間はほぼ1時間と決まっているのであまり列は増やさずに計算させたいです。 簡単な関数は知っていますが、表示形式など詳しいことは分かりません(残業時間1時間半を1.5と表示するなど・・・) ちなみに出勤日数のカウント、残業に関しては1や1.5などの数値を 他の時給計算で使っています。 巧く説明できなくてすみません((汗)) どのような関数を組んだらよいか、ご指導を宜しくお願いします_(._.)_

  • エクセルで勤務時間を計算したい

    例えば、 セルAに出社時間) 9:00 セルBに退社時間) 16:00 と記入し、 2時間ごとに休憩15分あるので、 それを自動的にセルCに表示させたいです。 この場合ですと、 セルCに休憩時間) 0:45 そして、 拘束時間から、休憩時間を引いた勤務時間をセルDに表示させたいです。 セルDに勤務時間) 6:15 そして、 時給を仮に800円として、日給をセルEに表示させたいです。 *15分で200円の計算です セルEに日給) 5000円 マクロは使わないでお願いします。

  • エクセルで残業時間計算

    たくさんの質問が既出なのですが、行き詰ってしまったのでヘルプをお願いします。 B2に出勤時間 C2に退勤時間 D2に休憩時間 E2に勤務時間 F2に残業時間 を表示します。 15分刻みで時間を計算しますがB2、C2、D2には自分で15分ごとのキリのいい時間を入力します(19:50退社でも19:45と入力します)。 今、E2には =C2-B2-D2 という数式を入れてあります。 F2には =FLOOR(E2,"0:15")-"8:00" という数式を入れてあります。残業時間は単純に勤務時間-8時間と考えたからです。 ところが、ウチの会社は時として遅番や早帰りなどがあり、一日の労働時間が8時間に満たない場合があります。これは1ヶ月トータルで考えて残業時間からマイナスになります。F2はこの数式では「####」になってしまいます。マイナス時間も表示させて、最終的に表の下の方で合計を出したいのです。 この場合F2の数式はどうすれば良いのでしょうか?FLOORは相応しくないと言う事でしょうか?

  • EXCELで出退勤務シフト表を作っているのですが、、、

    (^^;)行き詰ってしまい、困り果ててます。 EXCELで出退勤務シフト表を作っているのですが、、、 日付と個人名を選択し、出勤時間・退勤時間・休憩時間を入力すると右側の表に反映するように設定してますが、上手くいきません。 その右側の表のAさんの出勤時間のセルの式ですが、 =IF($M$70=$D36,VLOOKUP$A4,$M$71:$V$113,2,FALSE)," ") =if(日付が一致したら、個人名と出退勤時間と休憩時間を入力した一覧から、2行目の出勤時間の行を入力、それ以外は、スペースを入力) というつもりで組みました。 表示はされますが、 ・日付を変えると消えてしまう!という問題 退勤時間の方も ・式を退勤時間の3行目が表示されないという問題 勤務時間は更に、 ・退勤時間-出勤時間=勤務時間が#####となってしまうという問題 となっていて、どうしたらいいのか行き詰っています。 良い方法がありましたら、是非、教えてください。 本当に本当にお願いします。 また、こういう問題を実際に教えて頂ける教室や 場所などご存知でしたら、是非、教えてください。 どうぞよろしくお願いします。

専門家に質問してみよう