【Excel Tips】土日祝祭日の日付に自動で色を付ける

この記事の要点

Excelのシートに、土日と祝日の行に、それぞれ別の色をつける方法です。

次のサンプルファイルをダウンロードして実習に使ってください。

TEXT関数とCOUNTIF関数を使って、条件付き書式を設定する。

最終的に下図のようになります。

日付の自動設定

本題ではありませんが、A列の日付の設定方法について説明します。
[A1]セルに「年」が、[B1]セルに「月」が入力されています。
[A4]の、月の初日1日は、DATE関数を使って、=DATE(A1,B1,1) となります。

[A 5]セルには、IFS関数とEOMONTH関数を使って、
=IFS(A4=EOMONTH($A$4,0),"",A4="","",A4<>EOMONTH($A$4,0),A4+1)
と設定します。[A6]セル以後はこれをオートフィルします。

IFS関数はExcelの2019以降で使用できます。Excel 2016以前のバージョンではIF関数をネストにして使います。

=IF(A4=EOMONTH($A$4,0),"",IF(A4="","",IF(A4<>EOMONTH($A$4,0),A4+1,"")))

これで大・小の月、閏年の2月にも対応できます。


A列の日付表示は、ユーザー定義で「d」を指定し、[日]だけが表示されるようにしてあります。(これを単に数字とすると、上の式が動作しません)

TEXT関数で曜日を表示しておく

これはみなさんご存知で、よく使われていると思います。

B列に、「=TEXT(A4,"aaa") 」と 数式を入れてオートフィルすればよろしいのですね。

(条件付き書式にはB列は使わないので、この列はなくても構いませんが)

条件付き書式で、土曜日に色を付ける

スケジュール表の項目名を除いた全体(例ではA4:C34)を範囲選択します。

「ホーム」タブから「条件付き書式」を選択し、「新しいルール」をクリックします。

「新しい書式ルール」で、

①「数式を使用して、書式設定するセルを決定」を選びます。

②「次の数式を満たす場合に値を書式設定」に次の数式を入力します。
=TEXT($A4,"aaa")="土"

条件式がTrueの場合に書式が有効になります。

A4の位置でF4キーを2回クリックして複合参照(Aの前だけ$が付く)にしておくのがポイントです。

③「書式」ボタンをクリックして書式設定に進みます。

「セルの書式設定」ダイアログボックスで、①「塗りつぶし」タブを選択し、あとは好みの色を選択して「OK」ボタンをクリックします。

「新しい書式ルール」ダイアログボックスに戻るので、もう一度「OK」をクリックすます。

土曜日の行が色塗りされます。

同じ手順で、日曜日に色を塗ります。条件式

=TEXT($A4,"aaa")="日"

に変えて好みの色を選択してください。

これで土日の判断はできました。

COUNTIF関数で祝祭日を判断する

次に「祝祭日」をの判断をします。しかし、Excelには祝祭日を判断する関数はありません。
そこでCOUNTIF関数を使います。

祝祭日のリストを作っておき、ある日付がこの中にあるかどうかを数えるのです。
数えた結果が「1」であれば、その日付は祝祭日であると判断できます。

祝祭日をテーブルに変換しておく

祝祭日のリストは、毎年変わります。変わるたびにセルの選択範囲を変更するのでは使い勝手が悪いので、このリストはテーブルに変換しておきます。

祝日リストの任意のセルをアクティブにして、[挿入]-[テーブル]とクリックして、「先頭行をテーブルの見出しとして使用する」のチェックを確認して[OK]をクリックします。

さらに、このリストのセル範囲「F4:F21」を範囲選択して、名前ボックスに「祝祭日」と入力し、EnterKeyを押します。

テーブルに変換したので、祝祭日の増減があっても名前「祝祭日」範囲は自動的に範囲が変動するので、名前範囲を修正する必要がありません。

条件付き書式を設定する

土日の設定と同じく、項目名を除いたスケジュール表の全体(例ではA4:C34)を範囲選択します。

①「ホーム」タブの「条件付き書式」を選び、「新しい書式ルール」で、①「数式を使用して、書式設定するセルを決定」を選びます。

②「次の数式を満たす場合に値を書式設定」に次の数式を入力します。
=COUNTIF(祝祭日,$A4)=1

名前範囲「祝祭日」を使います。

ここでもA4の位置でF4キーを2回クリックして複合参照(Aの前だけ$が付く)にしておくのがポイントです。

③「書式」をクリックして祝祭日の書式を任意に設定してください。

以上で完成です。2023年5月は5連休になることが確認できます。

例では架空の会社の創立記念日も設定してあります。

このように3つの条件がそれぞれOR条件で設定されています。

隔週で曜日を設定する方法

第1と第3金曜日に予定を入れたいなど、隔週でカレンダーに記入するってこと、結構ありますよね。

その方法はこちらで紹介しています。土日祝祭日と併用すれば完璧ですね。

【Excel Tips】隔週の曜日に自動で色を付ける

目次日付の自動設定考え方(WEEKDAY関数を使う)条件付き書式を使う方法VBAマクロを使う方法 毎月第1と第3の金曜日に定期的な行事があるので、カレンダーに自動的に色塗…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です