ブログ

【Excel】WEEKDAY関数で出力された曜日から条件付き書式で特定の曜日の行全体に色を付ける

何らかの文字列を判定して、文字の書式などを変える場合に便利な「条件付き書式」。
例えば勤務表で「日曜日の行全体をピンク色に変えたい」場合、曜日が「文字列として出力されている」のか「セルの書式設定で文字列に見せているのか」で条件の指定方法が変わります。今回はExcelの「条件付き書式」設定方法の備忘録です。

曜日を表示させるセルに月~日までの曜日が直接文字として入力されてる場合

条件として判定させたい曜日が文字として直接セルに入力されている場合は、以下の方法で一致する文字列がある行の背景に色を付ける事ができます。ここでは「土」の文字列がある行にピンクの色を付けます。

書式を設定したい行を範囲で選択します。

「条件付き書式」から新しいルールを作成

「数式を使用して、書式設定するセルを決定」をクリックして条件を入力し書式を設定

「次の数式を満たす場合に値を書式設定」に=$C5="土"と入力し「書式」ボタンから「塗りつぶし」タブを開いて色を設定します。完了したら「OK」をクリックして画面を閉じます。

数式の結果が一致する行の背景に色がつきました。

WEEKDAY関数で出力された曜日を「セルの書式設定」の「表示形式」で文字列に見せている場合

WEEKDAY関数で出力された曜日は「数字」で出力されます。1が日曜日で7が土曜日です。数字では何曜日かわかりずらいので、通常は「セルの書式設定」の「表示形式」から日本語に変換して表示させると思います。

曜日を文字列に変換する方法として「セルの書式設定→表示形式」の「ユーザー定義」で「aaa」と定義すると、出力されている数値が「月」や「金」といった日本語文字列に変換されます。ちなみに「aaaa」と定義すると「月曜日」「金曜日」となります。

ただしWEEKDAY関数で出力された数値を、表示形式から日本語に変換した場合は、上記の「曜日を表示させるセルに月~日までの曜日が直接文字として入力されてる場合」の方法では、条件付き書式の条件がTRUEになりませんので、行の色を変える事ができません。

「セルの書式設定」の「表示形式」で文字列に見せている場合は、以下の方法で条件判定が可能になります。ここでは「土」と「日」の行にピンク色の書式を設定する方法を解説しますが、その前にWEEKDAY関数について簡単な説明を。

WEEKDAY関数

書式

=WEEKDAY(シリアル値,種類)

「種類」は1~3まであり以下の通りです。種類を省略した場合は「1」となります。

種類
1 1 2 3 4 5 6 7
2 1 2 3 4 5 6 7
3 0 1 2 3 4 5 6

上記の通りとなります。
土日の書式をまとめて指定する場合、種類を「2」にした時には返される値を「6以上」に、種類を「3」にした時は返される値を「5以上」になる数式を指定します。

書式を設定したい行を範囲で選択します。

条件付き書式」から新しいルールを作成

「数式を使用して、書式設定するセルを決定」をクリックして条件を入力し書式を設定

「次の数式を満たす場合に値を書式設定」に=WEEKDAY($C5,3)>=5と入力し「書式」ボタンから「塗りつぶし」タブを開いて色を設定します。完了したら「OK」をクリックして画面を閉じます。

数式の結果が一致する行の背景(土日)に色がつきました。

セルの書式設定ではなくTEXT関数を使って曜日を表示させている場合

曜日を表示するセルに以下の関数を入れておくと、WEEKDAY関数で出力された曜日の数値を文字列として変換しつつ「曜日を表示させるセルに月~日までの曜日が直接文字として入力されてる場合」と同じ条件判定が可能となります。

TEXT関数

=TEXT(WEEKDAY(B7),"aaa")

この記事を書いた人管理人

SAKURAGRAPHICA代表
会社員の傍ら、フリーランスでWEBサイトの制作やWordPressによるCMSの構築・障がい者の就労支援としてホームページ制作の職業指導員も行っております。

SAKURAGRAPHICAができること

最近の記事 おすすめ記事
PAGE TOP