エクセルでカレンダーやスケジュール表を作成する際に、土日や祝日に自動で色をつけたいのに、うまく色が変わらなかったり、意図しないセルに色がついてしまって困った経験はありませんか。
この記事では、エクセルで土日や祝に色がつかない・うまくできない(列や行の色変更など)原因と対処法について解説していきます。
ポイントは
・条件付き書式の数式の正しい設定方法
・絶対参照と相対参照の使い分け
・WEEKDAY関数の活用と祝日判定
です。
それでは詳しく見ていきましょう。
土日に色がつかない原因1【条件付き書式の数式が間違っている】
土日や祝日に自動で色をつけるには、条件付き書式を使用するのが一般的です。
しかし、条件付き書式の数式が間違っていると、色がまったくつかなかったり、意図しないセルに色がついてしまいます。
特に初めて条件付き書式を使う場合、数式の書き方や参照方法で躓くことが多いでしょう。
対処法
まず、日付が入力されているセル範囲を選択します。
例えば、A2からA31までに日付が入力されている場合、この範囲を選択しましょう。

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

「数式を使用して、書式設定するセルを決定」を選択し、以下の数式を入力してください。
土曜日に色をつける場合は以下の数式を使います。
=WEEKDAY(A2)=7
日曜日に色をつける場合は以下の数式です。
=WEEKDAY(A2)=1
数式を入力したら、「書式」ボタンをクリックして、塗りつぶしの色を選択しましょう。

土曜日は青、日曜日は赤など、好みの色を設定できます。
「OK」をクリックして設定を完了すると、選択した範囲内の土曜日または日曜日のセルに色がつきます。
土曜日と日曜日の両方に色をつけたい場合は、同じ手順で2つのルールを作成してください。

数式が正しく動作しない場合は、A2の部分が選択範囲の最初のセルを指しているか確認しましょう。
操作のポイント:条件付き書式で数式を使用し、WEEKDAY関数で曜日を判定。土曜日は7、日曜日は1を指定すれば、自動で色がつきます。
土日に色がつかない原因2【絶対参照と相対参照の設定ミス】
条件付き書式で数式を設定する際、絶対参照と相対参照の使い分けを間違えると、正しく色がつかないことがあります。
特に行全体や列全体に色をつけたい場合、参照方法を正しく設定しないと、一部のセルにしか色がつかなかったり、すべてのセルに色がついてしまったりします。
この問題は、ドル記号の有無で解決できるでしょう。
対処法
例えば、A列に日付があり、その行全体に色をつけたい場合を考えます。
色をつけたい範囲全体(例:A2からG31まで)を選択しましょう。

「ホーム」タブから「条件付き書式」→「新しいルール」を選択し、「数式を使用して、書式設定するセルを決定」を選びます。
この場合、以下のように絶対参照と相対参照を組み合わせた数式を使用します。
=WEEKDAY($A2)=7
ドル記号が列のAの前にだけついていることに注目してください。

$A2という記号は、列Aは固定するが、行番号は変動させるという意味です。
これにより、各行でA列の日付を参照しながら、行全体に書式が適用されます。
逆に、列全体に色をつけたい場合(縦方向のカレンダーなど)は、行を固定して列を変動させます。
=WEEKDAY(A$2)=7
両方を固定したい場合は$A$2、両方を変動させたい場合はA2と記述します。
書式を設定して「OK」をクリックすれば、選択範囲全体に正しく色がつくはずです。
操作のポイント:行全体に色をつける場合は列を固定($A2)、列全体の場合は行を固定(A$2)。ドル記号の位置で絶対参照と相対参照を使い分けましょう。
土日に色がつかない原因3【日付の形式が正しくない】
セルに日付のように見える文字列が入力されていても、エクセルがそれを日付として認識していない場合があります。
例えば、「2025/11/03」のように手入力したつもりでも、文字列として扱われていることがあるでしょう。
WEEKDAY関数は日付データに対してのみ正しく機能するため、文字列のままでは曜日を判定できません。
対処法
まず、日付が入力されているセルが本当に日付形式かどうかを確認します。
セルを選択して、セルの表示形式を見てみましょう。
「ホーム」タブの「数値」グループにあるドロップダウンメニューで、「日付」になっているか確認してください。

「文字列」や「標準」になっている場合は、日付として認識されていません。
文字列を日付に変換するには、いくつかの方法があります。
最も簡単な方法は、セルを選択して「日付」形式に変更することです。
ただし、これだけでは変換されない場合もあります。
確実に変換するには、別のセルにDATEVALUE関数を使用します。
=DATEVALUE(A2)
この数式を入力すると、文字列が日付のシリアル値に変換されます。

変換された値をコピーして、元のセルに「値」として貼り付ければ、日付形式に変換できるでしょう。
また、日付を入力する際は、スラッシュやハイフンを使って「2025/11/3」のように入力すると、自動的に日付として認識されます。
セルの左上に緑色の三角マークが表示されている場合は、エクセルが何らかの問題を検知しているサインですので、確認してみてください。
操作のポイント:セルの表示形式が「日付」になっているか確認。文字列の場合はDATEVALUE関数で日付に変換し、値として貼り付けましょう。
土日に色がつかない原因4【条件付き書式の適用範囲が間違っている】
条件付き書式を設定したものの、適用範囲が意図した範囲と異なっていることがあります。
設定後にセルを追加したり、範囲を変更したりした場合に、条件付き書式の適用範囲が自動的に調整されないこともあるでしょう。
また、複数の条件付き書式が重複していて、優先順位の問題で色がつかないケースもあります。
対処法
「ホーム」タブから「条件付き書式」→「ルールの管理」を選択します。

「条件付き書式ルールの管理」ダイアログボックスが開くので、「表示」を「このワークシート」に変更すると、シート内のすべてのルールが表示されます。

各ルールの「適用先」を確認しましょう。
範囲が正しくない場合は、範囲の右側にあるボタンをクリックして、正しい範囲を選択し直してください。
複数のルールが設定されている場合は、優先順位も重要です。
上にあるルールほど優先度が高く、下にあるルールは上書きされてしまうことがあります。
ルールを選択して「上へ」「下へ」ボタンをクリックすると、優先順位を変更できます。

不要なルールがある場合は、選択して「ルールの削除」ボタンをクリックしましょう。
設定を確認・修正したら「OK」をクリックすると、正しく色がつくようになるはずです。
定期的にルールの管理画面を開いて、設定内容を確認することをおすすめします。
操作のポイント:条件付き書式→ルールの管理で適用範囲と優先順位を確認。不要なルールを削除し、必要に応じて優先順位を調整しましょう。
祝日に色がつかない原因5【祝日リストの参照設定が間違っている】
祝日に色をつける場合、別途祝日のリストを作成して、それを参照する必要があります。
土日と異なり、祝日は決まったパターンで判定できないため、祝日データを用意して、COUNTIF関数などで照合する方法が一般的です。
この際、祝日リストの参照方法を間違えると、正しく色がつきません。
対処法
まず、別のシートまたは同じシート内の離れた場所に、祝日の一覧を作成します。
例えば、Z列に2025年の祝日を入力しておきましょう。

祝日のリストができたら、色をつけたい日付範囲を選択します。
「ホーム」タブから「条件付き書式」→「新しいルール」を選択し、「数式を使用して、書式設定するセルを決定」を選びます。
以下の数式を入力してください。
=COUNTIF($Z$2:$Z$20,A2)>0

この数式は、A2の日付が祝日リスト(Z2からZ20)に含まれているかを確認します。
祝日リストの範囲は絶対参照($Z$2:$Z$20)にすることが重要です。
これにより、すべての行で同じ祝日リストを参照できます。
書式を設定して「OK」をクリックすれば、祝日のセルに色がつきます。
別シートに祝日リストがある場合は、以下のように記述します。
=COUNTIF(祝日!$A$2:$A$20,A2)>0
祝日リストは毎年更新する必要があるため、シート名を「祝日2025」のようにしておくと管理しやすいでしょう。
また、祝日データは内閣府のウェブサイトなどから入手できます。
操作のポイント:祝日リストを作成し、COUNTIF関数で照合。祝日リストの範囲は絶対参照($Z$2:$Z$20)にして、すべての行で同じリストを参照できるようにしましょう。
土日祝に色がつかない原因6【複数条件の組み合わせ方が間違っている】
土曜日、日曜日、祝日のすべてに異なる色をつけたい場合や、土日祝をまとめて同じ色にしたい場合、条件の組み合わせ方を間違えると、正しく色がつかないことがあります。
条件の優先順位や論理演算子の使い方を理解することが重要でしょう。
複数の条件を1つの数式にまとめることも可能です。
対処法
土日祝すべてに同じ色をつけたい場合は、OR関数を使って1つの条件にまとめることができます。
色をつけたい範囲を選択し、条件付き書式で以下の数式を使用してください。
=OR(WEEKDAY(A2)=1,WEEKDAY(A2)=7,COUNTIF($Z$2:$Z$20,A2)>0)

この数式は、日曜日、土曜日、または祝日のいずれかに該当する場合に色をつけます。
逆に、土日祝それぞれに異なる色をつけたい場合は、3つの条件付き書式ルールを作成し、優先順位を正しく設定する必要があります。
ルールの管理画面で、優先順位を以下のように設定しましょう。
・1番目:祝日のルール(最優先)
・2番目:日曜日のルール
・3番目:土曜日のルール

祝日を最優先にすることで、土日と重なる祝日も正しく祝日の色で表示されます。
また、「ルールが真の場合は停止」にチェックを入れると、条件に合致した時点でそれ以降のルールが適用されなくなります。
これにより、より明確な条件分岐が可能になるでしょう。
複数の条件を組み合わせる場合は、AND関数やOR関数を活用することで、複雑な条件も1つの数式で表現できます。
操作のポイント:土日祝をまとめる場合はOR関数を使用。異なる色をつける場合は複数ルールを作成し、優先順位を祝日、日曜、土曜の順に設定しましょう。
土日に色がつかない原因7【テーブル形式での条件付き書式の問題】
データをテーブル形式に変換している場合、条件付き書式の動作が通常の範囲とは異なることがあります。
テーブルには独自の書式設定があり、条件付き書式と競合することがあるでしょう。
また、テーブルの構造化参照を使用する必要がある場合もあります。
対処法
データがテーブル形式になっているか確認するには、セル範囲内をクリックして「テーブルデザイン」タブが表示されるかを見ます。

テーブル形式の場合、まずテーブルの縞模様の書式を無効にすることをおすすめします。
「テーブルデザイン」タブの「テーブルスタイルのオプション」で「縞模様(行)」のチェックを外しましょう。

テーブル内で条件付き書式を設定する場合、構造化参照を使用できます。
例えば、テーブル名が「カレンダー」で、日付列が「日付」という列名の場合、以下のような数式を使用します。
=WEEKDAY([@日付])=7
[@日付]は、現在の行の「日付」列を参照するという意味です。

ただし、テーブル形式では行全体に色をつける際に制限があることもあります。
その場合は、テーブルを通常の範囲に戻してから条件付き書式を設定する方が簡単かもしれません。
テーブルを範囲に変換するには、テーブル内をクリックして「テーブルデザイン」タブから「範囲に変換」を選択します。
テーブル形式のメリット(自動拡張、フィルター機能など)が不要な場合は、通常の範囲として扱う方が条件付き書式の設定がシンプルになるでしょう。
操作のポイント:テーブル形式の場合は縞模様を無効化し、構造化参照を使用。設定が複雑な場合は、範囲に変換してから条件付き書式を適用しましょう。
まとめ エクセルで土日や祝に色付けがうまくできない(列や行など)原因と対処法
エクセルで土日や祝日に色をつける際の問題を解決する方法をまとめると
・基本的な土日の色付け:条件付き書式でWEEKDAY関数を使用(土曜日は7、日曜日は1)
・行全体に色をつける:絶対参照と相対参照を組み合わせ($A2のように列を固定)
・日付形式の確認:セルが日付として認識されているか確認し、文字列の場合はDATEVALUE関数で変換
・適用範囲の確認:ルールの管理で適用範囲と優先順位を確認し、不要なルールを削除
・祝日の色付け:祝日リストを作成してCOUNTIF関数で照合(祝日リストは絶対参照で固定)
・複数条件の組み合わせ:OR関数で土日祝をまとめる、または複数ルールを優先順位順に設定
・テーブル形式の対処:縞模様を無効化して構造化参照を使用、または範囲に変換
これらの方法を状況に応じて試していけば、ほとんどのケースで土日祝の色付け問題を解決できるはずです。
特にWEEKDAY関数と絶対参照・相対参照の使い分けは最も基本的で重要ですので、まずこれらを正しく理解することをおすすめします。
条件付き書式は非常に強力な機能ですが、数式の書き方や参照方法を間違えると思い通りに動作しません。
ルールの管理画面を定期的に確認して、設定内容を把握しておくことも大切でしょう。
エクセルで見やすいカレンダーやスケジュール表を作成するために、これらの土日祝の色付けテクニックを活用していきましょう。


コメント