- ベストアンサー
勤務予定表の作成について
お世話になります。下記の質問をソフトウェアのカテゴリ(Excel,Access)で質問させていただきましたが、まず、数学的なところを固めるべきとアドバイスを受けまして、こちらで質問させていただきます。いいヒントがありましたらよろしくお願いします。 次のような月間のパート勤務予定表を作成したいのですが、 1.パートタイムの従業員がA,B,C,D,E,Fの6人いる。 2.出勤日は土日を除く平日のみである。 3.パート従業員は各人1ヶ月に15日出勤する。各人の出勤しない日は予め前月中に決定している。 4.仕事の担当は肉屋、魚屋、八百屋、レジの4種類である。 5.A,B,C,D,E,Fがひと月の間に4種類の担当をなるべく同じ日数となるようにしたい。 今は、手作業でカレンダーにまず各人の欠勤日を記入し、仕事の担当別にAとかBとか名前を適当に入れていって全員がなるべくどの担当も同じ回数になるように作っています。結構時間がかかっていますので、少しでも省力化できればとかんがえています。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBAを使用する、というのを前提として進めます。 (でないと出来ないです) まず、担当をナンバリングします。 1:肉屋 2:魚屋 3:八百屋 4:レジ 次に、Aさんの出勤日に対して、担当を順番につけていきます。 例えば… 日付 1 2 3 4 5 6 7 8 9 10 11 12 13 14 担当 1 2 休 3 4 休 休 1 休 休 2 3 4 5 というイメージで、最初の日は1、次の出勤日は2、と いうようにします。(土日も休みとして扱ってしまいます) これで条件の5がほぼ達成されます。 ちなみに、Bは2,3,4,1…という順にし、 Cは3,4,1,2…という順にすれば、担当が重複 しにくくなります。 ここでは、一日のある仕事の担当者数の条件が 入っていませんので考慮していませんが、 この条件が追加される(普通仕事では必要人数を割り振りますよね) 場合は、担当割り振り時に人数が足りているかどうかの 判定が必要です。 (完全に公平に決定できるかどうかは難しいですが) 実際にはこれで出した表を「原案」として、 調整してやる必要があるかと思いますが…
その他の回答 (1)
- oui1012
- ベストアンサー率25% (25/97)
全自動にするのなら,VBAで組まないと…ですね. アルゴリズムとしては,肉屋の仕事を A,B,C,D,E,F,A,B,C…という風に割り当てていき, その後,魚屋の仕事を B,C,D,E,F,A,B,C,D…という風に割り当てていき… としていけば,それっぽいものができそうです. でも,それぞれの人の仕事の種類別日数が ぱっとわかる表があれば かなり楽になるんじゃないかと思います. (例えば,"Aさんの肉屋","Aさんの魚屋"…っていう集計です)
お礼
ご回答ありがとうございます。 アルゴリズムを組むとなるとかなり大変のようですね。 後半でおっしゃるとおり種別日数があればかなり楽になりそうです。ありがとうございました。
お礼
ご回答ありがとうございます。 いただいたご説明で、なんかムムムと閃きそうです。 アドバイスありがとうございました。