Excelで超整理手帳風カレンダー!西暦から祝日リストを作る関数

超整理手帳のレフィルを探すのが毎年大変なのでExcelで自作しました。祝日の算出式は別のカレンダーでも使えます。西暦から一括で祝日を割り出し、該当日の色を変えます。

Excelで超整理手帳風カレンダー!西暦から祝日リストを作る関数

スケジュール管理はGoogleカレンダーに移行しつつ、10年くらい超整理手帳を使ってます。

ただ、超整理手帳って取次店が少ないから ちょいちょい買い逃して走り回ることになるんですよね。で、面倒になったのでExcelでそれっぽいのを作ることにしました。楽をするためならどんな苦労も厭いません。

初年度の去年は急ぎ「指定の日付を入れると自動生成される54週分のカレンダー」というのを作ったので、今年は「基準の西暦から祝日リストを生成してカレンダーに反映させる」を拡張しました。

祝日の算出式は汎用なので、他の体裁のカレンダーにも使えます。

万年カレンダーを作る

書き込める手帳本体は大した関数を使わないので、ほぼデザインのみです。

まずはエクセル・ホーガン氏と協力して好みのマス目を作り、オートフィルでびゃーっとコピーして1年分を生成します。

設定用シートを活用する

Excelは日付周りの関数と書式が充実してるのでありがたいんですが、毎年のことなのでなるべく楽をすることを考えます。具体的には設定用のシートを別に作って、基準となる日付を参照させましょう。

今回は超整理手帳風にしたかったので、一年の始まりが元日じゃないことに注意です。

1カ所の設定で万年カレンダーを作る

超整理手帳は「月のハンパなところから始まる週間カレンダー」という仕様です。Excelで週間カレンダー作ると閏年判定しなくて良いのもお手軽なんですよね。

去年自分が作った最後の日から続きが書けるので、無駄が出ないの何気に嬉しい。「設定シートのA1セル」に書き込むと、全ての日付が書き換わります。( ・ㅂ・)و

細かい部分は書式設定を活用

Excelは書式設定が充実してるので、表示の切り替えは関数を使うより書式設定で対応してしまいましょう。

そんで何ヶ月も経って機能拡張からの動作不良を起こしたとき、原因が書式設定で「うがー!」ってなるのは目に見えてるので、設定用シートの空き地にコメント的なメモを盛っておくのがポイントです。

一週間前の自分は基本的に他人と思うべし。(;・`д・´)<いわんや去年のをや

祝日をリストアップする

そしてここからが本題です。大変優秀なExcel君とは言っても、さすがに日本の祝日までは知らんので教えるためのテーブルを作ります。

※ 2016年から山の日が追加されたので注意!

基本の祝日
基準年 2016
元日 1月1日
成人の日 1月第2月曜
建国記念の日 2月11日
春分の日 春分点の日
昭和の日 4月29日
憲法記念日 5月3日
みどりの日 5月4日
子供の日 5月5日
海の日 7月第3月曜
山の日 8月11日
敬老の日 9月第3月曜
秋分の日 秋分点の日
体育の日 10月第2月曜
文化の日 11月3日
勤労感謝の日 11月23日
天皇誕生日 12月23日

基準となる西暦年は「設定シートのA1セル」に入ってるので、ここから各々の祝日を作ります。

日付が決まっているタイプの祝日

祝日には、日付が決まっているタイプのものがありますね。基準年だけ呼び出して後は決め打ちです。

元日

【Excel】=DATE(A$1,1,1)

元日です。1月1日。

ちなみに「元旦」の「旦」の字は日の出を示す象形文字なので、「元旦」は「「元日の朝」を指します。「元旦の夜」とか言わないのでご注意。

なんで日の出を重視するかというと、和暦は日の出を日付変更の基準にしたからです。(西洋で前夜祭の習慣があるのは日没が基準だから)

建国記念の日

【Excel】=DATE(A$1,2,11)

建国記念の日は2月11日です。

昭和の日

【Excel】=DATE(A$1,4,29)

昭和の日は4月29日。昭和の旧天皇誕生日です。

1989年(平成元年)から2006年(平成18年)までは「みどりの日」だったので、この辺から祝日の認識が怪しくなってますよね…。

憲法記念日

【Excel】=DATE(A$1,5,3)

憲法記念日は5月3日です。

みどりの日

【Excel】=DATE(A$1,5,4)

みどりの日は5月4日です。今さらだけど他に別の名前はなかったのか。

こどもの日

【Excel】=DATE(A$1,5,5)

こどもの日は5月5日です。

山の日

【Excel】=DATE(A$1,8,11)

山の日は8月11日。2016年からの新しい祝日です。

「海の日に対して山も欲しい、でもこれ以上休日が増えるのも…」という絶妙な理由がすごい。お盆前に突っ込んで休みを取りやすくしたのは良いとして、お盆明けの方がダメージ回復に効くのでは…と思ったのは内緒です。

文化の日

【Excel】=DATE(A$1,11,3)

文化の日は11月3日。明治の旧天皇誕生日です。

勤労感謝の日

【Excel】=DATE(A$1,11,23)

勤労感謝の日は11月23日。神事の新嘗祭です。意味的には収穫祭に相当します。

あと世界各国の収穫祭がこの時期に行われることについて「偶然である」みたいな記述をたまに見かるんですが、収穫祭なんだから北半球なら晩秋にやるのは当たり前だと思うんだがどうなんだっ。(;・`д・´)

天皇誕生日

【Excel】=DATE(A$1,12,23)

12月23日。今上天皇に平成ってつけちゃアカンやで。ちなみに大正天皇の誕生日は8/31だそうです。

第二月曜日系の祝日

ハッピーマンデーに伴って増えた「第○月曜日」というタイプの休日ですね。第二月曜と書いたけど、第三月曜も同数あります。

成人の日

【Excel】=DATE(A$1,1,MOD(7-WEEKDAY(DATE(A$1,1,1),3), 7)+2*7-6)

成人の日は1月第二月曜日。第二月曜日として取り得る値は「8日から14日」の間です。

またWEEKDAY関数によって曜日が判るので、基準年の元日から曜日を求めて第2月曜を割り出します。

海の日

【Excel】=DATE(A$1,7,MOD(7-WEEKDAY(DATE(A$1,7,1),3), 7)+3*7-6)

海の日は7月第三月曜日。同じく取り得る値は15日から21日までです。

敬老の日

【Excel】=DATE(A$1,9,MOD(7-WEEKDAY(DATE(A$1,9,1),3), 7)+3*7-6)

敬老の日は9月第三月曜日です。

体育の日

【Excel】=DATE(A$1,10,MOD(7-WEEKDAY(DATE(A$1,10,1),3), 7)+2*7-6)

体育の日は10月第二月曜日です。

春分の日&秋分の日

春分の日と秋分の日は、毎年微妙に変わるので注意します。

春分の日

【Excel】=DATE(A$1,3,INT(20.69115+(A$1-2000)*0.242194-INT((A$1-2000)/4)))

春分の日は3月20日ごろです。天文学的に見ると毎年の位置関係は同じなんですが、自転のタイミングで日付が変わるので、そこを調整します。

…とか偉そうに書いてますが、国立天文台が示してる公式に従いました。2000年との差分で見てるので、別の年を基準にした式だと使ってる定数が微妙に違うと思います。

秋分の日

【Excel】=DATE(H$1,9,INT(23.09+(A$1-2000)*0.242194-INT((A$1-2000)/4)))

秋分の日は9月23日ごろです。こちらも国立天文台が出してる公式に従います。

条件付き書式で色を変える

祝日のリストが出来たら、万年カレンダーに戻って条件付き書式で色を付けます。

書式 > 条件付き書式…

まず、それぞれの休日ごとにとりうる日付を選択します。次に条件付き書式設定よって特定条件に合致した日のみ赤い色を付けるよう指示します。

条件付き書式で値が一致したとき色を付ける
条件付き書式で値が一致したとき色を付ける設定

Excel万年カレンダーに祝日を設定した

そんなわけで、Excel万年カレンダーに基準日を入れるとカレンダーと祝日がバーッと反映されるようになりました。ちなみに今のところ振替休日の判定はしてません。

わたくしがエクセル・ホーガン氏と対峙する忍耐力は2~3時間が限度なので、続きの作り込みは来年やります鬼ガハハ。w(・∀・)w

超整理手帳の考え方は好きなんですけど、取次店が少ないから買いそびれると探すのが大変&毎年細かく仕様が変わるのが地味にストレスだったんですよね。

Excelでカレンダーを自作しよう
超整理手帳の仕様変更は攻めすぎ

万年カレンダーとしてみると、まだ微妙に手動調整が必要なんですが、これはこれで気が楽になりました。おちさんの次期バージョンにご期待下さい。

好きなフォントで作れるってだけでめっちゃ和むやで。おすすめ。(´ω`*)