- 締切済み
エクセルで不規則勤務職場の勤務表を作りたい
どうやったらエクセルで作れるのか、 どなたか教えていただけないでしょうか? 勤務条件は下記のとおりです。 また、不足事項がありましたら、ご指摘いただきたいと思います。 4週8休(4週間の間に8日休日があります)で、 その期間に1~6の条件を満たすこと。 1.国民の祝日が土日に当たる月は、週休日を別に割り振ります。 2.職員は土、日、祝の出勤が割り振られた場合、前か後ろに休みがずれる。 3.職員は三人ずつ、グループを作り土、日、祝の勤務を行う。 4.土日勤務のグループとは別に、二人一組の遅番の勤務を割り振ります。 5.3と4の勤務は、平均に当たるようにする。 6.会社が休むのは、12月29日~1月3日の期間だけです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Sinogi
- ベストアンサー率27% (72/260)
現状は手作業で割り振りをしているとの事ですが、その時には何も規則性を感じませんか? 極めて実務的な内容なので、このような問題の解決は担当者が一番知っていることだと思います。 先の回答にもあるように全てを一度に解決しようとせずに出来ることを少しずつ取り組むのが返って近道な気がします。 比較的頻繁に感じる規則性をユーザー関数に変換できればとりあえずの方向が見えるのではないでしょうか?
- imogasi
- ベストアンサー率27% (4737/17069)
回答そのものではないので、がっかりされるでしょうが、ご参考になればと思います。どうぞ読んでください。まあSEの頭をよぎる心象でしょうか。 エクセルで作れる->多分関数式を用いることが念頭にあると思うが多分無理でしょう(理由は後述)。4日間回答がないことからもそれを裏付けると思う。VBAでプログラムを組むなら出きるが、回答常連のXさんなどの回答も載らないところ見ると、本問は業務と絡んだ課題を解決しようとしていて、原理的なものでないので、回答が複雑になり、長時間かかるからと思う。仕事が絡んだ現実は複雑です。「原理的な問題」と私がいうのは、もう少し狭い範囲のコンピュターソフトに絡んだ問題を言い、「日から曜日を割り出す方法はどうしたらいいですか」といった問題を言っています。本問はいわば応用問題です。私が職場で自分で組んで使ったり、使ってもらうレベルの課題で、構想から始まって、他の仕事をしながらなので、数日(週?)はかかると思う。まず1-6に整理されていますが、これもなかなか出来ないことで立派なことだと思います。但し1-6の条件をさらにコンピュター向けに整理すべきです。 <エクセル・シート最終アウトプットの問題> (1)1人1シートにするのか。(山田さん分1枚とか。)1シートに社員全員を表示するのか。グループを1シートにするのか。 <グループの問題・視点> (2)職員3人づつのグループを作り->毎月変えるのか固定か。退職者が出たときは。 (3)グループコードをどうするか。A,B・・とか01,02、・・とか。 <従業員マスタの問題・視点> (4)そして従業員マスタは別に有り、それからデータを引っ張るのか 今マスタになければ、またはマスタがなければ、グループコードを各人別に入力する必要あり。 <土日祝勤務グループの問題・視点>-「祝」はモレか? (5)職員3人づつのグループを作り->毎月変えるのか固定か。退職者が出たときは。 (6)グループコードをどうするか。A,B・・とか01,02、・・とか。 そして従業員マスタは別に有り、それからデータを引っ張るのか 今なければ、グループコードを各人別に入力する必要あり。 <週の問題・視点> (7)週の考え方->曜日の考え方。曜日が割り出せるサブルーチンの作成。 <国民の祝日の視点> (8)日を決めた時国民の祝日であるかを割り出せるサブルーチンの作成。 <会社全体休みの視点> (9)固定されているらしいから、考えやすい。 <4週8休の視点> (10)会社全休は年末・年始だけですか。だとすると個人レベルでは、休みの日はばらばらなんですか。 個人ごとに休みを決めるルールはどうするか。 これをプログラムで実現するロジックをどうするか。 <遅番の視点> (11)遅番をどう表現するか。コードの問題等。 <遅番回数の視点> (12)これをプログラムで実現するロジックをどうするか。 <遅番回数平均化の視点> (13)これをプログラムで実現するロジックをどうするか。 <休みをずらす視点> (14)この意味がよく理解できず、私には伝わらない。 これをプログラムで実現するロジックをどうするか。 <土日祝勤務の視点> (15)これをプログラムで実現するロジックをどうするか。これも平均化する必要があるのでしょう。 ---- <結論> (1)ルールの視点が複数ある。->複雑。 (2)従業員相互が絡むグループの存在(2)や回数平均化(13) ->個人だけでルールをプログラム化できない。->何か スッキリ表現するロジックやし掛けを考える必要あり。いきなりIF 文等で始めると、頭がくらくらしてきて、結果自信が持てず、プログラムに誤りが多くなる。 これだけのことを、エクセルの関数でやるのは無理でしょう。
補足
imogasiさん、回答いただきありがとうございます。 現在は、エクセルで1ヶ月の表を作り、 4週8休の日にちの間に、二重罫線を引いて、手で割り振りをつけています。 今後引継ぎをするに当たり、パソコンで自動的に 割り振りが出来たら便利だな、と感じましたので、質問を載せてみました。 エクセルで解決が出来ない、ということが確認できましたが、 何とかしたい気持ちもあります。 次に担当する人が大変なので・・・。 例えば、全部を解決するのではなく、一部分を解決する方法はありますか? どうぞ宜しくお願いします。
補足
Sinogiさん、回答ありがとうございます。 一番煩雑なのが、4週間の間に週休を8つ作り、 休みと休みの間が6連勤務以上繋がらないこと、でしょうか。 ユーザー関数について、少し調べてみたのですが、 敷居が高くてよく分かりません・・・。 やはり、難しいのでしょうか・・・。