交代制勤務パターンを自動的に作成する

交代制勤務のクルーパターンが決まっていて、それを年月日から自動的に決まっている交代制勤務パターンを表示させるものを作ります。

月の始まりのパターン開始を指定できるように「起算日」で流動的に作成します。


「B2」に年

「B3」に付き

「C7:AG7」に日

上記を「DATE($B$2,$B$3,指定された日)」で日付を出します。

真中の表は実際にパターンが適用されたものです。

一番下の表は基本となる交代制勤務パターンです。


INT関数は日付を整数に整える関数です。

MOD関数は余数を算出する関数で年月日の日付から13までの数を年月日から導き出します。つまり、年月日に沿って13までの数を割り振るこちができます。

MOD関数ですが、最初が「0」から始まるので最後に+1を足して1~13までとしています。

HLOOKUPを使って日付から13のパターンから同じ序数にあるものを検出します。

HLOOKUPはVLOOKUPの方向が違う関数です。バーチカルとホリゾンタル(垂直と水平)です。

HLOOKUPでは基本交代制勤務パターンの縦方向で同じ日付からA、B、Cクルーそれぞれの値を検出しています。

2022年1月1日のAクルーのパターン

=HLOOKUP(INT(MOD(DATE($B$2,$B$3,C$7+$C$13),13)+1),$E$12:$Q$15,2,FALSE)

2022年1月2日のAクルーのパターン

=HLOOKUP(INT(MOD(DATE($B$2,$B$3,D$7+$C$13),13)+1),$E$12:$Q$15,2,FALSE)

2022年1月1日のBクルーのパターン

=HLOOKUP(INT(MOD(DATE($B$2,$B$3,C$7+$C$14),13)+1),$E$12:$Q$15,3,FALSE)

関数が入っているのは下図の赤枠内のみです。

年や月を変えると自動的にパターンも置き換わります。

月によって変わる31日の処理はしていません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です