ADVERTISEMENT

【Googleスプレッドシート】土日のセルを灰色に!WEEKDAY関数を使った日付の自動色分け

【Googleスプレッドシート】土日のセルを灰色に!WEEKDAY関数を使った日付の自動色分け
🛡️ 超解決

スケジュール表やカレンダーを作成するとき、土日だけを自動で灰色にできたら便利だと思ったことはありませんか。手動で塗りつぶすのは手間がかかるうえ、毎週更新するたびにミスが起こりがちです。WEEKDAY関数と条件付き書式を組み合わせることで、土日を自動的に灰色にできるようになります。この記事では、その具体的な設定手順と、よくあるトラブルの対処法を解説します。

【要点】WEEKDAY関数で土日を自動灰色化する3つのステップ

  • 条件付き書式のカスタム数式に =WEEKDAY(日付セル,2)>5 を設定: 土曜日(6)と日曜日(7)を判定して灰色の塗りつぶしを適用します。
  • 範囲を指定して複数のセルに一度に反映: 日付が入っている列全体や行全体にルールを設定することで、新しく追加した日付も自動で色分けされます。
  • 書式の優先順位を確認して競合を回避: 他の条件付き書式ルールがある場合は、土日のルールを最上部に移動することで正しく灰色になります。

ADVERTISEMENT

WEEKDAY関数の仕組みと条件付き書式の連携

WEEKDAY関数は、日付から曜日を数値で返す関数です。引数に日付セルを指定し、第2引数で曜日の番号の振り方を選びます。第2引数を2にすると、月曜日が1、火曜日が2、…、日曜日が7となります。土曜日は6、日曜日は7になるため、6より大きいかどうかを判定すれば土日だけを抽出できます。

条件付き書式の「カスタム数式」にこのWEEKDAY関数を指定することで、条件に合致したセルだけを灰色に塗りつぶせます。スプレッドシートは日付の変更や追加を検知して自動的に書式を更新するため、一度設定すれば手間いらずです。

土日を自動で灰色にする設定手順

ここでは、日付がA列に入力されているシートを例に、土日のセル全体を灰色にする手順を説明します。他の列に日付がある場合も、範囲の指定を変えるだけで同じ方法が使えます。

  1. 日付が入力されている範囲を選択する
    A列の日付セル全体を選択します。例えばA2からA100まで日付が入っている場合は、A2をクリックしてからShiftキーを押しながらA100をクリックします。あらかじめ日付が入力されている範囲より広めに選択しておくと、後から追加した日付にも自動適用されます。
  2. 「書式」メニューから「条件付き書式」を開く
    メニューバーの「書式」をクリックし、「条件付き書式」を選択します。画面右側に条件付き書式の設定パネルが表示されます。
  3. 新しいルールを追加する
    パネルの「+ 別のルールを追加」ボタンをクリックします。ルールの編集画面が表示されます。
  4. 「カスタム数式」を選択し、数式を入力する
    「セルの書式設定条件」のプルダウンから「カスタム数式」を選びます。表示されたテキストボックスに次の数式を入力します。
    =WEEKDAY(A2,2)>5
    ここでA2は選択範囲の先頭セルを指します。範囲が$A$2:$A$100のように絶対参照になっている場合は、$を外してA2のように相対参照にしてください。
  5. 書式スタイルを設定する
    「書式スタイル」の塗りつぶしアイコン(バケツマーク)をクリックし、灰色(例:#cccccc)を選択します。文字色やフォントスタイルを変更したい場合はここで設定します。
  6. 「完了」をクリックしてルールを適用する
    パネル下部の「完了」ボタンをクリックします。選択した範囲内の土曜日と日曜日のセルが灰色になります。

この手順で、土日のセルが自動的に灰色に塗りつぶされるようになります。日付を追加・変更しても、条件付き書式が自動で再計算されるため、手動で色を変える必要はありません。

応用:行全体を灰色にする場合

カレンダー形式で1行が1日分のデータになっている場合、行全体を灰色にしたいこともあるでしょう。その場合は、選択範囲をA列だけでなく、灰色にしたい列すべてに広げます。例えばA2からE100まで選択します。そしてカスタム数式を =WEEKDAY($A2,2)>5 のように、日付が入っている列(ここではA列)を絶対参照に固定します。これで、A列が土日である行全体が灰色になります。

設定時の注意点とよくあるトラブル

日付が文字列として認識されるとき

日付を手入力した場合や、別のシステムからインポートした場合、日付が文字列として扱われていることがあります。WEEKDAY関数はシリアル値としての日付にしか使えません。その場合は、DATEVALUE関数を使って文字列を日付に変換するか、セルの書式を日付に変更してください。変換後、再度条件付き書式が正しく動作するかを確認しましょう。

条件付き書式の優先順位が原因で灰色にならない

既に別の条件付き書式ルールが設定されていると、土日のルールが上書きされることがあります。条件付き書式パネルでルールの順序を確認し、土日のルールを一番上に移動してください。ルールは上から順に評価され、最初に合致したルールが適用されます。土日ルールを最優先にすることで、他のルールに邪魔されずに灰色になります。

土日だけではなく祝日も灰色にしたい場合

祝日を追加するには、条件付き書式のルールを別途設定する必要があります。例えば、祝日一覧を別のシートに用意し、MATCH関数やCOUNTIF関数を使って判定します。カスタム数式に =OR(WEEKDAY($A2,2)>5, COUNTIF(祝日リスト!$A:$A, $A2)>0) のように記述すると、土日と祝日の両方を灰色にできます。ただし、祝日リストはあらかじめ正しく入力しておいてください。

土日だけ別の色にしたい場合

土曜と日曜を別の色にしたい場合は、2つの条件付き書式ルールを作成します。1つは土曜日用( =WEEKDAY($A2,2)=6 )、もう1つは日曜日用( =WEEKDAY($A2,2)=7 )です。それぞれに異なる塗りつぶし色を設定します。これにより、土曜は薄灰色、日曜は濃い灰色といった使い分けが可能です。

ADVERTISEMENT

WEEKDAY関数の第2引数による曜日番号の違い

WEEKDAY関数の第2引数を変更すると、曜日の番号が変わります。土日を判定するときによく使う引数は「2」ですが、他にもいくつかあります。以下の表で比較します。

第2引数 曜日番号の割り当て 土日を判定する数式
1(省略時) 日曜=1、月曜=2、…、土曜=7 =OR(WEEKDAY(日付)=1, WEEKDAY(日付)=7)
2 月曜=1、火曜=2、…、日曜=7 =WEEKDAY(日付,2)>5
3 月曜=0、火曜=1、…、日曜=6 =WEEKDAY(日付,3)>4

第2引数2を使うと数式が短く済みます。引数1はデフォルトですが、土日を判定するにはOR関数が必要になるため少々煩雑です。どの引数を選んでも目的は達成できますが、メンテナンス性を考慮して第2引数2をおすすめします。

まとめ

WEEKDAY関数と条件付き書式のカスタム数式を使えば、土日のセルを自動的に灰色にできます。設定は数分で完了し、日付の追加や変更にも自動で追従します。今回紹介した手順では、=WEEKDAY(日付セル,2)>5 という数式を使いました。応用として行全体を灰色にしたり、祝日を追加したりすることも可能です。ぜひ自分のスケジュール表やカレンダーに取り入れて、作業の効率を上げてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。