関数や条件付き書式を用いることで土日祝日を平日と区別しやすくしつつ、年が変わっても簡単に更新できます。
今回は、下記の機能を備えたカレンダーの作成方法を紹介します。
作成するカレンダーの機能の概要は次の通りです
- 年を指定すると自動で曜日が反映される
- うるう年の2月末日の表示が自動で切り替わる
- 指定した祝日が反映される
使用するExcelの機能は次のものを使用します。
- 条件付き書式
- Date関数
- Month関数
- If関数
- Text関数
作成のポイントがわかればデザインは自由に変更できますので、是非参考にしてください。
カレンダーを作成する
では順を追ってカレンダーの作成方法を説明していきます。
手順1 カレンダーのデザインを決める
まずはカレンダーのデザインを決めます。
今回は、下記のデザインにしています。
カレンダー部分は、上段に日付と曜日を書けるようにしています。
また、各月の枠の数は月の日数分用意しています。2月については、うるう年を考慮した29日分用意しています。
手順2 年・祝日情報を記入する
続いて、カレンダーを作成する年と祝日の情報を記入します。この部分は年が変わった際に情報を更新する場所となります。
手順3 日付と曜日を記入する(2月29日以外)
まずは日にちを記入するセルの書式を変更しておきます。
セルの書式設定→ユーザー定義と進み、種類の欄に半角で”d”と記入します。
これでセルには日付のうち日にちだけが表示されるようになります。
次に日付を記入します。まずは各月の”1日”に相当するセルに日付を記入します。1日のセルには、Date関数を用いて日付を記入します。
画像では、Date関数の引数として年の記入されているセルが相対参照となっていますが絶対参照としても大丈夫です。
絶対参照にした方が、他月のセルにコピーする際に便利です。
つづいて、2日以降のセルには数式で”=前日のセル+1”を記入します。
曜日は、TEXT関数を利用します。引数の値には日付のセルを相対参照で指定します。
また、表示形式は”aaa”と記入します。これで日付に対応した曜日が表示されるようになります。
手順4 日付と曜日を記入する(2月29日)
うるう年の2月29日は、他の日付と異なりうるう年以外は表示されないようにします。
今回は、IF関数を用いて表示・非表示を切り替えるようにしています。
IF関数の設定を下記のようにすることでうるう年なら表示、うるう年以外であれば非表示と切り替わります。
《IF関数の設定》
条件:Month(“前日の日付”+1<>2)
真:””
偽:”前日の日付”+1
上記の前日の日付は、今回の例ではセル”AF9″となります。
また、条件の”2″は2月かどうかを判断しています。
曜日については他の日付と同様に記入します。日付が表示されている状態であれば曜日が表示され、空白であれば曜日は表示されません。
手順5 セルに条件付き書式を設定する(1月分)
最後にセルに条件付き書式を設定します。ここの設定で、土日祝日の色分けを行います。
今回は次のように色分けをしています。
土日祝日の色分け
土曜日:青(太字)
日曜日:赤(太字
祝日(土曜日除く):赤(太字)
土曜日については、祝日であっても青色となるようにしています。祝日の色を優先したい場合は、条件付き書式の優先度を変更すれば対応可能です。
以下、手順を説明します。まずは土曜日の設定からです。
条件付き書式の設定(土曜日)
条件付き書式については、こちらの記事でも説明しているので参照してください。
Excelのホームタブ→条件付き書式→新しいルール→数式を利用して書式設定するセルを決定と進みます。
条件となる数式を記入します。
数式は=曜日のセル=”土”とします。今回は、1月1日の曜日がセルE4に書かれているので曜日セルはE4となります。
そして、セルにも条件をコピーするために曜日せるの”行部分”のみ参照を固定します。行部分の参照を固定するには、A1形式の場合アルファベットと数字の間に”$”を挟みます。
今回の場合、E$4となります。
なお今回のカレンダーは、各月ごとに横に向かって日付・曜日が記入されているので参照する行を固定していますが、縦方向に作成された場合は列を固定します。(列を固定する場合はアルファベットの前に”$”を書く)
つづいて、条件に合致したときの処理を指定します。上記の状態で”書式”をクリックします。
スタイルで”太字”、色で”青色”を選択します。また、「塗りつぶし」タブをクリックし、セルの塗りつぶしを水色に設定します。
設定が終わったら「OK」を押してひとつ前の画面に戻ります。
「OK」を押し、条件付き書式の設定をいったん終了します。
再度ホームタブ→条件付き書式の設定と進み、今度は「ルールの管理」と進みます。そうすると、先ほど設定したルールが表示されています。
このルールについて、「適用先」を変更します。
今の状態では、E3というセルにのみルールが適用されている状態なので、先ほど設定したルールを1月の日付・曜日欄に適用範囲を広げます。
適用範囲を変更し、「OK」を押して終了すると、土曜日の日付と曜日のセルが青く変わっています。
条件付き書式の設定(日曜日)
日曜日については、土曜日と同様の方法で条件付き書式を設定します。
条件付き書式の設定(祝日)
祝日については、最初の数式の部分が土日と異なります。
祝日の場合は、各日付が祝日一覧の中に含まれているかを調べ、含まれていれば書式変更を行うことになります。
この確認には、CountIf関数を使用します。CountIf関数は、検索範囲に含まれる検索条件の数を返す関数です。
検索範囲を”祝日一覧”、検索条件を”日付”として与え、戻り値が0でなければ祝日の判断をします。
実際には、次のように条件付き書式の数式を記入します。
=COUNTIF(祝日一覧の範囲(絶対参照),日付セル(行のみ固定))<>0
フォント・セルの塗りつぶし、適用範囲の設定は前述の土日と同様に行います。
手順6 ルールの順番を入れ替える
条件付き書式は、複数のルールを登録したとき、何もしていなければ最後に登録したルールが最も優先度が高くなっています。
今回の場合、優先度が祝日>日曜>土曜の順となっているので、土曜日が祝日だった場合は祝日のルールが優先され赤く表示されます。
今回は、土曜は祝日であっても青く表示したいので土曜日の優先順位が最も高くなるように並び替えます。
優先順位の変更方法は、ホームタブ→条件付き書式→ルールの管理とすすみ、表示された画面上部右側の▽△ボタンで操作可能です。
土曜日のルールを選択し、△で一番上に移動すれば作業完了です。
手順7 セルに条件付き書式を設定する(2月以降)
2月以降の条件付き書式の設定は1月のセルの書式をコピー・修正して適用していきます。これは、ゼロから設定するより若干手間が省けるためです。
条件付き書式をコピーする際に修正する部分は、参照を固定している部分です。ただし、祝日一覧については、参照箇所を変える必要がないのでそのままにしておきます。
したがって、2月以降の月に条件付き書式をコピペした際に修正する個所は次の部分となります。
- 曜日セルの参照部分(土・日でそれぞれ修正)
- CountIf関数の検索条件部分(祝日のみ)
- 条件付き書式の適用範囲(土日祝日)
また、わかり易くするために、コピー元は1月1日のセル、コピー先は各月の1日のセルとします。
書式のみをコピーする方法はコピー先に張り付ける際に、貼り付けのオプションで”書式設定”を選択します。
曜日セルの参照部分を変更する
まずは、土日の曜日セルの参照部分の変更についてです。1日のセルへ書式を張り付けたら、張り付けたセルを選択した状態で、ホームタブ→条件付き書式→ルールの管理へと進みます。
すると、条件付き書式のルールが3つ登録されているのでそのなかから土曜日のルールを選択し、ルールの編集をクリックします。
数式の曜日セルの参照部分を変更します。
今回の場合、2月の曜日セルは9行目に書かれているのでE$4からE$9へ書き換えます。なお、行の参照は固定のまま($はとらない)にします。この理由は、適用範囲が”日付”と”曜日”の2つの行を対象としているためです。
もし行の参照を固定としない($をとる)と、日付の行で参照するセルが日付のセルの行となり、曜日の判断ができなくなります。
参照部分を書き換えたら、”OK”を押して完了です。
日曜日のルールについても、同様に変更します。
CountIf関数の検索条件部分を変更する
つづいて、祝日のルールについてCountIf関数の検索条件の参照部分を書き換えます。
まず先ほどと同様に、ルールの編集画面まで進みます。
そしてCountIf関数の引数のうち、検索条件部分を書き換えます。今回の場合は、2月の日付セルは8行目にあるのでE$3→E$8へ書き換えます。
書き換えが完了したら”OK”をクリックします。
条件付き書式の適用範囲を変更する
最後に3つのルールの適用範囲を変更します。
適用範囲の対象は、日付の行と曜日の行です。
なお、2月についてはうるう年の29日分も範囲に含めておきます。
一つのルールの適用範囲を変更したら、あとはコピペで処理可能です。
これらの作業を残りの月すべてに行います。
これで概ねカレンダーの作成は完了します。
手順8 2月29日の処理(セルの枠(罫線)の表示・非表示を切り替える)
最後に通常の年か、うるう年かでセルの枠(罫線)の表示・非表示を切り替える処理を追加します。
①他の日と同様に枠(罫線)を設定します。
②条件付き書式で日付のセルが空白の場合における罫線の処理を追加します。
③書式は罫線タブを選択、左のみ実線とし、その他は線無しにします。
④条件付き書式の適用範囲は、2月29日のセルのみにします。
これで設定は完了です。
まとめ
今回は、条件付き書式を用いてExcelでカレンダーを作成する方法を紹介しました。
毎年使いまわしが簡単にできるカレンダーがあると非常に便利です。
作り方のポイントがわかれば、カレンダーのデザインは自由に変更できるので使いやすいカレンダーの作成に挑戦してみてください。
そのほかのExcel記事はこちらから
コメント