条件付き書式を使えば、年月を指定するだけで「カレンダー」ができます
条件付き書式を使えば、月間行事予定表に「年・月」を指定するだけで自動的に条件に合わせて「書式」を設定することができます。
- 曜日を自動で表示する → TEXT関数
- 「土」「日」「祝日」に自動で色を付ける → DATE関数
- 月末を正しく表示する → MONTH関数(※ 2月の月末部分の表示が「29日、30日、31日」ではなく「1日、2日、3日」になるようにする)
1.「曜日」を自動で表示する
DATE関数を使って「日」をシリアル値に変換し、そのシリアル値をTEXT関数を使って「曜日」に変換します。
※ 「シリアル値」
1900年1月1日を「1」として、そこからの経過日数を数値化したもの。
「日」のデータをシリアル値にするため、「基準となるデータ」を作成します
(※ 「日」をシリアル値にした後は、必要ないので「非表示」または「色を白」にして表示しないようにしておく)
「基準になるDATA」を使って「日」をシリアル値にします
「日」の範囲に、数式 「=DATE($AB$1,$AE$1,B2) 」を入力して、横方向にコピーすることで、「日」がシリアル値になる。
TEXT関数を使って、シリアル値を「曜日」に変換します
「曜日」のデータフィールドを作成し、数式「 =TEXT(B3,"aaa") 」を入力して横方向にコピーすることでシリアル値が「曜日」に変換されます。
※TEXT関数は "aaaa"で「月曜日」、"ddd"で「Mon」、"dddd"とすると「Monday」になる。
2.「土・日」「祝日」「月の日数」に色を付ける
日付のシリアル値を使って、「日付」に色を付けます。
WEEKDAY関数が「1」になれば「日曜日」になる。
日曜日を「赤色」に塗りつぶす
シリアル値の「日」を WEEKDAY関数を使って条件付き書式の「条件」にします。
WEEKDAY関数で「1」は日曜日
- 「日」のフィールド(列)を選択する
- 「ホーム」タブを選択
- 「条件付き書式」をクリック
- 「新しいルール」を選択
- 「つぎの数式を満たす場合に値に書式設定」に数式、「 = WEEKDAY (B4) = 1 」を入力
土曜日を「青色」に塗りつぶす
WEEKDAY関数で「7」は土曜日
- 「日」の範囲に条件付き書式、「 =WEEKDAY(B3)=7 」を設定
祝日を「緑色」に塗りつぶす
「祝日」のテーブルを用意し、COUNTIF関数を使って「祝日」のテーブルを検索し「1(一致)」を条件にする。
3.月末を正しく表示させる
MONTH関数を使って、2月の場合は「29・30・31」を「1・2・3」になるようにします。
- 「日付」の欄に数式「 =MONTH(DATE($AB$1,$AE$1,AD$3))<>$AE$1 」を入力
条件付き書式の設定で「数式」を使うことにより、複雑な条件を設定することができます。
今回の例では「月間行事予定表」に数式を使った条件付き書式を設定することにより、「年月」を指定するだけで「カレンダー」を作成する方法を紹介しました。
曜日の設定などは手作業でも可能ですがミスが発生する可能性があります、設定は少し大変ですが条件付き書式は一度設定しておけば自動で書式が適用されるのでとても便利です。