条件付き書式については こちら などでもご紹介していますが、今回は予定表やカレンダーを曜日によって色分けをしたい、という場合のお話です
土日については、その1 でご紹介しているのでそちらをご覧ください。
カレンダーの行のうち、祝日一覧に記載のある日付に色をつけたいとします。
今回の完成イメージはこちら (カレンダーの黄色の部分が祝祭日)↓
準備
カレンダーの祝祭日や組織特有のお休みに書式を設定したいのは右側のカレンダーです。
左側に、カレンダーで色をつけたい祝祭日の一覧をテーブルで用意しています。
祝日の一覧は、カレンダーとは別のワークシートに作ることが多いですが、今回は同じワークシートに作りました。
- 条件付き書式を設定するセル範囲を選択して、リボンの [ホーム] タブの [スタイル] グループの [条件付き書式] をクリックし、[新しいルール] をクリックします。
- [新しい書式ルール] ダイアログ ボックスの [ルールの種類を選択してください] で [数式を使用して、書式設定するセルを決定] を選択します。
[ルールの内容を編集してください] の [次の数式を満たす場合に値を書式設定] に、祝日一覧の日付 (B 列) に、カレンダーの日付 (D 列) があるかどうかを確認するための数式を入力して、[書式] をクリックします。
数式→「=COUNTIF($B$4:$B$21,$D4)」
今回書式を設定したいのは D ~ F 列までの 3 列、行は 4 ~ 34 行目です。
まずは、選択しているセル範囲の 1 行目のことを考えます。
1 行目 (セル範囲 D4 から F4) のことを考えると、セル D4 の日付が祝日一覧に存在するかどうかを確認したいので、「D 列」を固定するために「$D4」としています。 行番号である「4」を固定しないのは、5 行目以降にも書式を適用したいからです。
また、祝日一覧の日付の範囲は、カレンダーの 5 行目以降でも同じ範囲を参照したいので「$B$4:$B$21」のように絶対参照にしています。
- [セルの書式設定] ダイアログ ボックスの [塗りつぶし] タブを選択して任意の色を選択して [OK] をクリックします。
文字の色を (も) 変えたいのであれば、[フォント] タブで色を選択してください。
- [新しい書式ルール] ダイアログ ボックスのプレビューで書式を確認して [OK] をクリックします。
- 選択していたセル範囲に条件付き書式が設定されます。
祝日一覧に含まれる日付の行 (セル) に書式が適用されます。
おまけ
今回は、祝日一覧をテーブルに変換してあります。
このようにするメリットは、お休みにしたい (= 色を付けたい) 日付が増えた場合に編集の手間が少ない、ということです。
(お休みを祝日一覧に追加するだけ)
テーブルのすぐ下の行にレコードを追加するとテーブルの範囲が拡張されますが、条件付き書式の数式が参照している範囲も自動的に拡張されるため、条件付き書式そのものを編集する必要がありません。
ただし、ほかのワークシートにあるテーブルを参照する場合は、参照する範囲に名前を設定するか、INDIRECT 関数を使った数式にしなければなりません。このあたりは、こちら の記事の最後のおまけと同様の考え方です。
1 つの祝日一覧を使って、ブック内にいくつもカレンダーを用意したい場合はこちらが使いやすいかも。
祝祭日が一か所にまとめられているので、メンテナンスもしやすいです。
今回のカレンダーはあえて祝祭日の列を作っていないので、何の日?というのがわかりません。
こんな風に↓カレンダーに祝祭日の列を作ってどんなお休みなのかを記載しつつ、COUNTIF 関数で対応する、というのもありだと思います。
石田 かのこ