Excelでカレンダーを作っていますが、曜日の手入力が面倒です。
なにか良い方法はないでしょうか。
本記事ではこのような悩みにお応えします。
記事の内容
- TEXT関数の紹介
- 曜日の自動色分け方法(条件付き書式設定)
- TEXT関数の曜日の自動入力以外の使い方
記事を書いた人
Excelにはさまざまな関数が機能として搭載されています。
そのひとつTEXT関数は、日付から曜日を表示してくれる便利な関数です。
Excelでカレンダーをつくるときに、いちいち曜日を手入力しているのであれば、この機会に自動入力に切り替えましょう。
日付から曜日を表示(TEXT関数)
TEXT関数を使うと、日付から曜日を自動的に表示してくれます。
例えば、下図のようにA列に日付を入力し、B列にTEXT関数を入力すると、あっという間に曜日を表示してくれます。
いちいち曜日を調べる必要がないし、手入力も不要です。
特に今年以外の日付の曜日を入力する場合は、一気に楽になります。
TEXT関数の式は次のようにあらわされます。
=TEXT(日付, 表示形式)
日付 | yyyy/mm/ddの形式で入力する または yyyy/mm/ddの形式で入力されたセルを指定する |
表示形式 | "aaa":省略された曜日で表示 (例)土 "aaaa":省略されずに曜日を表示 (例)土曜日 "ddd":省略された曜日を英語で表示 (例)Sat "dddd":省略されずに曜日を英語で表示 (例)Saturday |
「日付」を変更するだけで、自動的に曜日が変わってくれます。
条件付書式設定で曜日を自動色分け
曜日を入力できるようになったら、次はぱっと見で休日が認識できるように色分けをしたくなると思います。
休日の色分けは、条件付き書式設定により自動化が可能です。
色分けの方法は2つあります。
- テキストで指定して色分け
- WEEKDAY関数を使って色分け
このうちテキストで指定する方法がシンプルで初心者向きです。
でもWEEKDAY関数のほうが便利なので、まずはチャレンジしてみても良いかもしれません!
テキストで指定して色分け(初心者向け)
テキストで指定する場合、たとえば、土曜日であれば「土」という文字列を含むセルの書式を設定することになります。
①まず曜日が表示された列を選択します。
②上のリボン内の「条件付き書式」をクリックします。
③プルダウンで表示されるメニューから「新しいルール(N)」をクリックします。
④ポップアップ表示があるので「指定の値を含む列を書式設定」をクリックします。
⑤「ルールの内容を編集してください」から、特定の文字列→次の値を含むの順に選択し、色付けしたい曜日(文字列)を入力します。
例えば、「土」などの文字列を入力します
⑥書式(E)をクリックします。
⑦ポップアップ表示があるので、好みの色を選択します。
⑧OKをクリックします。
これを色付けしたい曜日ごとに繰り返します。
すると下図のように曜日ごとに自動的に色付けされるようになります(今回は土日だけ色付けされるようにしました)。
この方法の欠点は、日付までは色付けされない点です。
文字列で指定しているので、「土」などの文字列が含まれない日付には色が反映されません。
WEEKDAY関数を使って色分け
WEEKDAY関数は、テキストで指定するよりも便利に色分けできるようになります。
やり方は途中まで同じです(①〜③まで)。
④ポップアップ表示があるので「数式を使用して、書式設定するセルを決定」をクリックします。
⑤「次の数式を満たす場合に値を書式設定(O)」にWEEKDAY関数を入力します。
=WEEKDAY(セル)=数字
※WEEKDAY関数は後程触れます。
⑥~⑧は先ほどご照会したテキストによる指定方法と同じ手順です。
そうすると下図のように、曜日だけでなく、日付も色付けされるようになります。
A列の日付を変更すると自動的に曜日も変わるし、色付けも変わります。
試してみてください。
なお、WEEKDAY関数は次のようにあらわされます。
=WEEKDAY(セル)=数字
セル | Excel内で日付が入力されたセルを選択する ※ポイントは「$A1」のような形式で指定すること |
数字 | 1:日曜日を色付けする 2:月曜日を色付けする 3:火曜日を色付けする 4:水曜日を色付けする 5:木曜日を色付けする 6:金曜日を色付けする 7:土曜日を色付けする |
表に記載のように、WEEKDAY関数で指定した数字に対応した曜日が色付けされます。
今回のケースでは、以下のように指定しています(土曜日の場合)。
=WEEKDAY($A1)=7
また、WEEKDAY関数のポイントは「セル」の指定方法にあります。
「$A1」のようにアルファベットの前にドルマークを加えてください。
これによって、色付けしたい範囲の全てのセルで、自動色分けしてくれるようになります。
今回のケースでは、日付が縦に並んでいるので「$A1」になります。
日付が横に並んでいる場合は「A$1」と指定します。
今回の例では
土曜日:"=WEEKDAY($A1)=1"
日曜日:"=WEEKDAY($A1)=7"
の二つのルールを作っています。
こうすることで指定した範囲に土曜日、日曜日の日付が入ると自動的に色付けしてくれるようになります。
TEXT関数は使い道が多数
TEXT関数は曜日を表示してくれる関数ですが、実はできることはそれ以外にもあります。
TEXT関数は本来は、指定した値の表示形式を変えてくれる関数です。
例えば、
- 小数をパーセンテージ表記にする
- 単純な数字の羅列を会計数値にする
などができます。
よく使うものを掲載します。
日付に関するもの | |
aaa または aaaa | 土 または 土曜日 |
ddd または dddd | Sat または Saturday |
yyyy | 2023 |
mm | 05 |
dd | 10 |
時間に関するもの | |
hh | 23 |
mm | 59 |
ss | 59 |
数値に関するもの | |
% | 25% |
¥ | ¥2000 |
/ | 1/2 |
曜日以外の用途でも使ってみてくださいね。
TEXT関数で効率的に曜日設定
TEXT関数は、効率的に曜日を表示してくれる関数です。
条件付き書式+WEEKDAY関数と合わせて使うことで、日付にあわせて自動で色分けできるので、さらに使いやすくなります。
- カレンダーを買うのがもったいない
- 市販のカレンダーではもの足りない
- Excelでスケジュール管理する必要がある
そんな方はぜひTEXT関数を使って、自分好みのカレンダーを作ってみてください。
いちいち手入力しなくてよいのでかなり楽ですよ。