1/12/2015

Excel。Calendar。土日祝祭日で色を塗り分ける万年カレンダーを作り込む その2


Excel。Calendar。土日祝祭日で色を塗り分ける
万年カレンダーを作り込む その2

カレンダーと条件付き書式

さて、前回に引き続き、土日祝祭日で色を塗り分ける万能カレンダーを作ってみようの第2回。
今回は、カレンダーの日付を入れるところから、紹介していきます。

ところで、完成はこんなカレンダーを作りたいわけです。

A列の日付を作りますので、A4をクリックしておきましょう。
ここには、DATE関数を使って日付を算出していきますので、
DATE関数のダイアログボックスを表示させます。

年には、A1。の2014
月には、B1。の12
そして、
日には、1
と入力して、OKボタンをクリックします。

すると、2014/12/1と表示されました。これで、1日は完成しました。
A1とB1を変更すれば自動的に日付が変わるようになりました。

さて次は、A5をクリックしましょう。2日目以降を作成していきます。
A4に+1をすれば、翌日になりますので、
A5には、
=A4+1 
と入力して、オートフィルで31日まで作成してもいいのですが、

これですと、2月が28日か29日。あるは、30日、31日というように月末がコロコロ変わりますので、
翌月が表示されるよりも、空白にしたいので、
今回は、単純に前日+1ではなくて、数式を考えてみたいと思います。

どのようにしたら、翌月になったのかを判断できるのか?と考えると、+1した月が、
同じかどうかを判断させればいいことに気が付きます。

そこで、IF関数とMONTH関数を使えば、表現できそうですね。

では、改めて、A5を削除して、IF関数のダイアログボックスを表示させます。

まずは、前日が空白だと、エラーになってしまうので、
空白かどうかを判定させる必要がありますので、最初にIF関数で判断させます。

論理式には、A4=""
真の場合は、””
偽の場合。
こちらには、前日と前日+1をして同じかどうかを判断させるために、
IF関数を再度入れ子にしていきます。

名前ボックスの▼をクリックして、IF関数を選択していきましょう。
改めて、IF関数のダイアログボックスが表示されてきます。

論理式。ここは、MONTH関数を使って、月を抽出して比べるようにします。

それでは、MONTH関数を名前ボックスの▼をクリックして挿入していきましょう。

MONTH関数のダイアログボックスが表示されましたら、
シリアル値には、前日のA4をクリックします。まだ、数式を作成途中ですので、
OKボタンをクリックしないようにしましょう。

このように数式を作成途中の時は、数式バーのIFをクリックしましょう。
IF関数のダイアログボックスに戻ります。

MONTH(A4)のうしろに<を入力して、再度MONTH関数のダイアログボックスを表示しましょう。

MONTH関数のダイアログボックスのシリアル値には、A4+1と入力して、
数式バーのIFをクリックすると、IF関数のダイアログボックスに戻ります。

そして、
真の場合には、””
偽の場合には、A4+1
を入力してOKボタンをクリックしましょう。

数式は、
=IF(A4="","",IF(MONTH(A4)<MONTH(A4+1),"",A4+1))
となりました。
あとは、オートフィルを使って、A34の31日までコピーしましょう。
では、B1を2と入力して末日を見てみましょう。
2014/2/28までしか表示されていませんよね。
これで、万年カレンダーが作成できました。

次回は、日付の表示形式を変更したり、曜日を表示するなどを紹介していきます。