サラリーマンの投資と仕事研究所

サラリーマンのビジネス手法研究とその実践記録

Excelで祝日一覧を作成してみた

Excelで祝日一覧を作成してみようと思います。営業日計算で必要になったので、作ってみようと思い立ちました。

今回はExcel関数で作っていきたいと思います。

営業日計算を想定

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日が振替休日になります。