Article

エクセル条件付き書式で土日・曜日に色をつける【WEEKDAY関数】

この記事で分かること

土日や特定の曜日、祝日に自動で色をつける条件付き書式を、WEEKDAY 関数と名前定義で実現する方法を Excel 2024 で解説します。

カレンダーやスケジュール表で「土日の行だけ色をつけたい」「祝日も含めて連休を強調したい」と思ったことはありませんか。エクセルの条件付き書式WEEKDAY 関数を組み合わせると、関数を 1 つ書くだけで土日や特定曜日に自動で色がつきます。さらに祝日リストを名前定義しておけば、ゴールデンウィークの 4 連休のような祝日も同時にハイライトできます。

このページでは、Microsoft Excel 2024 の実機画面で 2026 年 5 月 1 日〜5 月 14 日のカレンダーを使い、日曜判定 → 土日判定 → 平日判定 → 祝日判定の 4 パターンを順番に解説します。新しい行を追加したときも自動で色がつくテーブル化のテクニックや、姉妹記事への動線もまとめます。

WEEKDAY 関数と条件付き書式で土日・曜日に色をつける基本

条件付き書式の「数式を使用して、書式設定するセルを決定」ルールに、WEEKDAY 関数を使った数式を入れることで、曜日に応じた書式設定ができます。WEEKDAY 関数は日付セルから「曜日番号」を返す関数で、第 2 引数で番号の振り方を切り替えられます。

  • WEEKDAY(日付, 1):日曜=1, 月曜=2, …, 土曜=7
  • WEEKDAY(日付, 2):月曜=1, 火曜=2, …, 土曜=6, 日曜=7
  • WEEKDAY(日付, 3):月曜=0, 火曜=1, …, 日曜=6

次のような 2026 年 5 月 1 日〜5 月 14 日のカレンダー表を例に、土日や祝日の行を色付けしていきます。

エクセルのカレンダー表(A列日付、B列曜日、C列予定、D列担当の4列構造、2026年5月1日から5月14日までの14行)に条件付き書式を設定する前のサンプルデータ

「日曜日の行に色を塗る」基本手順

まずは一番シンプルな「日曜日の行を赤色にする」例から始めます。WEEKDAY の第 2 引数に 1 を使うと、日曜日が 1 を返すので、判定式は =WEEKDAY($A2,1)=1 になります。

手順1:書式を効かせる範囲を選択する

カレンダーの本体(ヘッダー除く)A2:D15 をマウスで選択します。行全体に色をつけたいので A 列(日付)から D 列(担当)まで含めて選択するのがポイントです。

エクセルのホームタブで「条件付き書式」リボンボタンを赤枠で示し、カレンダーのA2からD15までを選択した状態のスクリーンショット

手順2:[新しいルール] → 「数式を使用して」を選ぶ

[ホーム] タブの [条件付き書式] ボタンをクリックし、メニューから [新しいルール] を選びます。「新しい書式ルール」ダイアログを開いた直後は、最初の項目「セルの値に基づいてすべてのセルを書式設定」(カラースケール)が選ばれているので、最下段の「数式を使用して、書式設定するセルを決定」を明示的にクリックします。

エクセルの「新しい書式ルール」ダイアログで最下段の「数式を使用して、書式設定するセルを決定」を選択した画面

手順3:日曜判定の数式を入力する

下半分の「次の数式を満たす場合に値を書式設定」欄に、次の数式を入力します。

=WEEKDAY($A2,1)=1

$A2 は「列だけ固定、行は各行に合わせて動かす」という意味の絶対参照記号です。詳しい考え方は 条件付き書式で行全体に色をつける方法(数式ルールの使い方)で解説しています。

エクセルの「新しい書式ルール」ダイアログの数式入力欄にWEEKDAY関数を使った日曜判定の数式(ドルA2の曜日が1番目すなわち日曜と等しいとき真)を入力した画面

手順4:[書式] ボタンで塗りつぶし色を選ぶ

右下の [書式] ボタンを押して「セルの書式設定」ダイアログを開き、[塗りつぶし] タブから薄い赤色を選びます。

エクセルの「セルの書式設定」ダイアログで「塗りつぶし」タブを開いて色グリッドを表示した画面

手順5:適用結果を確認する

2 つのダイアログを順に [OK] で閉じると、日曜日(5/3 と 5/10)の行が薄い赤色で行全体(A 列から D 列まで)塗りつぶされます

カレンダー表で日曜判定の数式ルールを適用した結果、2026年5月3日と5月10日の日曜行が薄い赤色で行全体に塗りつぶされた状態

「土曜日と日曜日(土日)の行に色を塗る」

「土日両方の行を色付け」したい場合は、WEEKDAY の第 2 引数を 2 に変えます。第 2 引数 2 では月曜=1、火曜=2、…、土曜=6、日曜=7 となるので、「6 以上」を判定式にすれば土日両方を一度にカバーできます。

=WEEKDAY($A2,2)>=6

適用すると 5/2 (土) / 5/3 (日) / 5/9 (土) / 5/10 (日) の 4 行が同時に色付けされます。

カレンダー表で土日判定の数式ルールを適用した結果、2026年5月2日土、5月3日日、5月9日土、5月10日日の4行が薄い赤色で行全体に塗りつぶされた状態

「平日(月〜金)の行に色を塗る」

逆に「平日だけ薄い色で背景を付ける」業務カレンダーを作りたい場合は、第 2 引数 2 のまま「5 以下」を判定式にすれば、月〜金が真になります。

=WEEKDAY($A2,2)<=5

カレンダー表で平日判定の数式ルールを適用した結果、月から金の10行が薄い青色で行全体に塗りつぶされ、土日4行が白いまま残っている状態

祝日も含めて色をつける(名前定義「祝日リスト」と COUNTIF)

WEEKDAY だけでは「土日」と「平日」の判別はできても、祝日(みどりの日や憲法記念日など)の判別はできません。祝日も含めて色をつけたいときは、祝日リストを別シートに用意して、COUNTIF 関数で照合する方法が使えます。

手順1:祝日リストを別シートに作って名前を定義する

新しいシート(例: 祝日 シート)を追加して、A 列に祝日の日付を列挙します。2026 年 5 月の祝日は次の 4 日です(出典: 内閣府「国民の祝日について」)。

  • 5/3 (日) 憲法記念日
  • 5/4 (月) みどりの日
  • 5/5 (火) こどもの日
  • 5/6 (水) 振替休日(5/3 が日曜であり、その直後の 5/4 と 5/5 も祝日であるため、最初に祝日でない平日となる 5/6 が振替休日になる)

祝日の日付一覧(A2:A5)を選択して、[数式] タブ → [名前の管理] → [新規作成] で名前「祝日リスト」として登録します。シート名(祝日)と同名の名前定義も Excel 上は作成可能ですが、数式中で =COUNTIF(祝日リスト,$A2) と書いたほうが「祝日のリストを参照している」と意味が明確になるため、本ページでは「祝日リスト」のように 1 段階具体的にずらしています。

エクセルの祝日シートのA2からA5に祝日4日(5月3日憲法記念日、5月4日みどりの日、5月5日こどもの日、5月6日振替休日)を入力し、その範囲に「祝日リスト」という名前を定義した状態(名前ボックスに祝日リストと表示)

手順2:COUNTIF で祝日判定の数式を作る

カレンダーシートに戻って A2:D15 を選択し、新しい数式ルールに次の数式を入れます。

=COUNTIF(祝日リスト,$A2)>0

COUNTIF は「指定した範囲に、検索値がいくつ含まれるか」を数える関数です。祝日リストに $A2 の日付が 1 件でも含まれていれば「件数 1 以上」となり、TRUE を返します。書式は薄い緑などにして、土日と区別しましょう。

カレンダー表で祝日判定の数式ルール(COUNTIF関数で祝日リストにドルA2が含まれるかを判定)を適用した結果、2026年5月3日から5月6日のゴールデンウィーク4日連休が薄い緑色で行全体に塗りつぶされた状態

結果は 5/3〜5/6 のゴールデンウィーク 4 日連休(憲法記念日 / みどりの日 / こどもの日 / 振替休日)が薄い緑色に塗られます。土日判定ルールと組み合わせれば、土日 + 祝日の両方を一度に強調することもできます。組み合わせ方は エクセルで条件付き書式を複数設定する方法(ルールの管理)で解説しています。

WEEKDAY を基本にしつつ、TEXT 関数で曜日文字を直接見る方法もある

本記事では WEEKDAY 関数を基本形として扱っています。数値で判定するため言語に依存せず、作成したブックを別の環境(英語版 Excel など)で開いても同じように動くからです。

補足として、日本語版 Excel では次のように「曜日の文字を直接判定する」書き方もあります。

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

TEXT($A2,"aaa") は日付セルから「日」「月」「火」…の 1 文字を返します。ただし、"aaa" の出力は表示言語・ロケールに依存します。英語版 Excel では "Sun""Mon" が返るため、共有するブックを別環境で開くと判定が動かなくなる可能性があります。互換性が重要な場面では WEEKDAY を使うのが無難です。

適用先と新しい行への対応

ここまでで設定した条件付き書式の適用先は =$A$2:$D$15 という固定範囲です。後から表に新しい日付(5/15 や 5/16 など 16 行目以降)を追加しても、新しい行は自動では塗られません。あとから増える行にも書式を効かせたい場合は、次のいずれかの対応が必要です。

  • 最初から余裕を持った範囲を指定する(例: =$A$2:$D$1000
  • 後から [条件付き書式] → [ルールの管理] で「適用先」欄を編集して範囲を広げる
  • 表を Excel のテーブル化([ホーム] → [テーブルとして書式設定] か Ctrl+T)しておく:テーブルなら新しい行を追加すると条件付き書式の適用先も自動で広がります

カレンダーは行が増えやすいので、テーブル化が特に有効です。下の例は、土日判定 (=WEEKDAY($A2,2)>=6) を設定したテーブルに、5/15 (金) と 5/16 (土) の 2 行を追加した結果です。テーブルが自動で 17 行目を取り込み、5/16 の土曜の行も即座に薄い赤色に塗られています。

カレンダー表をテーブル化した後に新しい行(5月15日金曜と5月16日土曜)を追加すると、条件付き書式の適用範囲が自動で広がり、土曜の5月16日が薄い赤色に塗られた状態

数式ルールの基本に戻る / 数値だけで色を変えたい場合

本記事は WEEKDAY 関数を組み合わせた応用ですが、数式ルール自体の基本(「数式を使用して」ルールの開き方、絶対参照記号 $ の付け方の考え方、$B2 と $B$2 と B2 の挙動の違い)を確認したい場合は、条件付き書式で行全体に色をつける方法(数式ルールの使い方)を参照してください。

もっとシンプルに「セルの数値が ○ 以上のときだけ色をつけたい」のような数値判定だけで済む場合は、数式ルールよりも「指定の値を含むセル」ルールの方が手早く設定できます。基本操作と比較条件 8 種類の使い分けは エクセルのセルの数値に応じて自動で色を変える方法(条件付き書式)で解説しています。

1 つの範囲に複数の条件を組み合わせたいとき

土日は赤、祝日は緑、平日は白」のように 1 つのカレンダーに複数の条件付き書式を組み合わせる場合は、ルールの優先順位や「条件を満たす場合は停止」の挙動が結果に影響します。複数ルールの設定方法は エクセルで条件付き書式を複数設定する方法(ルールの管理)で解説しています。

関連:日付で色を変えたいとき

曜日ではなく「今日より前の日付セルを赤くしたい」「1 週間後までの日付を強調したい」のような日付ベースの条件付き書式を設定したい場合は、Excelで特定の日付より前または後のデータに条件付き書式を設定する方法(基本設定)を参照してください。

まとめ

  • 条件付き書式の「数式を使用して」ルールWEEKDAY 関数を組み合わせれば、土日や特定曜日に自動で色をつけられる
  • 「日曜日」だけなら =WEEKDAY($A2,1)=1
  • 「土日両方」なら =WEEKDAY($A2,2)>=6
  • 「平日」なら =WEEKDAY($A2,2)<=5
  • 祝日も含めて色をつけるには、祝日リストを別シートに用意して名前定義し、=COUNTIF(祝日リスト,$A2)>0 で照合する
  • 祝日の日付は変動するので、出典は内閣府「国民の祝日についてを参照する
  • 新しい行にも自動で書式を効かせたいなら、表をテーブル化(Ctrl+T)するか、最初から余裕のある範囲を指定する
  • 数式ルールの基本($ の付け方)は 行全体への色付け解説を参照
  • 数値だけで色を変えたいなら 「指定の値を含むセル」のシンプル設定
  • 複数ルールを組み合わせるなら 「ルールの管理」での複数設定
  • 背景色ではなく値(○/×、TRUE/FALSE、平日/休日)で判定したい場合は Excelで祝日を判定する方法【COUNTIFとXLOOKUP】

Next Read

このあと読む記事

今の内容に近い記事から、次の1本と補助記事を続けて見つけられるようにしています。

Keep Exploring

このテーマをさらに探す

同じテーマの入口記事と更新記事を、一覧の形でまとめています。

コメント