
交代制勤務のクルーパターンが決まっていて、それを年月日から自動的に決まっている交代制勤務パターンを表示させるものを作ります。
月の始まりのパターン開始を指定できるように「起算日」で流動的に作成します。
「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日の処理はしていません。
