2012年4月8日日曜日

万年カレンダーの製作

我が家ではカレンダーというものは購入したことがありません。
カレンダーを壁に貼ると、見た目にごちゃごちゃしてしまうし、何よりもお金がもったいないからです。いちおう、その月の分の予定だけは夫婦で共有する必要があるので、一月分だけパソコンで印刷して冷蔵庫に貼り、予定を書き込んで使っています。
(これが「ごちゃごちゃ」しているじゃないか、というツッコミは無しってことで。。。)

で、今までは必要になったら私がEXCELで作成するようにしていましたが、毎度のことで面倒になったので、このたび万年カレンダーを作ってみました。
おそらく、車輪の再発明となっているでしょうが、EXCELの各種関数の使い方を覚えるには、良い題材でした。
普段はEXCELマクロ(VBA)を使うことも多いのですが、今回はマクロを一切使用せず、EXCELのシート関数のみで構築してみました。

まずは、「設定」シート。
入力箇所は1箇所のみで、西暦の年を入力するだけです。
入力された西暦年に基づき、全ての休日を自動で求め、テーブルを作成します。
ここでは、ハッピーマンデーの算出、毎年の暦で変化する「春分の日」「秋分の日」の対応、祝日が日曜だった場合の「振替休日」、祝日と祝日に挟まれた「国民の休日」などなど、わりと良い頭の体操でした。

続いて「カレンダー」シート。
カレンダー表示は、日曜始まりと月曜始まりの2種類を用意しました。
こちらも、全て自動で生成されます。
前述の祝日テーブルをVLOOKUP関数で検索し、祝日であれば赤文字にする、などしてます。

以下のリンクよりダウンロード可能です。
検証がいい加減で、バグが残ってる可能性がありますので、各位の責任でご使用ください。

0 件のコメント:

コメントを投稿