Excelで祝日一覧を作成してみた
Excelで祝日一覧を作成してみようと思います。営業日計算で必要になったので、作ってみようと思い立ちました。
今回はExcel関数で作っていきたいと思います。
藤井 直弥,大山 啓介 SBクリエイティブ 2017-01-28
営業日計算を想定
Excelには営業日を計算する、Workday関数というものがあります。休日を控除し、指定した日の前後○営業日を指定してくれるという関数です。しかし、デフォルトでは土日しか除いてもらえません。
そこで祝日一覧を自作する必要があります。
できれば別シートを作成して、祝日を書き込んでいきましょう。今回は2017年を想定しています。
祝日を指定
休日には国民の休日の中には固定の祝日と変動する祝日、それに振替休日があります。
固定の祝日
固定の祝日は楽ですね。その名の通り固定なので、DATE関数を使ってそのまま打ち込んでしまいましょう。
祝日名 | 日付 | 関数 | ||
---|---|---|---|---|
元旦 | 1月1日 | =DATE(2017 | 1 | 1) |
建国記念の日 | 2月11日 | =DATE(2017 | 2 | 11) |
昭和の日 | 4月29日 | =DATE(2017 | 4 | 29) |
憲法記念日 | 5月3日 | =DATE(2017 | 5 | 3) |
みどりの日 | 5月4日 | =DATE(2017 | 5 | 4) |
こどもの日 | 5月5日 | =DATE(2017 | 5 | 5) |
山の日 | 8月11日 | =DATE(2017 | 8 | 11) |
文化の日 | 11月3日 | =DATE(2017 | 11 | 3) |
勤労感謝の日 | 11月23日 | =DATE(2017 | 11 | 23) |
天皇誕生日 | 12月23日 | =DATE(2017 | 12 | 23) |
変動する祝日
祝日名 | 日付 | 関数 |
---|---|---|
成人の日 | 1月第2月曜日 | =DATE(2017,1,14)-WEEKDAY(DATE(2017,1,14),3) |
春分の日 | 特殊 | - |
海の日 | 7月第3月曜日 | =DATE(2017,7,21)-WEEKDAY(DATE(2017,7,21),3) |
敬老の日 | 9月第3月曜日 | =DATE(2017,9,21)-WEEKDAY(DATE(2017,9,21),3) |
秋分の日 | 特殊 | - |
体育の日 | 10月第2月曜日 | =DATE(2017,10,14)-WEEKDAY(DATE(2017,10,14),3) |
特殊な日
春分と秋分は特殊な日付設定になっています。とりあえず2099年までは下記式で大丈夫です。
春分
=DATE(2017,3,23)-MATCH(2017,CHOOSE(MOD(2017,4)+1,{0,1900,1960,2092},{0,1901,1993},{0,1902,2026},{1903,1927,2059}))
秋分
=DATE(2017,9,25)-MATCH(2017,CHOOSE(MOD(2017,4)+1,{0,1900,2012},{1901,1921,2045},{1902,1950,2078},{1903,1983}))
振替祝日
振替祝日は休日(主に祝祭日)が他の休日(日曜日、他の祝祭日など)と重なった場合、月曜日以降を休日にして休日が減らないようにする制度です。
2017年は1月1日が日曜日のため、1月2日が振替休日になります。