Googleスプレッドシートで土日に自動で色を付ける方法|条件付き書式×WEEKDAY関数で行全体・祝日まで対応
Googleスプレッドシートで予定表やシフト表を作るとき、「土曜は青、日曜は赤」に自動で色を付けたい——手作業で塗るのは今日で卒業です。
この記事では、条件付き書式とWEEKDAY関数を組み合わせて、日付を入れるだけで土日のセルに自動で色が付く設定を、手順どおりに真似すればできる形で解説します。行全体への色付け、祝日への対応、色が付かないときのチェックポイントまでまとめました。
日付に「(月)(火)」の曜日を表示する方法は、姉妹記事のスプレッドシートで日付に曜日を表示する方法をご覧ください。本記事はその「色付け編」です。
仕組み:WEEKDAY関数が「何曜日か」を数字で教えてくれる
設定の前に、仕組みを30秒だけ。WEEKDAY関数は日付を渡すと曜日を数字で返す関数です。
| 曜日 | 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|---|
| WEEKDAYの戻り値 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
つまり「WEEKDAYの答えが1なら日曜、7なら土曜」。この判定を条件付き書式の「カスタム数式」に入れて、当てはまるセルだけ色を塗ってもらう——これが全体の作戦です。
基本手順:日曜を赤、土曜を青にする
A列(A2以降)に日付が入っている表を例に進めます。
ステップ1:色を付けたい範囲を選択する
日付が入っている範囲(例:A2:A32)をドラッグで選択します。
ステップ2:「表示形式」→「条件付き書式」を開く
メニューの「表示形式」→「条件付き書式」をクリックすると、画面右側に設定パネルが開きます。
ステップ3:「カスタム数式」を選んで日曜の式を入力
「セルの書式設定の条件」のプルダウンから一番下の「カスタム数式」を選び、次の式を入力します。
=WEEKDAY($A2)=1
書式設定のスタイルで背景色を赤系(薄い赤)にして「完了」。これで日曜のセルに色が付きます。
・数式の先頭の「=」を忘れない
・セル番地は選択範囲の左上のセル(この例ではA2)を書く
・列だけ$で固定($A2)にしておくのが後々のポイント(行全体の色付けで効いてきます)
ステップ4:「条件を追加」で土曜の式を入力
同じパネルの「条件を追加」をクリックし、今度は次の式を入力します。
=WEEKDAY($A2)=7
背景色を青系(薄い青)にして「完了」。これで土曜にも色が付き、日付を追加・変更するだけで色が自動で追いかけてくる予定表になりました。
土日を「同じ色」でまとめたい場合(OR関数)
土日を区別せず同じ色にしたいなら、条件は1つで済みます。OR関数で「1または7」をまとめましょう。
=OR(WEEKDAY($A2)=1, WEEKDAY($A2)=7)
また、WEEKDAY関数の第2引数を「2」にすると「月曜=1〜日曜=7」の数え方に変わるため、「6以上なら週末」というスマートな書き方もできます。
=WEEKDAY($A2,2)>=6
どちらでも結果は同じです。読みやすい方を使ってください。
行全体に色を付ける方法($の意味がここでわかる)
予定表では、日付のセルだけでなくその行を丸ごと色付けしたいことが多いはず。やり方は簡単で、ステップ1の選択範囲を行全体に広げるだけです。
- 範囲をA2:D32のように、色を付けたい列まで含めて選択する
- 条件付き書式のカスタム数式は同じ式のまま(=WEEKDAY($A2)=1 など)
ここで効いてくるのが「$A2」の$マークです。$で列だけをA列に固定しているので、B列・C列・D列のセルも「自分の行のA列の日付」を見て判定します。行はズレてほしいので$を付けない——「$A2」は「列は固定、行は連動」という意味だったのです。
・「$A$2」と書いてしまうと全セルがA2だけを見てしまい、1行目の曜日で全行が塗られます。$は列側だけに付けるのがコツです。
祝日にも色を付ける方法(COUNTIF×祝日リスト)
土日が塗れたら、次は祝日です。祝日は計算では出せないので、「祝日リスト」を別シートに用意して、日付がリストにあるかを判定する方式を使います。
ステップ1:祝日リストのシートを作る
新しいシート(名前を「祝日」とします)のA列に、祝日の日付を縦に入力します。内閣府のサイトで公開されている祝日一覧をコピーするのが確実です。
ステップ2:カスタム数式にCOUNTIFを設定する
予定表の範囲に「条件を追加」し、次の式を入力します。
=COUNTIF(INDIRECT("祝日!$A:$A"), $A2)>=1
COUNTIF関数は「祝日リストの中に、この行の日付($A2)がいくつあるか」を数えます。1個以上あれば祝日、というわけです。背景色は日曜と同じ赤系にするのが定番です。
・条件付き書式のカスタム数式から別シートを参照するときはINDIRECT関数が必須です。「=COUNTIF(祝日!$A:$A,$A2)」と直接書くとエラーになります(スプレッドシート特有の仕様)。
条件の「順番」にも意味がある
条件付き書式は上にあるルールが優先されます。「祝日→日曜→土曜」の順に並べておくと、土曜が祝日だった場合に祝日の色が勝ちます。ルールはドラッグで並べ替えできます。
色が付かないときのチェックリスト
- $の位置は正しいか … 「$A2」(列だけ固定)が正解。「A2」のままだと行全体の色付けがズレ、「$A$2」だと全行が同じ判定になります。
- 数式のセル番地が選択範囲の左上と一致しているか … 範囲がA5からなら式も「$A5」で書きます。
- 日付が「文字列」になっていないか … セルに「1/10(金)」のように曜日まで手入力していると文字列扱いになり、WEEKDAYが効きません。曜日は表示形式で出す方法に切り替えましょう。
- 別シート参照にINDIRECTを使っているか … 祝日判定でエラーになる場合の定番原因です。
- ルールの範囲が意図どおりか … 条件付き書式パネルの「範囲に適用」欄を確認してください。
よくある質問(FAQ)
Q. Excelでも同じ方法でできますか?
A. できます。Excelも「ホーム」→「条件付き書式」→「新しいルール」→「数式を使用して〜」で、同じ=WEEKDAY($A2)=1の式が使えます。祝日判定のCOUNTIFも同様ですが、ExcelではINDIRECTなしで直接別シートを参照できます。
Q. 文字の色も変えられますか?
A. 変えられます。条件付き書式の書式設定スタイルでは、背景色だけでなく文字色・太字なども指定できます。「日曜は赤文字」のような設定も同じ手順です。
Q. 毎年の祝日リストは自動で更新できませんか?
A. 完全自動にはGoogleカレンダーの祝日データをGASで取り込む方法などがありますが、年1回のリスト更新のほうが手軽で確実です。内閣府の祝日CSVを年初に貼り付ける運用をおすすめします。
Q. 1行おきの縞模様(交互の背景色)も条件付き書式ですか?
A. 交互の色分けなら、メニューの「表示形式」→「交互の背景色」という専用機能が最も簡単です。条件付き書式でMOD関数を使う方法もありますが、まずは専用機能をお試しください。
まとめ
- 土日の色付けは条件付き書式の「カスタム数式」×WEEKDAY関数で自動化できる
- 基本の式は日曜=WEEKDAY($A2)=1、土曜=WEEKDAY($A2)=7、まとめるならORかWEEKDAY($A2,2)>=6
- 行全体に塗るには範囲を広げるだけ。「$A2」の$は「列だけ固定」の意味
- 祝日は祝日リスト+COUNTIF(INDIRECT(…))で判定し、ルールの順番は祝日を上に
- 色が付かないときは$の位置・左上セル・日付が文字列になっていないかを確認
曜日の「表示」とあわせて設定すれば、日付を入れるだけで完成する予定表になります。あわせて日付に曜日を表示する方法と条件付き書式の基本の記事もご覧ください。







