シンプル・スマートな画面録画ソフト EaseUS RecExperts

  • Excelで日付から曜日を出す方法を知りたい
  • 特定の曜日に色を塗りたい

この記事では、以上の疑問にお答えします。

 

シフト表やカレンダーを作製する際に必ず使うのが日付と曜日です。

しかし、日付から曜日を出すのにカレンダーを見ながら曜日を手入力するのはちょっと大変ですよね。

さらに黒一色のカレンダーだと土日や祝日がわかりづらいという問題もあります。

 

そこで当記事では日付から曜日を出す設定方法や関数を紹介した上で、条件付き書式を使って特定の曜日に色を塗る方法を解説します。

画像を使って分かりやすく解説するので、ぜひ1度読んでみてください。

 

 当記事で使用している画像は、Excel 2021(Microsoft 365の最新バージョン)での操作画面です。

過去のバージョンでも基本的な操作方法や関数は変わらないので、過去のバージョンのExcelを利用されている方も、そのままお読みください。

日付から曜日を出す2つの方法

日付から曜日を出すには、同じセルに反映させるかそうでないかによって入力方法が変わります。

それぞれ解説します。

【方法①】セルの書式設定で同じセル内に日付と曜日を同時に出す

同じセル内に曜日を出したいときは、セルの書式設定を変えれば出せます。

以下のブックを使って、実際にやってみましょう。

excel_day_of_week_from_date

日付の入ったセルを選んで右クリックし、セルの書式設定をクリックします。

excel_day_of_week_from_date2

セルの書式設定のダイアログボックスが出たら、ユーザー定義をクリックしてください。

excel_day_of_week_from_date3

画面が変わったら、種類欄に表示させたい形式を入力します。

たとえば2022/11/1(木)と表示させたい場合は、yyyy/m/d(aaa)と入力します。

excel_day_of_week_from_date4

念のため、yやmの意味がわからない方向けに表にまとめました。

入力 表示
y(year)
m(month)
d(day)

入力できたらOKをクリックすると、セル内に設定した書式が反映されます。

excel_day_of_week_from_date5

もうひとつ例をあげてみます。

2022年12月1日(木)と表示したい場合は、yyyy年m月d日(aaa)と入力してください。

文字列の部分をダブルクオーテーションで囲む必要はありません。

excel_day_of_week_from_date6

曜日も入力によって変わるので、以下にまとめました。

入力 表示
aaa 月、火…
aaaa 月曜日、火曜日…
ddd Mon,Tue…
dddd Monday,Tuesday…

dddは外資系の会社などで外国人の方とスケジュールを共有したいときに使えそうですね。

 Ctrl+1でもセルの書式設定は出せます。

【方法②】TEXT関数で日付と曜日を別々のセルに出す

別のセルに曜日を表示したいときはTEXT関数を使います。

 

TEXT関数はセルの数値を指定した書式に変更する関数です。

日付はもともとシリアル値と呼ばれる数値なので、TEXT関数で書式を変更します。

書き方は

=TEXT(セル番地,"書式")

です。

 

実際にやってみましょう。

C2セルに=TEXT(B2,"aaa")と入力してみてください。

すると下記画像のようになります。

excel_day_of_week_from_date7

ちなみに、(木)としたい場合は="(" &TEXT(B2,"aaa") & ")"と入力します。

excel_day_of_week_from_date8

&で文字列を連結するのがポイントです。

オートフィルを使って、曜日を一気に入力する

曜日が入力できたら、オートフィルを使うと一気に入力できます。

曜日が入力できたセルの右下にカーソルをあわせると+のマークが表示されます。

excel_day_of_week_from_date9

+マークが表示されたら、ダブルクリックすると日付の入ったセルまで一気に入力できました。

excel_day_of_week_from_date10

ただし、横方向に入力したい場合はドラッグアンドドロップで入力してください。

条件付き書式とWEEKDAY関数で土日に色を塗る

曜日が入力できたら土日に色を付けたいですよね。

 

土日など特定の曜日に色をつけたい場合は条件付き書式にWEEKDAY関数を使います。

WEEKDAY関数は曜日ごとに設定された数値を返す関数です。

 

WEEKDAY関数の書き方は、

=WEEKDAY(日付,種類)

です。

 

種類を入力すると、1週間の始まりを何曜日にするかが設定可能です。

たとえば、日曜日が週の始めなら1を入力するか省略します。

業界によっては水曜日や木曜日が週の始まりになると思うので、ここで設定しておきましょう。

参考までに日曜日を基準としたときの曜日と数値を以下の表にまとめました。

曜日 数値
日曜日 1
月曜日 2
火曜日 3
水曜日 4
木曜日 5
金曜日 6
土曜日 7

では実際に曜日に色をつけてみましょう。今回は日曜日を赤色にしてみます。

まずは条件付き書式を適用するセル範囲を選択しましょう。

excel_day_of_week_from_date11

ホームタブ→条件付き書式の順にクリックします。

excel_day_of_week_from_date12

展開されたら、新しいルールをクリックしてください。

excel_day_of_week_from_date13

新しい書式ルールのダイアログボックスが開きます。

ルールの種類を選択してください欄の数式を使用して書式設定するセルを決定をクリックします。

excel_day_of_week_from_date14

ボックス下部が変わるので、次の数式を満たす場合に値を書式設定の入力欄に下記のように入力します。

=WEEKDAY($B2)=1

excel_day_of_week_from_date15

Bの前に$マークをつけないと範囲内の列すべてに条件付き書式が適用できないので忘れないでください。

入力後は、右下の書式をクリックします。

excel_day_of_week_from_date16

今回は赤色なので、という項目で赤色を選択します。

excel_day_of_week_from_date17

OKをクリックすると元の画面に戻るので、再度OKを押しましょう。

excel_day_of_week_from_date18

日曜日の日付が赤色になりました!

excel_day_of_week_from_date19

ちなみに土曜日に設定したいときはWEEKDAY関数の数値を7に設定すればOKです。

=WEEKDAY($B2)=7

excel_day_of_week_from_date20

【応用】COUNTIF関数を使って祝日にも色を塗る

土日に色をつけられるなら祝日にも色をつけたいと思う方もいると思うので、その方法も解説します。

祝日に色をつける場合はCOUNTIF関数を使います。

まずは祝日の一覧を用意し、祝日全てを別のシートか離れたセルに入力します。

今回は11月分だけ用意しました。

excel_day_of_week_from_date21

3日は文化の日で、23日は勤労感謝の日です。

次にCOUNTIF関数を使います。

COUNTIF関数の書き方は下記になります。

=COUNTIF(セル範囲,該当セル)

今回は祝日が入力されたセル範囲の中に該当の日付が入っているかどうかを確認します。

つまり、セルD2下記のように入力します

=COUNTIF(F$2:F$3,B2)

オートフィルで下まで入力すれば、3日と23日の行に1が返ってきます。

excel_day_of_week_from_date22

上記の前提をもとに、条件付き関数で祝日に色を塗ってみましょう。

条件付き書式を反映させたいセルの範囲を選んだら、条件付き書式の新しいルールをクリックします。

ダイアログボックスが開いたら、数式を利用して書式設定するセルを決定をクリックし下にある次の数式を満たす場合に値を書式設定の入力欄に以下を入力します。

=COUNTIF($F$2:$F$3,$B2)=1

excel_day_of_week_from_date23
ポイントはCOUNTIF関数の使い方です。

カレンダーの中に祝日が入っている場合は1を返すので、祝日であれば色が変わります。

入力が終わったらOKを押して条件付き書式を閉じます。

するとこのようになります。

excel_day_of_week_from_date24

祝日も赤色になりました!

まとめ

以上、日付に曜日を設定する方法や色を塗る方法を解説しました。

曜日を出すには、同一セル内であればセルの書式設定。別々のセルであればTEXT関数を使うと便利です。

曜日を一気に入力するにはオートフィルを使うとすぐに入力できます。

また、WEEKDAY関数を使った条件付き書式なら特定の曜日に色を塗るのも自由です。

祝日にも色を塗りたい場合は、COUNTIF関数を使うと便利です。

飲食店のシフト表やカレンダーを作る際にとても便利な設定方法なのでぜひ試してみてくださいね。