いまさら聞けないExcelの使い方講座

【Excel】「土曜は青、日曜は赤」のスケジュール表、WEEKDAY関数よりもっと簡単に作る方法は?

「土曜は青、日曜は赤」になるようなスケジュール表を作るのは案外面倒……

 普段、Excelでスケジュール管理をしている人は、案外少なくないのではないでしょうか。Excelのスケジュール表も、市販のカレンダーのように土日の日付に色を付けられます。本連載でも、そのやり方について何度か取り上げてきました(詳しくは、以前の記事を参照してください)。

 以前の記事では、「条件付き書式」と「WEEKDAY関数」を使って「土曜は青、日曜は赤」のスケジュール表を作成する方法を解説しました。WEEKDAY関数は、引数で指定した日付に対応する曜日を1~7の数値で返してくれる関数で、このようなスケジュール表を作成する際に便利な関数です。でも、WEEKDAY関数を使った条件式の指定方法は少し覚えにくいのがネックです。

 例えば、日曜の日付が入力されたセルに書式設定したい場合は、[新しい書式ルール]ダイアログボックスの[次の数式を満たす場合に値を書式設定]欄で、「セルの値が日曜の場合」という意味の条件式を入力する必要がありますが、WEEKDAY関数を使うと、「=WEEKDAY(セルの値)=1」(①)のように入力する必要がありました。この「1」という数値が「日曜」を意味するのですが、どの曜日とどの数値が対応するのか、いちいち覚えていなければならないので、結構面倒です。

 そこで今回は、WEEKDAY関数ではなくTEXT関数を使ってみましょう。TEXT関数なら、構文さえ習得できれば、WEEKDAY関数で必須だった曜日と数値の対応づけをいちいち覚えなくてもよくなります。本記事では、まず、TEXT関数について解説したあと、実際にTEXT関数を使ってスケジュール表を作成していきます。

まずはTEXT関数について学ぼう

 TEXT関数は、引数として渡した数値を文字列に変換し、指定した表示形式で表示する関数です。次のような書式で記述します。

 例えば、「2020/7/1」のような日付データを引数として渡すと、「7月1日」や「7/1(水)」などの表示形式を設定し、文字列に変換することができます。

 実際にやってみましょう。次の例では、セルA2に「2020/7/1」(①)という日付データが入力されています。この日付に表示形式を指定して、「2020/7/1」に対応する曜日を表示してみましょう。セルB2に「=TEXT(A2,"aaa")」(②)と入力します。TEXT関数の2つ目の引数に「"aaa"」を指定すると、引数の日付に対応する曜日を、「月」や「火」のような曜日の省略形で表示できます。

 [Enter]キーを押すと、セルB2に「水」(③)と表示されます。「2020/7/1」に対応する曜日、つまり水曜日の省略形を表示できましたね。

 なお、TEXT関数の2つ目の引数に指定する表示形式は、セルにユーザー定義の表示形式を設定する時に使う書式と同じです。ユーザー定義の表示形式については、以前の記事をご覧ください。

 TEXT関数の使用法を理解できたら、実際にスケジュール表を作成していきましょう。

「条件付き書式」と「TEXT関数」を使ってスケジュール表を作ろう

 次の「7月スケジュール表(前半)」(①)を使って、「土曜は青、日曜は赤」になるようなスケジュール表を作成しましょう。今回は、条件付き書式を使って、曜日に合わせてセルの背景色が青色や赤色に変更されるようにします。

 なお、A列の「日付」には日付データを入力しておきます。ここでは「2020/7/1」と入力し、「m"月"d"日"(aaa)」という表示形式を設定しています。「7月1日(水)」と入力すると文字列となり、日付データとして入力されないので注意してくださいね。

 まず、日曜の日付が入力されたセルの背景色を赤色に設定してみましょう。日付が入力されたセル範囲(ここではセル範囲A3:A17)(②)を選択した状態で、[ホーム]タブ(③)→[条件付き書式](④)→[新しいルール](⑤)をクリックします。

 [新しい書式ルール]ダイアログボックスが表示されるので、[ルールの種類を選択してください]欄から[数式を使用して、書式設定するセルを決定](⑥)を選択します。その下の[次の数式を満たす場合に値を書式設定]欄に、TEXT関数を使って、「=TEXT(A3,"aaa")="日"」(⑦)と入力します。これで、「セルA3に入力された日付の曜日が日曜の場合」という意味の条件式になります。

 続けて[書式](⑧)をクリックし、この条件式を満たす時に適用する書式を設定していきます。今回は、セルの背景色を赤色に設定します。

 [セルの書式設定]ダイアログボックスが表示されたら、[塗りつぶし]タブ(⑨)をクリックし、背景色に設定したい色(⑩)をクリックします。

 セルに濃い色の背景色を設定している場合、文字色は薄い色にすると視認性が上がるので、ここでは文字の色を白に変更しましょう。[フォント]タブ(⑪)をクリックして、[色]欄から白(⑫)を選択します。

 さらに、文字が背景色に埋もれてしまわないように、太字にしましょう。[スタイル]欄から[太字](⑬)を選択します。

 書式の設定が終わったら、[OK](⑭)をクリックします。

 再び、[新しい書式ルール]ダイアログボックスが表示されるので、設定した書式が[プレビュー]に表示されていることを確認(⑮)して、[OK](⑯)をクリックします。

 シートに戻ると、日曜の日付のセルが赤色で塗りつぶされていますね(⑰)。

 同様にして、土曜の日付が入力されたセルの背景色を青色に設定してみましょう。この場合、[新しい書式ルール]ダイアログボックスの[次の数式を満たす場合に値を書式設定]欄に入力する条件式は、「=TEXT(A3,"aaa")="土"」(⑱)となります。あとは、セルの背景色、文字色、文字スタイルを同様に設定していけばOKです。

 これで、土曜の日付のセルは青色、日曜の日付のセルは赤色になるように設定できました(⑲)。土日のセルに背景色を設定することで、よりはっきり目立つようになりましたね。

 なお、祝日の日付のセルにも書式設定をしたい場合は、以前の記事を参考にしてください。

TEXT関数を使って「土曜は青、日曜は赤」のスケジュール表を作ってみよう

 今回は、条件付き書式とTEXT関数を使って、「土曜は青、日曜は赤」となるようなスケジュール表を作成するテクを解説しました。TEXT関数という新しい関数を習得する必要はありますが、WEEKDAY関数で必須だった曜日と数値の対応づけを、いちいち毎回思い出さなくてもよくなるので、使いやすいと感じる人は多いはずです。また、TEXT関数の引数に指定する表示形式は、ユーザー定義の表示形式で使う書式と同じものなので、覚えておいて損はありません。ぜひトライしてみてくださいね。