Excelを使っていて、土曜日、日曜日、祝日に色を付けたいときありますよね。
色を付けたい土曜日、日曜日、祝日が少なければ、それぞれのセルを選択して、フォントの色の変更や塗りつぶしをすればいいと思いますが、色を付けたい土曜日、日曜日、祝日の数が多い場合、ひとつひとつフォントの色の変更や塗りつぶしをするのは大変です。
そこで、条件付き書式を活用して、土曜日、日曜日、祝日に色を付けていきたいと思います。
土曜日・日曜日に色を付ける
さあ、条件付き書式を使って土曜日・日曜日に色を付けていきましょう。土曜日・日曜日に色を付けるにあたって、知っておいていただきたい関数がありあす。
WEEKDAY関数
WEEKDAY関数は、日付を渡すとその曜日を判定してくれる関数です。
WEEKDAY関数の書式は次の通りになります。
シリアル値
シリアル値には、日付を入力します。
[週の基準]
週の基準は戻り値の種類になります。省略が可能です。
1を指定、または省略をすると、戻り値は次の通りになります。
戻り値 | 曜日 |
1 | 日曜日 |
2 | 月曜日 |
3 | 火曜日 |
4 | 水曜日 |
5 | 木曜日 |
6 | 金曜日 |
7 | 土曜日 |
今回の例
さて、今回は、図1のようなカレンダーを作成しながら、書式設定をする方法を確認していきましょう。

図1:カレンダー例
図1の日にちの部分ですが、単なる数字ではなく、日付となります。数式バーを見ていただくとわかると思います。1と入力されている部分(C4のセル)の数式バーには「2017/5/1」なっていることがわかりますね。
これは、表示形式の設定で日の部分のみを出力するように設定したためです。設定方法は、右クリック→「セルの書式設定」をクリックします。
「セルの書式設定」という画面が出てくるので、「表示形式」のタブを選択→分類「ユーザー定義」を選択→種類のところに「d」と入力してください(図2)。あとはOKを押せば、「2017/5/1」と入力しても、日の部分のみが出力されるはずです。

図2:日付の表示形式の設定
土曜日・日曜日に色を付ける
さて、本題に戻ります。まずは、日曜日に色を付けていきましょう。今回、カレンダーのB4からH8を対象範囲としたいので、B4からH8を選択した状態で、ツールバー「ホーム」→「条件付き書式」→「新しいルール」をクリックしてください。
新しい書式ルールという画面が出てくるので、「ルールの種類を選択してください」という欄の「数式を使用して、書式設定するセルを決定」をクリックします。

図3:条件付き書式の土曜日の設定
日曜日のときに、書式設定をするという設定にしたいので、「次の数式を満たす場合に値を書式設定」に下記を入力します。
WEEKDAY関数の引数ですが、選択している範囲B4:H8の左上のセルであるB4を入力します。
左上のセルを引数にとることで、B4のセルにはB4を引数に、C4セルについてはC4を引数にとるようになります。(相対参照になります。)

=WEEKDAY(B4)=1の意味は、B4セルが1、すなわちB4セルが日曜日ならば書式設定をするということになります。最初の=は数式を入力しますという意味になります。
書式の設定は図1の書式というボタンをクリックすると設定画面がでてくるのでそこで設定します。図1の例では日曜日ということでフォントと背景を赤色に設定してみました。
土曜日に色を付ける
次は土曜日に色を付けていきましょう。日曜日のときと同様に、B4からH8の範囲を選択して、条件付き書式を設定していきましょう。
先程と同様の手順で図3の画面まで開いてください。今度は、土曜日のときに書式設定をしたいので、次の式を入力します。
上記の式を「次の数式を満たす場合に値を書式設定」に入力します。そして、書式を設定(この例では土曜日なので青色にしました。)して、OKボタンを押します。
これで完成!と思いきや、空白のセルまで青色の書式が適応されているでは、ありませんか。
空白セルが土曜日判定されてしまう理由
実は、空白や数値の0は、日付の形式に変換すると、1990/1/0になります。この1900/1/0の曜日が土曜日になっています。
そのため、WEEKDAY関数を使うと空白が土曜日と判定されていたのです。
対策方法
空白セルに条件付き書式で設定した書式を適用しないようにする必要があります。
そのために、「次の数式を満たす場合に値を書式設定」に「空白セル以外」かつ「土曜日のとき」というような式を書きましょう。

図4:条件付き書式の土曜日の設定2
図4をご覧ください。
という数式が書かれています。
(B4<>””)についてですが、<>は「~以外」という意味になります。また、「””」は空白を意味します。つまり、(B4<>””)は「B4が空白以外」ということになります。
また、*(アスタリスク)は、論理積を表します。いわゆる、ANDですので、日本語でいうと「かつ」という意味になります。
つまり、上記の式は、「B4が空白以外」かつ「曜日が土曜日」のときに書式を適応するという意味になります。
上記の式を入力することで、空白が土曜日判定されなくなり、空白に書式が適応されなくなったはずです。
祝日に色を付ける
Excelでは祝日を判定する関数がありません。そこで、あらかじめ祝日の表を作成し、その表に日にちがあれば、日にちに色を付けるという発想で対応します。
図1をご覧ください。カレンダーの横に5月の祝日の表があります。
この表の中にある日だけ、色を付けるという設定をしていきましょう。先ほどと同様にB4からH8の範囲を選択して、条件付き書式から図4の画面まで開きましょう。「次の数式を満たす場合に値を書式設定」には、下記のように入力します。
COUNTIF関数は範囲において検索条件と一致したセル数を求める関数です。詳しくは、「Excelの関数について(2)」をご覧ください。

COUNTIF関数の書式は次のとおりでした。
=COUNTIF($J$4:$J$6,B4)=1は、$J$4:$J$6の範囲にB4セルの内容が何個あるかを数え、1つあれば書式を適用する、つまり、祝日リストにB4セルと同じ日付が1つあれば、書式を適用するということになります。
また、範囲$J$4:$J$6については固定をしたいので絶対参照で、検索条件のB4については固定をしたくないので相対参照で記述します。
図5のように入力し、OKを押せば、祝日にも書式設定で設定した書式が適用されます。

図5:祝日に色を付ける
さいごに
条件付き書式に優先順位があります。祝日を土曜日の書式設定で上書きしないように気を付けましょう。
コメント