「Excelのカレンダーや予定表を作ったけど、土日だけ色を変えて見やすくしたい」
「曜日に応じて色を付けて、業務日と休日を一目で分かるようにしたい」
こんなことを思ったことはありませんか?
よくある課題と解決したいこと
Excel作業でこんな困った状況に遭遇することがよくあります:
スケジュール管理での問題
- カレンダーで土日が平日と区別できず、うっかり休日に会議を設定
- 勤怠表で休日出勤と平日勤務の違いが分からない
- プロジェクト計画で業務日と非業務日の区別ができていない
見た目の問題
- 月間予定表が単調で、重要な情報が見つけにくい
- シフト表で休日シフトと平日シフトの区別が困難
- 納期管理表で土日を考慮した計画が立てにくい
曜日別色付けで解決できること
Excelで曜日に応じて自動で色を変えることで:
視認性の向上
- 土日は赤系:休日であることが一目瞭然
- 平日は通常色:業務日として認識しやすい
- 特定曜日を強調:定例会議の曜日などを目立たせる
作業効率の改善
- 手動での色付け不要:日付を入力するだけで自動着色
- ミスの削減:休日への予定設定を防止
- 一目での判断:曜日確認の時間短縮
この記事で学べること
この記事では、以下について手順を追って詳しく解説します:
- WEEKDAY関数を使った曜日の判定方法
- 条件付き書式による自動色付けの設定
- 土日だけでなく、特定曜日の色分け方法
- 実際の業務で使える具体的な活用例
- よくあるトラブルとその解決方法
最後まで読めば、見やすくて実用的なExcelカレンダーや予定表を作成できるようになります。
曜日を判定するWEEKDAY関数の基礎

WEEKDAY関数とは?
WEEKDAY関数は、日付が何曜日かを数字で返してくれる関数です。この数字を使って、条件付き書式で色分けを行います。
基本的な構文
=WEEKDAY(日付, [種類])
パラメータの説明
パラメータ | 説明 | 例 |
---|---|---|
日付 | 曜日を調べたい日付 | A1(日付が入力されたセル) |
種類 | 曜日の番号付け方式 | 2(月曜=1、日曜=7) |
種類パラメータの詳細
WEEKDAY関数の2番目の引数(種類)によって、曜日の番号が変わります:
種類 | 日曜 | 月曜 | 火曜 | 水曜 | 木曜 | 金曜 | 土曜 | 使用場面 |
---|---|---|---|---|---|---|---|---|
1(省略時) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | アメリカ式(日曜始まり) |
2 | 7 | 1 | 2 | 3 | 4 | 5 | 6 | ヨーロッパ式(月曜始まり) |
3 | 6 | 0 | 1 | 2 | 3 | 4 | 5 | 特殊用途 |
推奨:日本のビジネスでは「種類=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:対象範囲の選択
- 色を付けたい範囲を選択
- 例:A1:G31(カレンダー全体)
- または A:A(A列全体)
手順2:条件付き書式を開く
- 「ホーム」タブをクリック
- 「条件付き書式」をクリック
- 「新しいルール」を選択
手順3:数式によるルール設定
- 「数式を使用してセルを書式設定」を選択
- 数式入力欄に以下を入力
土曜日を青色にする場合
=WEEKDAY($A1,2)=6
日曜日を赤色にする場合
=WEEKDAY($A1,2)=7
手順4:書式設定
- 「書式」ボタンをクリック
- 「塗りつぶし」タブを選択
- 希望の色を選択
- 土曜:青系(RGB: 173, 216, 230)
- 日曜:赤系(RGB: 255, 182, 193)
手順5:設定完了
- 「OK」をクリックして確定
- 同様に他の曜日も設定
セル参照の重要なポイント
絶対参照と相対参照
数式で $A1
としているのがポイントです:
- $A:列は固定(A列の日付を参照)
- 1:行は相対(各行に応じて変化)
この設定により、範囲全体に正しく条件が適用されます。
行全体を色付けする場合
カレンダーの行全体を色付けしたい場合:
- 範囲選択:A1:G31(全体範囲)
- 数式設定:
=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/1 | 金 | 09:00 | 18:00 | 8:00 | |
2024/3/2 | 土 | – | – | – | 休日 |
色付け設定
- 範囲:A2:F32
- 土日:
=WEEKDAY($A2,2)>5
→ 薄いグレー - これにより休日行が自動でハイライト
プロジェクトスケジュール
ガントチャート風の予定表
基本構造
タスク | 開始日 | 終了日 | 3/1 | 3/2 | 3/3 | … |
---|---|---|---|---|---|---|
設計 | 3/1 | 3/5 | ■ | ■ | ■ | |
開発 | 3/4 | 3/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:日付の形式問題
症状:見た目は日付だが、実際は文字列として入力されている
確認方法
- セルを選択して数式バーを確認
- 「2024/3/1」ではなく「’2024/3/1」(先頭にアポストロフィ)になっていないか
解決方法
=DATEVALUE(A1) # 文字列を日付に変換
または、データ → 区切り位置 → 完了で一括変換
原因2:セル参照の間違い
よくある間違い
=WEEKDAY(A1,2)=6 # 相対参照のため、範囲全体で正しく動作しない
正しい設定
=WEEKDAY($A1,2)=6 # 列は絶対参照、行は相対参照
原因3:条件の優先順位
問題:複数の条件付き書式で、期待した色にならない
解決方法
- ホーム → 条件付き書式 → ルールの管理
- 優先順位を確認・調整
- より具体的な条件を上位に配置
WEEKDAY関数の結果が期待と異なる
種類パラメータの確認
症状:土曜日のつもりが違う曜日に色が付く
原因:WEEKDAY関数の2番目の引数が間違っている
確認方法
設定 | 土曜の値 | 日曜の値 |
---|---|---|
WEEKDAY(日付,1) | 7 | 1 |
WEEKDAY(日付,2) | 6 | 7 |
解決方法:数式の種類パラメータを正しく設定
月をまたぐカレンダーでの問題
日付の連続性
問題:月末から月初にかけて日付が飛んでしまう
解決方法
# 月初日の設定
B2: =DATE(YEAR($A$1),MONTH($A$1),1)
# 連続日付の設定
C2: =IF(DAY(B2+1)=1,"",B2+1) # 月が変わったら空白
パフォーマンスの問題
大きな範囲での条件付き書式
問題:範囲が広すぎて動作が重い
対策
- 必要最小限の範囲に限定
- 数式の最適化
- 条件の統合
# 重い(複数ルールで同じ関数を何度も計算)
=WEEKDAY($A1,2)=6 # 土曜用
=WEEKDAY($A1,2)=7 # 日曜用
# 軽い(1つのルールでまとめて処理)
=WEEKDAY($A1,2)>5 # 土日まとめて
より効率的な設定方法

テンプレート化
再利用可能なファイル作成
- 基本カレンダーを作成
- 日付の自動生成式
- 曜日別色付け設定
- 祝日対応
- テンプレートとして保存
- ファイル → 名前を付けて保存
- ファイルの種類:Excelテンプレート
- 新しいプロジェクトで再利用
マクロによる自動化
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で曜日ごとに色を付ける方法について、重要なポイントをまとめます:
基本的な設定手順
- WEEKDAY関数で曜日を数値化
=WEEKDAY(日付,2) # 月曜=1, 日曜=7
- 条件付き書式で自動色付け
- 数式を使用してセルを書式設定
- 土曜:
=WEEKDAY($A1,2)=6
- 日曜:
=WEEKDAY($A1,2)=7
効果的な活用方法
よく使う色付けパターン
- 土日のみ:
=WEEKDAY($A1,2)>5
- 平日のみ:
=WEEKDAY($A1,2)<=5
- 特定曜日:
=WEEKDAY($A1,2)=3
(水曜日など)
実用的な活用場面
- カレンダー・スケジュール表
- 勤怠管理・シフト表
- プロジェクト管理・ガントチャート
トラブル回避のコツ
- セル参照:
$A1
(列絶対、行相対)で正しく設定 - 日付形式:文字列ではなく日付型で入力
- 条件の優先順位:具体的な条件を上位に配置
高度な機能
- 祝日対応:COUNTIF関数で祝日リストと照合
- 振替休日:複雑な条件の組み合わせ
- テンプレート化:再利用可能な設定の保存
コメント