Excel。日曜日なら行全体を塗りつぶすなら、曜日はTEXT関数で表示すると楽です。
<条件付き書式+TEXT関数>
スケジュール表などで、土曜日だったら青色で日曜日だったら赤色で、しかも行全体を塗りつぶしたい場合、どのようにしたらいいのでしょうか?
条件付き書式をつかいますが、その前の準備として、B列の曜日にはTEXT関数をつかって、表示します。
B2には、
=TEXT(A2,"aaa")
と設定します。オートフィルで数式をコピーしています。
こうすることで、A2の日付が変わると、曜日も連動して変わってくれます。
TEXT関数は、表示形式を設定する関数です。
「”aaa”」と設定すると日付を、曜日で表示できます。なお「”aaaa”」とすれば「○曜日」と曜日をつけて表示します。
ここから、条件付き書式をつかって設定します。
A2:B11を範囲選択します。
ホームタブの条件付き書式にある「新しいルール」をクリックします。
新しい書式ルールダイアログボックスが表示されます。
「数式を使用して、書式設定するセルを決定」をクリックします。
条件を入力するボックスに
=$B2="日"
と設定したら、書式ボタンをクリックして、塗りつぶしたい色を設定します。
最後に、OKボタンをクリックしたら完成です。
「$B2」と複合参照にすることで、対象を行全体にすることができます。
土曜日も同じように設定したい場合には、
=$B2="土"
という条件を追加すればOKです。
今回のポイントは、条件付き書式ではなく、曜日をどのように表示するのがいいのかということです。
単純に、B2に、
=A2
とセル参照させてから、表示形式で「”aaa”」とすれば、日付を曜日に変更してくれますが、条件付き書式で「日」という条件にしても、リアクションしてくれません。
なぜならば、日付を曜日に表示を変えただけだからです。
日付はもともとシリアル値なので、「日」という文字と合致しませんので、リアクションしてくれません。
TEXT関数は、文字型に変えてくれるので、「=”日”」としても、リアクションしてくれるというわけです。
また、WEEKDAY関数をつかう方法もあります。
ただ、直接条件付き書式のルールでWEEKDAY関数を設定するのも面倒ですし、WEEKDAY関数は、日曜日が「1」というような数値で算出されるので、「1」だったら「日」と表示させる関数を別でつくらなければなりません。
このようなことから、TEXT関数で曜日を算出させてから、「土」とか「日」といった文字で条件付き書式の条件を設定するほうが、わかりやすいように感じます。