エクセルでカレンダーや勤怠表を作っているときに、土日祝日のセルに手動で色をつけていて手間がかかると感じたことはありませんか。
この記事では【Excel】エクセルで土日祝に自動で色をつける(条件付き書式・WEEKDAY・祝日判定)方法について解説していきます。
ポイントは
・条件付き書式で祝日リストと照合して色をつける
・土日祝をまとめて色分けする
です。
それでは詳しく見ていきましょう。
エクセルで土日祝に自動で色をつける方法1【WEEKDAY関数で土日を判定する】
WEEKDAY関数は、日付の曜日を数値で返す関数です。
この数値を条件付き書式の条件として使うことで、土日のセルに自動で色をつけられます。
書式は以下のとおりです。
第1引数の「シリアル値」には曜日を判定したい日付を指定します。
第2引数の「種類」には数値の返し方を指定します。
種類に「2」を指定すると、月曜日=1・火曜日=2・水曜日=3・木曜日=4・金曜日=5・土曜日=6・日曜日=7という形で返されます。
以下のサンプルをもとに解説します。

A1にヘッダーがある状態で、A2〜A6に日付が入力されているとします。
A2:D6の範囲を選択し、「ホーム」タブ→「条件付き書式」→「新しいルール」をクリックします。

「数式を使用して、書式設定するセルを決定」を選択し、土曜日の条件として以下の数式を入力します。
「書式」ボタンから「塗りつぶし」タブで水色などの色を選んで「OK」をクリックします。

同様に日曜日の条件付き書式も追加します。
日曜日には薄いピンクやオレンジなど、土曜日と異なる色を設定すると視認性が上がります。
数式の「$A2」は列だけを固定した複合参照にすることがポイントです。
列を固定することで、A列の日付を基準にB・C・D列のセルにも同じ色が適用されます。

エクセルで土日祝に自動で色をつける方法2【祝日リストを使って祝日に色をつける】
祝日リストを別シートで作成する
祝日に色をつけるには、まず祝日の日付を一覧にしたリストを別シートに作成します。
「祝日」シートを新規作成し、A列に祝日の日付を入力します。

祝日リストの範囲に名前を定義しておくと、条件付き書式の数式がシンプルになります。
祝日シートのA列を選択した状態で「数式」タブ→「名前の定義」をクリックし、名前を「祝日リスト」として登録します。

COUNTIF関数で祝日判定する
祝日リストと照合して色をつけるには、COUNTIF関数を条件付き書式の数式に使います。
先ほどと同様に、A2:D6の範囲を選択して条件付き書式の新しいルールを追加します。
数式には以下を入力します。
この数式は「$A2の日付が祝日リストの中に1件以上存在するか」を判定しています。
COUNTIF関数の第1引数に祝日リストの名前、第2引数に複合参照の日付セルを指定することがポイントです。
書式で祝日用の色(薄い黄色や薄い赤など)を設定して「OK」をクリックします。

エクセルで土日祝に自動で色をつける方法3【条件付き書式の優先順位を設定する】
複数の条件付き書式の優先順位
土曜日・日曜日・祝日の3つの条件付き書式を設定した場合、優先順位の設定が重要になります。
条件付き書式は上位のルールが優先されるため、祝日のルールを土曜・日曜より上位にしておかないと、祝日が土曜に当たった場合に土曜の色で表示されてしまいます。
「ホーム」タブ→「条件付き書式」→「ルールの管理」を開きます。

設定済みのルール一覧が表示されますので、祝日のルールを最上位に移動させます。
ルールを選択した状態で「▲」ボタンをクリックするとルールを上位に移動できます。
ルールの優先順位は「祝日>日曜日>土曜日」の順にしておくのがおすすめです。

条件付き書式の適用範囲を広げる
カレンダーの行数が増えた場合は、条件付き書式の適用範囲を変更します。
「ルールの管理」の「適用先」欄に範囲を入力し直すと、既存のルールを一括で適用範囲変更できます。

たとえば「=$A$2:$D$32」のように入力することで、32行目まで範囲を広げられます。
新しいルールを追加するよりも、既存ルールの適用範囲を変更する方が管理がシンプルです。
エクセルで土日祝に自動で色をつける方法4【曜日の文字列も自動で色をつける】
TEXT関数で曜日を表示する
日付の隣に曜日を自動表示するには、TEXT関数を使います。
B列に曜日を表示する場合、B2に以下の数式を入力します。
「aaa」は「月」「火」「水」のような短い曜日表示、「aaaa」は「月曜日」「火曜日」のような長い曜日表示になります。

曜日列にも条件付き書式を適用する
曜日を表示しているB列にも同じ条件付き書式を適用すると、曜日のテキストも自動で色がつきます。
既存の条件付き書式の「ルールの管理」で「適用先」にB列を追加するだけで対応できます。
曜日列のフォントの色を変えたい場合は、書式設定の「フォント」タブから文字色を変更します。
土曜日は青・日曜日は赤・祝日は赤などにすると、一般的なカレンダーと同じ見た目になります。
書式のコピーで他のシートにも適用する
作成した条件付き書式を他のシートや他のファイルにコピーするには、書式のコピー機能を使います。
条件付き書式が設定されているセルを選択し、「ホーム」タブの「書式のコピー/貼り付け」ボタン(ハケのアイコン)をクリックします。

その後、貼り付け先のセル範囲を選択すると書式がコピーされます。
ダブルクリックすると連続して貼り付けができるため、複数箇所に適用したい場合に便利です。
まとめ エクセルでの条件付き書式・WEEKDAY・祝日判定による土日祝への自動色付け方法
エクセルで土日祝に自動で色をつける方法をまとめると
・土曜日の色付け:条件付き書式の数式に =WEEKDAY($A2,2)=6 を入力
・日曜日の色付け:条件付き書式の数式に =WEEKDAY($A2,2)=7 を入力
・祝日の色付け:祝日リストを別シートに作成し =COUNTIF(祝日リスト,$A2)>0 で判定
・優先順位の設定:祝日>日曜日>土曜日の順にルールを並べる
・曜日の自動表示:TEXT関数の”aaa”で短い曜日表示
一度設定してしまえば、日付を入力するだけで土日祝が自動で色分けされるため、カレンダー・勤怠表・シフト表などの作成が格段に楽になります。
祝日リストを毎年更新するだけで翌年も使い回せるため、管理コストも最小限に抑えられます。
条件付き書式とWEEKDAY関数の組み合わせは、エクセルの日付管理における定番テクニックのひとつかもしれません。
エクセルの自動色付けをうまく活用して、日々の業務をよりスムーズに進めていきましょう!


コメント