【初月無料キャンペーン中】gooドクター

エクセルで出勤シフト表を作りたいのですが、ひと月の表を作成し職員20名で1日当たり約14名、3日以上連続で出勤しない様に制限を掛けてランダムで均等に(出or休)表記出来ますでしょうか?

gooドクター

A 回答 (2件)

こんにちは



>ランダムで均等に表記出来ますでしょうか?
「ランダム」と「均等」は必ずしも両立しません。
(制限がある時点で、正確には「ランダム」とは言い難いですけれど)

「規則的」でよければ、簡単にできます。

添付図では、C2セルに
=MID("休出",SUMPRODUCT((MOD(COLUMN(A1)*14+ROW(A$1:A$14)+5,20)+2=ROW(A2))*1)+1,1)
の式を入力し、下方、右方にフィルコピーしてあります。

※ 見た目にランダム風にしたければ、値を固定してから行をシャッフルすれば、そのように見えるかもしれません。
「エクセルで毎月の出勤シフト表を簡単に作り」の回答画像1
    • good
    • 1
この回答へのお礼

ありがとうございます。
私の日本語力がなく、伝わりにくかったと思います。
均等には出・休日日数を皆に平等にしたかったのです。
でも、そのようになっていますので良かったです。
参考にさせて頂き、シャッフル等も試してみたいと思います。

お礼日時:2021/05/07 16:58

できますよ。


そのためのアルゴリズムを考える必要がありますけどね。

自分なら面倒なので20人を4グループに分けて処理するかな。
  月 火 水 木 金 土 日
A  〇 ● 〇 〇 〇 ● 〇
B  〇 〇 ● 〇 〇 〇 ●
C  〇 〇 〇 ● 〇 〇 〇
D  ● 〇 〇 〇 ● 〇 〇
こんな感じ。
曜日は7つあるので、翌週には勤務するグループは異なる配置になる。
  月 火 水 木 金 土 日
A  〇 〇 ● 〇 〇 〇 ●
B  〇 〇 〇 ● 〇 〇 〇
C  ● 〇 〇 〇 ● 〇 〇
D  〇 ● 〇 〇 〇 ● 〇
これをランダムというならランダムって事じゃないのかな。

あとはグループに所属する人の名前を書いたり「〇」「●」を適当な文字に置き換えれば良い。

・・・
自分でアルゴリズムを考えないと、仕様が変わった時(人数が変わったとか、連勤できる日数が変わったとか、欠勤や有休で休む人とその代わりの人の割り当てとか)にまた他人を頼ることになります。
まあ、それでも良いんだけど、周りの人たちから能無し扱いされるからオススメはしない。
    • good
    • 0
この回答へのお礼

ありがとうございます。
アルゴリズムの勉強をしたいと思います。

お礼日時:2021/05/07 17:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング