こんにちは。
#3とほぼ同工異曲ですが、私が以前、同様の作業をやっていたときの例を掲げておきますので、よかったら参考にしてください。
シート2に次のような表を作り、挿入→名前→定義で、例えば「起算日」と名前をつけ、参照範囲は「=Sheet2!A:B」としておきます。
この表のA列は、「月」で、B2に「=EDATE(B1,1)」と入力し、下行にコピーします。
なお、表はほぼ1年ごとに参照済(処理済)の行を削除し、下行に順次「月」と式を加えていきます。
A B
12 05/12/21
1 06/1/21
2 06/2/21
3 06/3/21
4 06/4/21
5 06/5/21
6 06/6/21
7 06/7/21
8 06/8/21
9 06/9/21
10 06/10/21
11 06/11/21
12 06/12/21
↓
シート1のB1を「月」入力のセルとし、当月起算日の月の数値を、12、1、のように入力します。
A1に次の式を入力します。なお、A1の表示形式は「yyyy/」とし、A1とB1間の罫線は、線なしにします。
=VLOOKUP(B1,起算日,2,FALSE)
B1に入力した月数を検索値として、A1にその月の21日が入力されます。
C1の式は
=A1 とします。
D1に次の式を入力し、AD1までコピーします。
=IF(C1="","",IF(DAY(C1)=20,"",C1+1))
C2に次の式を入力し、AD2までコピーします。
=IF(C1="","",TEXT(C1,"aaa"))
なお、蛇足ですが、シート3に10年分ぐらいの休日一覧表を作っておき、シート1のC1:AD2に条件付き書式
=MATCH(C$1,Sheet3!A:A,0)
と定義し、休・祝日のセル色・文字色が変わるよう設定しておりましたので、参考までに付け加えておきます。
お礼
mshr1962さん、有難う御座います 出来ました 即、投稿に感謝します