Excelで日付から曜日を取得し表示させる方法!TEXT関数とWEEKDAY関数の使い分け

Excelで日付から曜日を取得し表示させる方法!
Excelで日付から曜日を取得して表示させたいときはないでしょうか。

けど、そんな中で悩むことは、

・曜日を1つずつ手入力していて、入力ミスが不安
・TEXT関数とWEEKDAY関数のどちらを使えばいいかわからない
・日付のつもりが文字列になっていて、曜日が表示されない
・土日だけ色を変えたいけれど、設定方法がわからない

ですよね。

今回はそんなお悩みを解決する

・TEXT関数で日付から曜日を表示する方法(=TEXT(A2,”aaa”))
・WEEKDAY関数とCHOOSE関数で日本語の曜日を作る方法
・ユーザー定義書式(aaa)でセルの表示だけを曜日に変える方法
・土日だけを色分けする応用テクニック

についてまとめます!

完成イメージ

日付を入力するだけで、隣のセルに曜日が自動で表示されるようにしたいですよね。
今回は
・TEXT関数で「月」や「月曜日」と表示する方法(=TEXT(A2,”aaa”))
・WEEKDAY関数とCHOOSE関数で日本語の曜日を作る方法
・ユーザー定義書式でセルの表示だけを曜日に変える方法
をゴールにします。
日付を書き換えれば曜日も自動で追従するので、一覧表づくりがぐっとラクになります。

なお、土日だけ色を変える応用テクニックと、うまくいかないときの対処法(トラブルシュート)もあわせてご紹介します。
早速実装して試してみましょう!
完成した日付と曜日の一覧表

タカヒロ
上の画像が完成形です。A列に日付を入れるだけで、B列に曜日が自動で表示され、土日のセルは色分けされています。

STEP1. 日付の一覧を用意する

まずは曜日を表示したい日付の一覧を用意します。
A1セルに見出しの「日付」、B1セルに「曜日」を入力します。
A2セルからA13セルまで、日付を12件入力しました。
A列は「2024/4/5」のように、日付として入力しておくのがポイントです。
表示形式は yyyy/m/d にしておきましょう。
B列の曜日は、このあと数式で自動表示させます。
日付の一覧表

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。

日付 曜日
2024/4/5
2024/4/6
2024/4/7
2024/4/8
2024/4/9
2024/4/10
2024/4/11
2024/4/12
2024/4/13
2024/4/14
2024/4/15
2024/4/16

※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。

STEP2. TEXT関数で曜日を表示する

B2セルを選び、次の数式を入力します。

=TEXT(A2,"aaa")
POINT

TEXT関数は =TEXT(値, 表示形式) の形で使います。
第1引数に日付のセル(A2)、第2引数に表示形式(aaa)を指定します。

第2引数の aaa は「月」「火」のような短い曜日になります。
aaaa にすると「月曜日」「火曜日」と表示されます。
一覧の見やすさに合わせて選んでください。
TEXT関数の入力画面

STEP3. 数式を下までコピーする

B2セルに入力できたら、B13セルまで数式をコピーします。
B2セルの右下にある小さな四角(フィルハンドル)をダブルクリックすると、一気にコピーできます。
B列に曜日が表示されました。
A列の日付を書き換えると、曜日も自動で切り替わります。
手入力の必要がないので、入力ミスの心配もありません。
カンタンですね!
TEXT関数で曜日を表示した結果

WEEKDAY関数とCHOOSE関数で日本語の曜日を作る

TEXT関数のほかに、WEEKDAY関数とCHOOSE関数を組み合わせる方法もあります。
D2セルに、次の数式を入力してみましょう。

=CHOOSE(WEEKDAY(A2),"日","月","火","水","木","金","土")

WEEKDAY関数は、日付から「1〜7」の数字を返す関数です。
その数字をCHOOSE関数の番号として使い、日本語の曜日に置き換えています。
WEEKDAY関数は第2引数で「週の始まり」を指定できます。
省略すると日曜始まりになるので、日曜が1・土曜が7になります。
WEEKDAY関数とCHOOSE関数の入力画面
数式をD13セルまでコピーすると、D列に日本語の曜日が並びました。
D1セルには「WEEKDAY版」と見出しを付けて、B列のTEXT関数版と見比べています。
どちらも同じ曜日になりますが、使い勝手が少し違います。
違いを比較表にまとめました。
WEEKDAY関数とCHOOSE関数の結果

曜日の出し方 比較表

方法 セルの中身 表示例 おすすめの場面
TEXT関数(=TEXT(A2,”aaa”)) 文字列 月/月曜日 曜日そのものを文字として使いたいとき
WEEKDAY+CHOOSE 文字列 月 曜日ごとに条件分岐や集計をしたいとき
ユーザー定義書式(aaa) 日付のまま 月 日付データを崩さず、見た目だけ変えたいとき
応用:土日の色分け 条件付き書式 土日だけ着色 予定表や勤怠表を見やすくしたいとき

タカヒロ

タカヒロ
「TEXT関数」と「ユーザー定義書式」は、結果の見た目がそっくりなのでよく混同されます。
見分け方はカンタンで、セルを選んだときに数式バーに数式が出ればTEXT関数、日付が出ればユーザー定義書式です。
迷ったら数式バーをチラッと確認してみてください。

VBAで曜日を一括表示する

毎回数式をコピーするのが手間なときは、VBAで一括入力するのもおすすめです。
ボタン1つで、選択した範囲の隣のセルに曜日をまとめて表示できます。

Sub InsertWeekday()
    Dim r As Range
    For Each r In Range("A2:A13")
        r.Offset(0, 1).Formula = "=TEXT(" & r.Address & ",""aaa"")"
    Next r
End Sub

うまくいかないときの対処法(トラブルシュート)

実際に試すと、思ったように表示されないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。

症状 原因 対処
TEXTの表示形式を変えても変わらない セルが数式ではなく文字列として入力されている 先頭の = を付けて、TEXT関数を数式として入力し直す
曜日が英語(Mon)になる 表示形式が ddd になっている aaa(月)または aaaa(月曜日)に変更する
日付として認識されない 日付が文字列として貼り付いている =DATEVALUE(A2) で日付に変換してから使う
土日だけ色を変えたい 条件付き書式の条件が未設定 条件を =WEEKDAY($A2,2)>5 にする(6=土・7=日)

STEP4. ユーザー定義書式で表示だけを変える

もう1つ、セルの値は日付のまま、表示だけを曜日に変える方法があります。
D列に日付をコピーし、表示形式を aaa に設定してみましょう。
表示形式はセルの書式設定(Ctrl+1)の「ユーザー定義」で設定できます。
「種類」の欄に aaa と入力してください。
見本の欄に「金」と表示されれば設定完了です。
数式を入れる必要がないので、手順としてはこれがいちばん短い方法です。
ユーザー定義書式 aaa の入力画面
D列の曜日が表示されました。
ためしにD2セルを選んでみると、数式バーには「2024/4/5」という日付が表示されます。
つまり、見た目は曜日でも、中身は日付データのままです。
日付として並び替えや計算をしたいときは、この方法がおすすめです。
ただし、曜日そのものを文字として取り出したいときは、TEXT関数を使いましょう。
ユーザー定義書式で曜日を表示した結果

関数の説明

今回使う2つの関数の概要です。
どちらも日付を扱う基本の関数なので、違いを押さえておきましょう。

TEXT関数(テキスト)

書式 =TEXT(値, 表示形式)
できること 数値や日付を、指定した表示形式の文字列に変換します。
戻り値 文字列(例:「月」「月曜日」)
こんなときに 日付から曜日を取り出して、文字として表示・利用したいとき。
注意 結果は文字列になります。日付としての並び替えや計算には使えません。
=TEXT(A2,"aaa")

WEEKDAY関数(ウィークデイ)

書式 =WEEKDAY(日付, [種類])
できること 日付に対応する曜日の番号(1〜7)を返します。
戻り値 数値(省略時は日曜=1、土曜=7)
種類の例 1=日曜始まり/2=月曜始まり(月=1、日=7)/3=月曜始まり(月=0、日=6)
こんなときに CHOOSE関数と組み合わせて日本語の曜日にしたり、土日の判定をしたいとき。
=CHOOSE(WEEKDAY(A2),"日","月","火","水","木","金","土")

完成

A列に日付を入れるだけで、B列に曜日が自動で表示されました。
土曜日は青色、日曜日は赤色になるように色分けしています。
色分けは条件付き書式の「数式を使用して…」で =WEEKDAY($A2,2)>5 と設定すれば、日付を増やしても自動で色が付きます。
思ったとおりに表示されましたか?
曜日の手入力から解放されるので、一覧表づくりがぐっとラクになります。
完成した日付と曜日の一覧表

さいごに

いかがでしょうか。

今回は、

・TEXT関数で日付から曜日を表示する方法(=TEXT(A2,”aaa”))
・WEEKDAY関数とCHOOSE関数で日本語の曜日を作る方法
・ユーザー定義書式でセルの表示だけを曜日に変える方法
・土日だけを色分けする応用テクニック

についてまとめました。

日付から曜日を出せると、勤怠表や予定表が見やすくなり、入力の手間も減ります。
まずは今回のサンプル表で、ぜひ一度試してみてください。
日付を変えるだけで曜日が切り替わる感覚をつかんでいただければ、日々のExcel作業がもっとラクになりますよ。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。

ぜひ試してみてください。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image