« Excel の表を Excel で編集できる形で PowerPoint に貼り付ける。( Mac ) | トップページ | 仕事で「なんだかなあ」と感じた表現 »

Excel で土日、祝日のセルに色を付ける。(TEXT関数を使用)

この記事は自分用の覚書です。

■macOS Catalina バージョン10.15.7
■Microsoft 365 Business Standard サブスクリプション
Excel for Mac バージョン16.44(20121301)

S.R さん。

Excel で土日と祝日のセルに色を付けるやり方ですが、TEXT関数を使うやり方を教わったので共有です。

ネット上では、条件付き書式とWEEKDAY関数を組みわせる例をよく見ます。

私もこれまでWEEKDAY関数を使っていましたが、わかってみると、TEXT関数を使ったほうがよりよいと感じました。
というのは、条件付き書式のなかで数式を見て何をしているかを理解しやすいのは、TEXT関数のほうだからです。

仕事でつくるファイルは、誰のものでもなく皆のものです。
誰がいつ見ても理解しやすくつくっておくほうがよいと、私は思います。

■使用する機能
名前の定義
条件付き書式

■使用する関数
TEXT関数
COUNTIF関数

祝日の一覧をつくっておく。

祝日のセルに色を付けるには、元になる祝日の一覧を用意しておかなければなりません。
これは地道に手作業ですね。エクセルには、日本の祝日を一覧で出力してくれる機能や関数はありません。

祝日の一覧ができたら、それらのセル範囲に名前を付けておいてください。
下記では、セル A1 から A17 までを選択して、「祝日一覧」という名前を付けています。

B列にある祝日の呼称は、あったほうが見やすいかなと思って添えただけです。
このあとの作業ではB列は使わないので、無くてもかまいません。

01namae_syukujituitiran

土日の日付が入ったセルに色を付ける。

次図は色を付けたいセル範囲( A1 から A24 )です。
曜日も見えたほうがわかりやすいと思ったので、そうしてあります。
曜日はユーザー定義書式を使って表示しています。

02hiduke

ユーザー定義書式では、 yyyy/m/d(aaa) と指定しています。
これで日付の右隣に、カッコで囲んだ曜日が表示されます。

aaa で 土、日といった漢字一文字での表示になります。

"土曜日" というように "曜日" まで表示したければ、aaaa と a を4つ打ってください。

03cell_userteigi_youbi

小文字の a を使った曜日の表示の指定は、TEXT関数の引数でも使います。
TEXT関数の書式は、 TEXT(値,表示形式) です。

図では、TEXT(A1,"aaa") の式で「金」という文字列が返っています。
TEXT関数が返す答えはすべて文字列です。

04text_kansu

このTEXT関数を使って、「TEXT関数の答えが "土" なら、セルに色を付ける」、「"日" ならセルに色を付ける」という条件を、条件付き書式で設定します。

次図での数式は、 =TEXT(A1,"aaa")="土" となっています。
「土曜日を条件にしている」と、ぱっと見て理解しやすいと思います。

色は適当に選びました。

Joukentukisyosiki_text_kansu_doyou

さらに、右端の "" のなかを 日 に変えた条件を追加します。

Joukentukisyosiki_text_kansu_nitiyou

これで土日の色付けはできました。次は祝日です。

なお、上記では条件付き書式を設定している列が一列だけなので、数式のなかのセル参照は相対参照のままにしています。

複数列に対して条件付き書式を設定するなら、列を絶対参照にしてください。

たとえば、上記の数式を使うなら、=TEXT($A1,"aaa")="土" のようにA列を絶対参照にします。
A列にある日付の曜日が条件なので、A列を絶対参照にしておかないといけません。

あるいは、1行目に日付が入力されていて、複数行に条件付き書式を設定するなら、=TEXT(A$1,"aaa")="土" ですね。

祝日の日付が入ったセルに色を付ける。

ここで COUNTIF関数を使います。
指定した日付が、祝日の一覧のなかに「いくつあるか」を調べます。

当然ですが、答えは常に「1」です。
ある日付を祝日の一覧のなかで探すのですから。

ということで、「COUNTIF関数の答えが 1 である」という数式を、条件付き書式で設定します。
条件付き書式で設定する数式は次のようです。

Joukentukisyosiki_counif_iro

COUNTIF関数の書式は、COUNTIF(範囲,検索条件) です。

引数「範囲」には、さきに名前を付けた「祝日一覧」を入力します。
(残念ですが、Excel for Mac には上記の画面で Windows版Excel のように F3 キーで名前を呼び出す機能は今のところありません。)

引数「検索条件」には、色付けしたい日付が入ったセルを指定します。

これで、土日と祝日のセルに色をつけることができます。

数式内のセル参照を相対参照にするか、絶対参照にするかはTEXT関数と同じです。

複数列に条件付き書式を設定するなら、COUNTIF(祝日一覧,$A1)=1 になります。
1行目に日付を入力している場合は、COUNTIF(祝日一覧,A$1)=1 になります。

祝日以外の休日への対応。

有給休暇とか祝日以外の休日も色を付けることがわかっているなら、一番上にある画像の表をテーブルに変換して、日付が入っているセル範囲に名前を付けておくと便利です。

以下では、テーブルに変換後にセル A2 から A18 までに「祝日一覧」という名前を付けています。
テーブルにしてあるので、あとから日付を追加しても、条件付き書式の数式で指定しているセル範囲を変えなくてもよくなります。

Photo_20220422162501

WEEKDAY関数について。

WEEKDAY関数が返す答えは、常に数字です。

たとえば、引数「種類」で 2 を指定すると、指定した日付が月曜なら 1 を返します。火曜日なら 2 返します。
土曜日なら 6 で、日曜日なら 7 が返ります。

05weekday_kansu

下図では、「WEEKDAY関数の答えは 6 である(答えが土曜日である)」という条件を指定しています。

Joukentukisyosiki_weekday_kansu_doyou

引数「種類」で 2 を指定しているので、日付が土曜日なら 6 が返ってきます。
"2 を指定すると土曜日なら 6 が返る" と記憶していなければ、数式を見て何をしているかを理解できません。

それだけではありません。そのことを記憶していないと、そもそも数式を入力することもできません。
条件付き書式の入力欄では、関数ヒントが表示されないですから。

TEXT関数でも書式を記憶しておくことは変わりませんが、記憶にかかる負担が少ないです。
「第二引数を "aaa" とすれば漢字一文字の曜日が返る」と覚えておくだけです。

さらに、"2 を指定すると土曜日なら 6 が返る" というのは、WEEKDAY関数の引数「種類」で 2 を指定した場合です。

他の数字を指定したら、同じ土曜日でも返ってくる数字が異なります。
「種類」のところで 1 を指定したら、土曜日の場合は 7 が返ってきます。

こう考えると、TEXT関数を使うほうが誰がいつ見ても何をしているかを理解しやすので、この件ではTEXT関数を使うべきだと思いました。

|

« Excel の表を Excel で編集できる形で PowerPoint に貼り付ける。( Mac ) | トップページ | 仕事で「なんだかなあ」と感じた表現 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« Excel の表を Excel で編集できる形で PowerPoint に貼り付ける。( Mac ) | トップページ | 仕事で「なんだかなあ」と感じた表現 »