「webサイトのカレンダーに休日を表示させる」という業務が発生しました。
デフォルトの設定では
・土日休み
・日曜休み
の2パターンしかありません。
欲しいのは
第2・4土曜日
どうやら祝日を含め、自力で設定する必要がありそうです。
というわけで、
アップロード用のCSVを作りましょう。
エクセルに手入力すれば1~2時間で終わると思うよ!
なんてことにならないように、
今回は「5分」で完成させる方法を紹介します。
エクセルにがて…
こんな人も大丈夫。
年に数回しかエクセルを使わない素人でも出来たから大丈夫だよ
同じ手順をふめば必ずできます。
もちろん土曜日以外、他の曜日でも応用可能なのでぜひ参考にしてください。
計算するのめんどくさいよ!って人は、
Excel(2024年分)貼っておくのでコピーしてください。ここをクリック!
第2・第4土曜日を返す計算式はweekday関数を使えばOK
weekday関数を使えば、第2・第4土曜日だけを計算できます。
weekday関数ってなに?
という疑問はあるかと思いますが、詳しくは後述することにして
まずは式をお伝えします。
エクセルを開いたら
A1セルに2024/1/1
A3セルに2024/2/1
と入力
B1セルに=(7-weekday(A1))+A1+7
B2セルに=B1+14
と入力
必要なら
C1、2セルに「休業日」などの項目もいれておきましょう。
(一番最後にまとめてやってもOKです。)
B1セルには2024/1/13
B2セルには2024/1/27
↑がそれぞれ表示(計算)されましたね。
B1セル~B2セルをまとめてコピーして
B3セルに貼り付けます。
A1~B4までまとめてドラッグして
必要な日付までオートフィルすれば完成です。
webにアップ(インポート)するときはA列が必要ないので
B列(あればC列も)別シートにコピペしましょう。
あとはCSVに変換してアップロードするだけです。
CSVへの変換は「名前を付けて保存」で選択できます。
計算結果を別のセルやシートにコピペする場合は必ず「値を貼り付け」でペーストしてください。
そのまま貼り付けると再計算されて値が狂います。
計算結果をコピペしたい方は以下の表をコピーしてください。
2024/1/13 | 休業 |
2024/1/27 | 休業 |
2024/2/10 | 休業 |
2024/2/24 | 休業 |
2024/3/9 | 休業 |
2024/3/23 | 休業 |
2024/4/13 | 休業 |
2024/4/27 | 休業 |
2024/5/11 | 休業 |
2024/5/25 | 休業 |
2024/6/8 | 休業 |
2024/6/22 | 休業 |
2024/7/13 | 休業 |
2024/7/27 | 休業 |
2024/8/10 | 休業 |
2024/8/24 | 休業 |
2024/9/14 | 休業 |
2024/9/28 | 休業 |
2024/10/12 | 休業 |
2024/10/26 | 休業 |
2024/11/9 | 休業 |
2024/11/23 | 休業 |
2024/12/14 | 休業 |
2024/12/28 | 休業 |
weekday関数とは
関数を使って、第2第4土曜日を計算する方法をお伝えしました。
ではweekday関数がどのように計算されているか説明します。
まず、覚えておきたいのは以下の2つ
・日曜日~土曜日までを1~7に置き換えて計算
・公式がある
これからの内容を理解すれば、他の条件でも対応できます。
日曜日~土曜日までを1~7に置き換えて計算
weekday関数は曜日を数字に置き換えて計算します。
日=1 月=2 火=3 水=4 木=5 金=6 土=7
↑は覚えてください。
どうして日曜日が1なの?
とかそういう理屈は考えずに、こういうものだと思ってください。
公式がある
公式があるので考え込まずサクッと代入しましょう。
=(表示させたい曜日の数字-weekday(A1))+A1
この公式を使えば
1月1日が何曜日であろうと、その週の日曜日が
「A1」に入力した日付を基準に、表示させたい曜日の日付が計算
できます。
試しに2025年元旦、その週の日曜日を計算してみましょう。
日曜日は「1」
A1=2025/1/1
B1=(1-weekday(A1))+A1
計算結果は2024/12/29
ということは
2024年~2025年にかけての年末年始休みは9連休の会社が多そうですね。
関数って本当に必要なの?
もっと簡単にできそうな気がするんだけど…
上の式を見る限り、この関数の必要性が感じられない
他の方法は絶対にない!
とは言い切れません。
例えば、毎週土曜日なら
A1=2024/1/6
B1=A1
B2=B1+7
あとはB2をオートフィルするだけでOKです。
では今回の本題、第2・第4土曜日を計算する場合はどうでしょう?
わかった!
A1=2024/1/13
B1=A1
B2=B1+14
最初に第2土曜日を指定して、14日後(2週間後)を足していく計算方法
一見大丈夫そうですが、結論は不可です。
理由は第5週があるとズレるから
実際にやってみた画像はコチラ↓
各月のどこかは(基本的には1日がベター)
絶対に指定しないとズレるんですよね。
なのでweekday関数を使っています。
まとめ~曜日の指定はweekday関数を使おう~
今回は、エクセルのweekday関数を使って第2、第4土曜日を返す計算式を紹介しました。
覚えることは2つ
・日曜日~土曜日までを1~7に置き換えて計算
・=(表示させたい曜日の数字-weekday(A1))+A1
とりあえず
A1に初月の1日 A3に翌月の1日
B1には=(7-weekday(A1))+A1+7
B2には=B1+14
を入力すればOKです。
あとは手順通りにすればエクセルが勝手に計算してくれます。
今回の方法を応用すれば別の曜日でも対応できますよ。
ぜひ参考にしてください。