You are here: Home \ Google Drive ・ Office \ スプレッドシート・エクセル \ 【スプレッドシート】土日の背景色を条件付き書式ルールを利用して変える

    【スプレッドシート】土日の背景色を条件付き書式ルールを利用して変える

    特定の条件の時にセルのスタイルを変えたい場合は「条件付き書式ルール」を利用します。
    条件を入力し対象セルの値と一致していれば発動し、セルや文字のスタイルを変化させることができます。

    条件付き書式ルールで背景色を変える

    ルールを適応したいセルを選択し、右クリックするとメニュー下部に条件付き書式...という項目が存在するのでクリックします。
    20150424sc3

    右側に「条件付き書式設定ルール」というツールバーが表示されるので「新しい条件を追加」をクリック。
    20150424sc4

    こちらが設定画面。
    中央の「セルの書式設定の条件」で『どういう場合に色(スタイル)を変化させたいか』を指定します。
    デフォルトだと「空白ではないセル」となっており、この例で言うとA2は空白ではなく日付が入っているため条件が満たされてスタイルが発動し、背景色が緑色になります。
    20150424sc7

    「セルの書式設定の条件」のプルダウンをクリックするとこのように簡易的な条件が出てきます。
    しかしエクセルやスプレッドシートに多少なりとも慣れてる方にとってはかえって分かりづらいかと思います。
    そういう方は一番下の「カスタム数式」を使用しましょう。
    20150424sc6

    先ほどの空白ではないセルをカスタム数式に置き換えるとこうなります。
    20150424sc8

    これで「特定の条件の時に背景色や文字の色を変える方法」がわかったので次は「土日」の判定方法を調べてみます。

    土日だったらtrueを返すルールを作成する

    先ほど説明した「条件付き書式ルール」の「カスタム数式」とWEEKDAYを組み合わせると土日の背景色を変えることができます。

    土日だったらtrueを返すルール

    土曜「 =WEEKDAY(A1)=7 」
    日曜は「 =WEEKDAY(A2)=1 」
    といった形で判定ができます。
    A1に入力されている値が日付であり、かつ土曜日であればtrueと判定されます。

    WEEKDAY関数

    上の式の解説なので、とりあえず変えれれば良いという方は読み飛ばして下さい。

    曜日の判定にはWEEKDAY関数を使用します。
    WEEKDAY関数は日付を渡すと数値を返す関数です。

    WEEKDAY - ドキュメント エディタ ヘルプ

    構文
    WEEKDAY(date, [type])

    date - 曜日を検証する日付です。日付を含むセルへの参照、日付の種類を返す関数、または数値を指定します。

    type - [省略可 - デフォルトは 1] - 曜日を表すのに使用する番号方式を数値で指定します。デフォルトでは、日曜日を先頭にして数えます(日曜日 = 1)。

    type が 1 の場合、曜日を日曜日から数え始めて日曜日の値を 1 とするため、土曜日の値は 7 となります。
    type が 2 の場合、曜日を月曜日から数え始めて月曜日の値を 1 とするため、日曜日の値は 7 となります。
    type が 3 の場合、曜日を月曜日から数え初めて月曜日の値を 0 とするため、日曜日の値は 6 となります。

    第二引数を省略した場合の返り値

    第一引数 返り値
    日曜 1
    月曜 2
    火曜 3
    水曜 4
    木曜 5
    金曜 6
    土曜 7

    第二引数を指定した場合の返り値

    第二引数は省略可能で、使用する機会はあまり無いと思いますが対応表を置いておきます。デフォルトは1となっています。
    基本的には第一引数だけで運用して問題無さそうです。
    20150424sc2

    WEEKDAY関数を使う時の注意点

    第一引数で自動変換を行わない点に注意が必要です。
    例えば2015年1月5日を渡したい場合に
    WEEKDAY("2015/1/5") と入力すると正常な返り値である 2 が返ってきますが、
    WEEKDAY(2015/1/5) と入力すると「 2015 ÷ 1 ÷ 5 = 403 」という除算が行われた上で
    WEEKDAY(403) と解釈され、1901年2月6日の曜日である水曜日の返り値 4 が帰ってきてしまいます。
    なぜ403が1901年2月6日を表すかというとスプレッドシートやエクセルの日付型は1900年1月0日(1899年12月31日)を起点としており、そこから403日後が1901年2月6日なのです。
    1900年1月0日から42009日後2015年1月5日なので、WEEKDAY(42009) と値を渡すと2015年1月5日の返り値 2 が返ってくることになります。
    今回の条件付き書式ルールで使用する場合は日付型が入っている他のセルを参照しますので問題はありませんが、
    通常の関数として使用する場合は注意して下さい。

    「条件付き書式ルールで背景色を変える」と「土日の判定」を組み合わせる

    では「条件付き書式ルール」の「カスタム数式」とWEEKDAY関数を組み合わせてみましょう。
    分かりやすいように土曜・日曜で別々のルールとして設定します。

    1.セルを右クリックし、「条件付き書式」をクリック
    2.「新しい条件を追加」をクリック
    3.「範囲に適用」から適用する範囲を設定します。(例 A2:A32 )
    4.「セルの書式設定の条件」をカスタム数式に設定。
    5.「値または数式」に「 =WEEKDAY(A2)=1 」と入力します。(日曜だった場合にスタイルを変更する)
    6.「書式設定のスタイル」からデザインを整えます。文字色・背景色・太字・斜体・取り消し線が設定できます。
    7.「完了」を押して保存
    20150424sc9

    保存したらもう1度「新しい条件を追加」をクリックし、
    5の式を「 =WEEKDAY(A2)=7 」として上記の手順を繰り返します。

    祝日を判定するのは少し面倒になってきますのでこちらを参考にして下さい。
    【スプレッドシート】別シートの国民の祝日一覧から判定してセルの背景色を変える

    About author:

    コメントを残す