勤務表をEXCELで作ってみる!!

2001/9/15 by KOMPas


 下記にあるような勤務表をEXCELでつくってみます。
このサイトからダウンロード可能なEXCELファイルには、2段階の使い道をテストできます。
   (1)人力で考案した勤務表の人数チェックで使う
   (2)ルールをコンピュータに記述して、勤務表作成の(ある程度の)自動化をおこなう。

(注意!)このファイルには、VBAで記述した簡単なマクロが含まれます。今現在(2001/9/15 19:00)ウィルス感染していませんが、なんらかの経由で感染する可能性は捨てきれません。ウィルス感染に対する対策に不安があり、それでもこれを試してみたい、とお考えの方がいらっしゃいましたら、VBAコードをHTMLから見ることができますので、ご自分で入力してみてください。(eNissi-Systemユーザーの方は、CD−ROM2001/9/16以降分にtramper.xclを含みます。)

 この表の説明
上記はEXCELsheetのイメージ画像です。これ自体はクリックしても何もしません。下段のリンクボタンでtramper.xclを表示させると、EXCELがインストールされているコンピュータなら動作します。マッキントッシュでも動くはずです。
左上の「△へ初期化」(黄色部)をダブルクリックすると、○やら×が△に変わります。黄色部以外の場所をダブルクリックすると、簡単なシミュレートをおこなって勤務表を作成します。ランダム関数の初期値をかえると、いくつか違うシミュレートを行うことができます。
またあらかじめ、何ヶ所か「△」を「×」や「○」「●」にしておくとそこは『確定』したものとして、ルールにしたがってシミュレートをおこないます。
上記のテストはVBAマクロでおこなわれます。
【勤務チェック】の数値はEXCEL関数 COUNTIF をつかっていますので、VBAを記述しなくても簡単に作成できます。
【棟チェック】【班チェック】はVBAでcountXという簡単な関数を使ってシート上で計算させています。(countXは別頁からコピーできます。)

「自動作成」をさせたいと考えなければ、手動入力した勤務表のチェックは、EXCELを使うとそれほど難しくはないはずです。(多くの施設で既に使ってあります。)
「自動作成」をEXCELで実現させるには、矛盾のないルールをつくっておいて、マクロで(根性で)記述すれば一応は実装可能です。
但し、現時点の多くの施設の実情から言えば、「矛盾のない」ルールを押しとおすことはおそらくほぼ無理ではないか、という気がします。
このサイト上tramper.xclでは、手入力、手修正を可能にして、シミュレートには、
   (1)宿直「●」は各棟1人、休み「×」は通常日はおおむね3人になるような確率で、ランダムにふりわけるようになっています。
   (2)このシートでは、「自動作成時」に各班の人数チェックは顧慮していません。
   (3)宿直「●」した次の日は必ず「×」
   (4)7日以上連続出勤はしない
   (5)確率計算は毎日の確率くじびき(?)方式で、結果として月間の休み「×」や宿直数「●」に若干のばらつきがでても顧慮していません。
   (6)そのほか幾つかのルールを勝手につくっています。

このシートを修正して使うのは自由です。
根性と時間があれば、たいていの条件はマクロで記述可能です。(ルール作りが肝心です。)
もしコンピュータが勤務表を完璧に自動作成できて、施設もまた、コンピュータ通りにやろう!という発想は、実際は適切な循環期間を設定してこれを繰り返す方法をとることとあまり変わりがないと思います。(矛盾のないルールであれば、これを実現する「適切な循環期間」というものがおそらく存在するはずです。)

 EXCELSHEET tramper.xclの表示/ダウンロード
 VBAコード

 勤務表自動作成マクロの無料作成キャンペーン

 サンプル 仮想入所施設コンパス学園の勤務表自動作成EXCELSHEET
           WEB表示(288KB)
           自己解凍型圧縮ファイル(75KB)
           勤務表作成のルール    

          操作説明とパラメータ

 勤務表作成においての2つの考え方 パターン方式と確率方式

 勤務表とeNissi-System 雑記