Excelで曜日ごとに色を付ける方法|条件付き書式で土日を自動でハイライト

Excel

「Excelのカレンダーや予定表を作ったけど、土日だけ色を変えて見やすくしたい」
「曜日に応じて色を付けて、業務日と休日を一目で分かるようにしたい」

こんなことを思ったことはありませんか?

よくある課題と解決したいこと

Excel作業でこんな困った状況に遭遇することがよくあります:

スケジュール管理での問題

  • カレンダーで土日が平日と区別できず、うっかり休日に会議を設定
  • 勤怠表で休日出勤と平日勤務の違いが分からない
  • プロジェクト計画で業務日と非業務日の区別ができていない

見た目の問題

  • 月間予定表が単調で、重要な情報が見つけにくい
  • シフト表で休日シフトと平日シフトの区別が困難
  • 納期管理表で土日を考慮した計画が立てにくい

曜日別色付けで解決できること

Excelで曜日に応じて自動で色を変えることで:

視認性の向上

  • 土日は赤系:休日であることが一目瞭然
  • 平日は通常色:業務日として認識しやすい
  • 特定曜日を強調:定例会議の曜日などを目立たせる

作業効率の改善

  • 手動での色付け不要:日付を入力するだけで自動着色
  • ミスの削減:休日への予定設定を防止
  • 一目での判断:曜日確認の時間短縮

この記事で学べること

この記事では、以下について手順を追って詳しく解説します:

  • WEEKDAY関数を使った曜日の判定方法
  • 条件付き書式による自動色付けの設定
  • 土日だけでなく、特定曜日の色分け方法
  • 実際の業務で使える具体的な活用例
  • よくあるトラブルとその解決方法

最後まで読めば、見やすくて実用的なExcelカレンダーや予定表を作成できるようになります。

スポンサーリンク

曜日を判定するWEEKDAY関数の基礎

WEEKDAY関数とは?

WEEKDAY関数は、日付が何曜日かを数字で返してくれる関数です。この数字を使って、条件付き書式で色分けを行います。

基本的な構文

=WEEKDAY(日付, [種類])

パラメータの説明

パラメータ説明
日付曜日を調べたい日付A1(日付が入力されたセル)
種類曜日の番号付け方式2(月曜=1、日曜=7)

種類パラメータの詳細

WEEKDAY関数の2番目の引数(種類)によって、曜日の番号が変わります:

種類日曜月曜火曜水曜木曜金曜土曜使用場面
1(省略時)1234567アメリカ式(日曜始まり)
27123456ヨーロッパ式(月曜始まり)
36012345特殊用途

推奨:日本のビジネスでは「種類=2」(月曜=1、日曜=7)が使いやすいです。

実際の使用例

基本的な使い方

データ例

A列(日付)B列(曜日番号)C列(曜日名)
2024/3/25=WEEKDAY(A1,2)
2024/3/26=WEEKDAY(A2,2)
2024/3/30=WEEKDAY(A6,2)
2024/3/31=WEEKDAY(A7,2)

曜日名を表示する応用

=CHOOSE(WEEKDAY(A1,2),"月","火","水","木","金","土","日")

この関数により、数字ではなく「月」「火」…「日」で曜日を表示できます。

よく使う判定パターン

土曜日の判定

=WEEKDAY(A1,2)=6

日曜日の判定

=WEEKDAY(A1,2)=7

土日の判定(まとめて)

=WEEKDAY(A1,2)>5

または

=OR(WEEKDAY(A1,2)=6,WEEKDAY(A1,2)=7)

平日の判定

=WEEKDAY(A1,2)<=5

条件付き書式で曜日別自動色付け

条件付き書式の基本設定

条件付き書式を使って、WEEKDAY関数の結果に応じて自動的に色を付けます。

土日を色付けする基本手順

手順1:対象範囲の選択

  1. 色を付けたい範囲を選択
    • 例:A1:G31(カレンダー全体)
    • または A:A(A列全体)

手順2:条件付き書式を開く

  1. 「ホーム」タブをクリック
  2. 「条件付き書式」をクリック
  3. 「新しいルール」を選択

手順3:数式によるルール設定

  1. 「数式を使用してセルを書式設定」を選択
  2. 数式入力欄に以下を入力

土曜日を青色にする場合

=WEEKDAY($A1,2)=6

日曜日を赤色にする場合

=WEEKDAY($A1,2)=7

手順4:書式設定

  1. 「書式」ボタンをクリック
  2. 「塗りつぶし」タブを選択
  3. 希望の色を選択
    • 土曜:青系(RGB: 173, 216, 230)
    • 日曜:赤系(RGB: 255, 182, 193)

手順5:設定完了

  1. 「OK」をクリックして確定
  2. 同様に他の曜日も設定

セル参照の重要なポイント

絶対参照と相対参照

数式で $A1 としているのがポイントです:

  • $A:列は固定(A列の日付を参照)
  • 1:行は相対(各行に応じて変化)

この設定により、範囲全体に正しく条件が適用されます。

行全体を色付けする場合

カレンダーの行全体を色付けしたい場合:

  1. 範囲選択:A1:G31(全体範囲)
  2. 数式設定=WEEKDAY($A1,2)=6(A列の日付を基準に判定)

実用的な色付けパターン

パターン1:土日のみ色付け

設定方法

土日をまとめて色付け

=WEEKDAY($A1,2)>5

色の設定:薄いグレー(RGB: 240, 240, 240)

用途

  • 一般的なビジネスカレンダー
  • 勤怠管理表
  • プロジェクトスケジュール

パターン2:平日と休日の区別

平日を色付け

=WEEKDAY($A1,2)<=5

色の設定:薄い青(RGB: 230, 240, 255)

休日を色付け

=WEEKDAY($A1,2)>5

色の設定:薄いピンク(RGB: 255, 230, 240)

パターン3:曜日ごとの色分け

全7色で曜日を区別

各曜日に異なる色を設定:

曜日数式RGB
月曜=WEEKDAY($A1,2)=1薄い赤255,230,230
火曜=WEEKDAY($A1,2)=2薄いオレンジ255,240,230
水曜=WEEKDAY($A1,2)=3薄い黄255,255,230
木曜=WEEKDAY($A1,2)=4薄い緑230,255,230
金曜=WEEKDAY($A1,2)=5薄い青230,240,255
土曜=WEEKDAY($A1,2)=6薄い紫240,230,255
日曜=WEEKDAY($A1,2)=7薄いピンク255,230,255

パターン4:特定曜日の強調

定例会議がある曜日を強調

毎週水曜日の会議を強調

=WEEKDAY($A1,2)=3

色の設定:濃い黄色(RGB: 255, 255, 0)

締切日の曜日を強調

毎週金曜日の締切を強調

=WEEKDAY($A1,2)=5

色の設定:濃いオレンジ(RGB: 255, 165, 0)

実際の業務での活用例

カレンダーの作成

月間カレンダー

基本構造

     A    B    C    D    E    F    G
1         月   火   水   木   金   土   日
2   1週  1    2    3    4    5    6    7
3   2週  8    9   10   11   12   13   14
...

日付の自動生成

B2: =DATE(2024,3,1)  # 月初日
C2: =B2+1            # 翌日
...

曜日別色付け設定

  • 範囲:B2:H8
  • 土曜(G列):=WEEKDAY(G2,2)=6 → 青色
  • 日曜(H列):=WEEKDAY(H2,2)=7 → 赤色

勤怠管理表

出勤簿テンプレート

基本構造

日付曜日出勤時刻退勤時刻労働時間備考
2024/3/109:0018:008:00
2024/3/2休日

色付け設定

  • 範囲:A2:F32
  • 土日:=WEEKDAY($A2,2)>5 → 薄いグレー
  • これにより休日行が自動でハイライト

プロジェクトスケジュール

ガントチャート風の予定表

基本構造

タスク開始日終了日3/13/23/3
設計3/13/5
開発3/43/10

日付ヘッダーの色付け

  • 範囲:D1:Z1(日付ヘッダー行)
  • 土曜:=WEEKDAY(D$1,2)=6 → 青背景
  • 日曜:=WEEKDAY(D$1,2)=7 → 赤背景

シフト管理表

店舗スタッフのシフト表

基本構造

スタッフ3/1(金)3/2(土)3/3(日)
田中早番遅番休み
佐藤遅番早番早番

ヘッダー行の色付け

  • 土日のヘッダーを強調して、休日シフトを明確化
  • 範囲:B1:Z1
  • 数式:=WEEKDAY(B$1,2)>5 → 黄色背景

祝日を含む高度な色付け

祝日データの準備

祝日一覧の作成

別シートに祝日一覧を作成:

「祝日」シート

A列(日付)B列(祝日名)
2024/1/1元日
2024/1/8成人の日
2024/2/11建国記念の日

祝日を含む条件付き書式

土日祝日をまとめて色付け

=OR(WEEKDAY($A1,2)>5,COUNTIF(祝日!$A:$A,$A1)>0)

この数式により:

  • 土日(WEEKDAY($A1,2)>5
  • または祝日(COUNTIF(祝日!$A:$A,$A1)>0

のいずれかに該当する日を色付けできます。

平日・土曜・日曜・祝日の4パターン色分け

平日(祝日以外)

=AND(WEEKDAY($A1,2)<=5,COUNTIF(祝日!$A:$A,$A1)=0)

土曜日

=WEEKDAY($A1,2)=6

日曜日

=WEEKDAY($A1,2)=7

祝日

=COUNTIF(祝日!$A:$A,$A1)>0

振替休日の対応

より複雑な条件設定

=OR(
  WEEKDAY($A1,2)>5,
  COUNTIF(祝日!$A:$A,$A1)>0,
  AND(WEEKDAY($A1,2)=1,COUNTIF(祝日!$A:$A,$A1-1)>0)
)

この数式により、月曜日で前日(日曜)が祝日の場合も振替休日として色付けされます。

よくあるトラブルと解決方法

色が付かない問題

原因1:日付の形式問題

症状:見た目は日付だが、実際は文字列として入力されている

確認方法

  1. セルを選択して数式バーを確認
  2. 「2024/3/1」ではなく「’2024/3/1」(先頭にアポストロフィ)になっていないか

解決方法

=DATEVALUE(A1)  # 文字列を日付に変換

または、データ → 区切り位置 → 完了で一括変換

原因2:セル参照の間違い

よくある間違い

=WEEKDAY(A1,2)=6  # 相対参照のため、範囲全体で正しく動作しない

正しい設定

=WEEKDAY($A1,2)=6  # 列は絶対参照、行は相対参照

原因3:条件の優先順位

問題:複数の条件付き書式で、期待した色にならない

解決方法

  1. ホーム → 条件付き書式 → ルールの管理
  2. 優先順位を確認・調整
  3. より具体的な条件を上位に配置

WEEKDAY関数の結果が期待と異なる

種類パラメータの確認

症状:土曜日のつもりが違う曜日に色が付く

原因:WEEKDAY関数の2番目の引数が間違っている

確認方法

設定土曜の値日曜の値
WEEKDAY(日付,1)71
WEEKDAY(日付,2)67

解決方法:数式の種類パラメータを正しく設定

月をまたぐカレンダーでの問題

日付の連続性

問題:月末から月初にかけて日付が飛んでしまう

解決方法

# 月初日の設定
B2: =DATE(YEAR($A$1),MONTH($A$1),1)

# 連続日付の設定
C2: =IF(DAY(B2+1)=1,"",B2+1)  # 月が変わったら空白

パフォーマンスの問題

大きな範囲での条件付き書式

問題:範囲が広すぎて動作が重い

対策

  1. 必要最小限の範囲に限定
  2. 数式の最適化
  3. 条件の統合
# 重い(複数ルールで同じ関数を何度も計算)
=WEEKDAY($A1,2)=6  # 土曜用
=WEEKDAY($A1,2)=7  # 日曜用

# 軽い(1つのルールでまとめて処理)
=WEEKDAY($A1,2)>5  # 土日まとめて

より効率的な設定方法

テンプレート化

再利用可能なファイル作成

  1. 基本カレンダーを作成
    • 日付の自動生成式
    • 曜日別色付け設定
    • 祝日対応
  2. テンプレートとして保存
    • ファイル → 名前を付けて保存
    • ファイルの種類:Excelテンプレート
  3. 新しいプロジェクトで再利用

マクロによる自動化

VBAを使った高度な制御

Sub ApplyWeekdayColors()
    Dim rng As Range
    Dim cell As Range
    
    Set rng = Selection
    
    For Each cell In rng
        If IsDate(cell.Value) Then
            Select Case Weekday(cell.Value, vbMonday)
                Case 6  ' 土曜
                    cell.Interior.Color = RGB(173, 216, 230)
                Case 7  ' 日曜
                    cell.Interior.Color = RGB(255, 182, 193)
                Case Else  ' 平日
                    cell.Interior.ColorIndex = xlNone
            End Select
        End If
    Next cell
End Sub

名前定義の活用

数式の可読性向上

# 名前定義
土曜日 = WEEKDAY($A1,2)=6
日曜日 = WEEKDAY($A1,2)=7
平日 = WEEKDAY($A1,2)<=5

# 条件付き書式で使用
=土曜日  # 土曜の色付け条件
=日曜日  # 日曜の色付け条件

まとめ

Excelで曜日ごとに色を付ける方法について、重要なポイントをまとめます:

基本的な設定手順

  1. WEEKDAY関数で曜日を数値化 =WEEKDAY(日付,2) # 月曜=1, 日曜=7
  2. 条件付き書式で自動色付け
    • 数式を使用してセルを書式設定
    • 土曜:=WEEKDAY($A1,2)=6
    • 日曜:=WEEKDAY($A1,2)=7

効果的な活用方法

よく使う色付けパターン

  • 土日のみ=WEEKDAY($A1,2)>5
  • 平日のみ=WEEKDAY($A1,2)<=5
  • 特定曜日=WEEKDAY($A1,2)=3(水曜日など)

実用的な活用場面

  • カレンダー・スケジュール表
  • 勤怠管理・シフト表
  • プロジェクト管理・ガントチャート

トラブル回避のコツ

  • セル参照$A1(列絶対、行相対)で正しく設定
  • 日付形式:文字列ではなく日付型で入力
  • 条件の優先順位:具体的な条件を上位に配置

高度な機能

  • 祝日対応:COUNTIF関数で祝日リストと照合
  • 振替休日:複雑な条件の組み合わせ
  • テンプレート化:再利用可能な設定の保存

コメント

タイトルとURLをコピーしました