無料でExcel並み!Google スプレッドシートの使い方

スケジュール表の土日・祝日を自動で色分けしたい! スプシで手間をかけずに日付に色を付ける方法

カレンダーの土日・祝日に自動的に色を付ける

 スケジュールを管理するアプリやサービスは多いですが、部署内のメンバーなどと予定を共有する場合、個人的な予定を隠して公開するとなると設定が面倒。共有が簡単なスプレッドシートで予定表を作成していることも多いのではないでしょうか。その際、土日・祝日の色を都度設定するのは時間の無駄です。“条件付き書式”の機能で自動化しておきましよう。

土日の書式はWEEKDAY関数で判定する

 “条件付き書式”の機能では、指定した条件を満たす場合に指定した書式を設定できます。まずは、土日を判定して自動で色を付けてみます。自動で色を付けたい範囲を選択して、[表示形式]-[条件付き書式]の順に選択します。あらかじめ用意されている条件ではなく、[カスタム数式]で曜日を判定できるWEEKDAY関数を使います。

 WEEKDAT関数の構文は、『WEEKDAY(日付,種類)』となります。[日付]には曜日を判定したい日付を指定します。[種類]は「1」「2」「3」から選択可能ですが、特別な理由がなければ「1」で問題ありません。「1」を指定した場合、WEEKDAY関数の結果は、日曜日「1」、月曜日「2」、…、土曜日「7」となります。

自動的に色を付けたい範囲をドラッグして選択(ここではA3~D33)し、[表示形式]-[条件付き書式]の順にクリックする。
画面右側に[条件付き書式ルール]が表示された。[書式ルール]から[カスタム数式]を選択する
「=WEEKDAY($A3,1)=1」と入力する。最初にドラッグして選択したデータ範囲の開始位置(A3)とWEEKDAY関数の引数[日付]の参照するセル($A3)がずれていると正しく判定できないので要注意。引数[種類]に「1」を指定している場合、日曜日は「1」となるため、「=1」で日曜かどうかを判定できる。[書式設定のスタイル]で色を指定して、[完了]ボタンをクリックする
条件付き書式が設定され、日曜日の行に色がついていることがわかる。続けて、土曜日の色を設定する。[条件を追加]をクリックする
日曜日と同様に[カスタム数式]を選択する。土曜日を判定したいので「=WEEKDAY($A3,1)=7」と入力。色を指定して[完了]ボタンをクリックする

 WEEKDAY関数を使って「=WEEKDAY($A3,1)=1」「=WEEKDAY($A3,1)=7」と条件を入力しました。判定する条件(「=1」や「=7」)を正しく指定するのはもちろんですが、注意点が2つあります。これらを間違えると曜日が正しく判定されません。

  • “条件付き書式”を設定したいデータ範囲の開始位置(A3)とWEEKDAY関数の引数[日付]で参照するセル($A3)を一致させること
  • 行全体に色を付けるために、列を固定する複合参照「$A3」とすること

祝日はCOUNTIF関数でリストを参照する

 祝日に色を付けたい場合は、あらかじめ祝日のリストを用意しておきます。[カスタム数式]を指定するまでの操作は土日と同じです。日付を判定する数式にCOUNTIF関数を使います。COUNTIF関数は、指定した範囲のうち、条件に一致するデータの数を数えます。構文は、『COUNTIF(範囲,条件)』となります。[範囲]は参照するデータ範囲、[条件]には、数値や文字列など判定条件を指定します。

 ここでの例では、祝日リストの日付を参照して、予定表の日付に一致すれば、結果は「1」となるので、祝日かどうかを判断できるという仕組みです。

範囲をドラッグして選択し、[表示形式]-[条件付き書式]の順にクリックし、[書式ルール]から[カスタム数式]を選択しておく。「=COUNTIF($G$3:$G$40,$A3)=1」と入力する。「$G$3:$G$40」は参照する祝日リストの日付、「$A3」は予定表の日付。「=1」で、祝日リストの日付が予定表の日付にあるかどうかを判定する

 祝日リストに追記することを想定して、引数[範囲]の終端は「$G$40」としました。この範囲に追加された日付も自動的に色が付きます。

参照するデータ範囲($G$3:$G$40)に日付を追加した例。追加した日付に一致する行に自動的に色が付く

 条件付き書式で使える関数は他にもあります。例えば、セルが空白かどうかを判定するISBLANK関数。「重要」などの項目を用意しておき、チェックを付けた内容は赤字にするといった使い方も可能です。

条件に「=ISBLANK(D3)=FALSE」と指定した例。[重要]列にチェックがある場合、C3からC33の文字列を赤字にした