先日、「webサイトのカレンダーに休日を表示させる」という業務が発生しました。デフォルトの設定で、「土日」「日」休みという設定は選択できるようになっていたのですが、どうやらそれ以外の休日は自力で設定する必要がありそうです。
設定方法はCSVをアップロード。Excel必須になります。

Excelにがて…
ってなわけで嫌煙していたExcelに挑戦です。
計算するのめんどくさいよ!って方は、Excel(2022年分)貼っておくのでコピーしてください。ここをクリック!
使う関数は「weekday」
初めて使う関数ですね。
Excelのヘルプを読む限り「日曜日~土曜日までを1~7に置き換えて計算をする」みたいなことを書かれていました。よくわかりませんが…
「日=1 月=2 火=3 水=4 木=5 金=6 土=7」として、スタートの日付に足していくようなイメージですかね。
=(7-WEEKDAY(A1))+A1
A1の日付を2022年1月1日(土)とすると


日曜日を指定する場合は
=(7-WEEKDAY(A1))+A1+1
=2022/1/1+1
=2022/1/2(日)
第2・第4土曜日を返す計算式
weekday関数の仕組みと基本式が分かったところで本題です。
計算式を入れる
A1には2022/1/1 A3に2022/2/1を入力します。
B1に=(7-WEEKDAY(A1))+A1+7
B2に=B1+14
するとB1に2022/1/8、B2に2022/1/22が返されます。
※Cのセルには内容を入力
コピー&ペースト
B1とB2をまとめてコピーしてB3セルに貼り付けます。(必要であればCのセルも)


必要な日付まで伸ばす
A1~B4までまとめてドラッグする。(必要であればCのセルも)


あとは必要な日付までオートフィルすれば完成です。
まとめ
Excelは滅多に使わないので調べて自分なりに落とし込むことが大変でしたが何とかなりました。
とりあえず
A1には初月の1日 A3に翌月の1日
B1には=(7-WEEKDAY(A1))+A1+7
B2には=B1+14
を入力すればOKです。あとは手順を踏めば計算はExcelさんがしてくれます。
ちなみに、webにアップする際はAのセルは必要ないかと思うのでBとCのセルを別シートに「値の貼り付け」をしてCSVに変換してください。
「CSVへの変換は名前を付けて保存」で選択できます。
Excel詳しい人ならもっといろんな方法知ってんやろなぁ~と思いつつもなかなか勉強は出来んのです…
2022/1/8 | 休業 |
2022/1/22 | 休業 |
2022/2/12 | 休業 |
2022/2/26 | 休業 |
2022/3/12 | 休業 |
2022/3/26 | 休業 |
2022/4/9 | 休業 |
2022/4/23 | 休業 |
2022/5/14 | 休業 |
2022/5/28 | 休業 |
2022/6/11 | 休業 |
2022/6/25 | 休業 |
2022/7/9 | 休業 |
2022/7/23 | 休業 |
2022/8/13 | 休業 |
2022/8/27 | 休業 |
2022/9/10 | 休業 |
2022/9/24 | 休業 |
2022/10/8 | 休業 |
2022/10/22 | 休業 |
2022/11/12 | 休業 |
2022/11/26 | 休業 |
2022/12/10 | 休業 |
2022/12/24 | 休業 |
おまけ
診察券などを見てみると病院などは平日と土曜日が半日休みなんてパターンもありますね。
そんな変則的なパターンもせっかくなので挑戦してみました!
木曜と土曜日休みで2022年版で
A1セル=2022/1/1
B1セル=(7-weekday(A1))+A1B2セル=(7-weekday(A1))+A1+5B3セル=B1+7B4セル=B2+7
あとはB3セルとB4セルを同時にオートフィルすればOKです。
出来ましたね。だんだん楽しくなってきたノシ