エクセルで曜日を表示する方法|表示形式・TEXT・WEEKDAYの使い分け

エクセルで曜日を出す方法は「セルの表示形式」「TEXT関数」「WEEKDAY関数」の3つです。見た目を変えたいだけなら表示形式、曜日の文字を別セルに取り出すならTEXT、色分けや集計に使うならWEEKDAY。返ってくるものの型が3つとも違うので、目的から逆に選ぶのが早道です。

この記事でわかること

  • 曜日を出す3つの方法と、どれを選ぶかの判断基準
  • 表示形式の aaa と、日付+曜日を1つのセルに収める書き方
  • WEEKDAY関数の種類(第2引数)の選び方
  • 土日・祝日に色を付ける条件付き書式の式
  • 曜日が出ない・数字のままになるときの原因と直し方


目次

曜日を出す3つの方法と選び方

同じ「曜日を出す」でも、返るものが違います。ここを取り違えると後で詰まります。

方法何が返るか元の日付向いている場面
セルの表示形式見た目だけが変わる(値は日付のまま)そのまま残る予定表・カレンダーを見やすくする
TEXT関数文字列の「月」「月曜日」別セルに残る曜日の文字を連結したい・別列に出したい
WEEKDAY関数数値の1〜7別セルに残る判定・色分け・曜日別の集計

判断はこの順で付きます。計算に使うなら表示形式かWEEKDAY、文字として使うならTEXT。TEXT関数が返すのは文字列なので、その値で足し算や大小比較をしようとすると行き止まりになります。

エクセルで曜日を表示する方法|表示形式・TEXT・WEEKDAYの使い分けの解説図1

方法① セルの表示形式で曜日を表示する

数式を1本も足さずに済む方法です。日付が入ったセルを選び、Ctrl+1で「セルの書式設定」を開きます。「表示形式」タブの左側からユーザー定義を選び、「種類」の欄に書式記号を入力します。

種類に入れる記号表示例
aaa月
aaaa月曜日
dddMon
ddddMonday
yyyy/m/d(aaa)2026/4/6(月)
m月d日(aaa)4月6日(月)

値は日付のまま変わらない

表示形式で変えているのは見せ方だけです。セルの中身は日付のシリアル値のままなので、そのセルを使った日数計算も並べ替えもそのまま通ります。予定表の日付列は、まずこの方法を検討してください。

日付列の隣に曜日列を作るなら、B2に =A2 と入れ、B列の表示形式だけを aaa にします。日付は1か所で管理でき、曜日は自動で追従します。


方法② TEXT関数で曜日を文字列として取り出す

曜日を文字として扱いたいときはTEXT関数です。

=TEXT(A2, "aaa")

書式記号は " で囲みます。囲み忘れると #NAME? になります。使える記号は表示形式と同じで、"aaaa" なら「月曜日」、"ddd" なら「Mon」です。

文章の中に埋め込むときに効きます。

="納品日は "&TEXT($A2,"m月d日(aaa)")&" です"

⚠️ 返るのは文字列

TEXT関数の結果は数値ではなく文字列です。左寄せで表示されるのが目印になります。

そのため、TEXTで作った曜日列をそのまま並べ替えても、曜日の順番にはなりません。「月・火・水」ではなく文字コードの順に並びます。曜日順に並べたいなら、次のWEEKDAY関数で数値の作業列を作り、そちらをキーにします。


方法③ WEEKDAY関数で曜日を数値にする

構文

=WEEKDAY(シリアル値, [種類])
引数指定するもの注意点
シリアル値日付が入ったセル、または日付文字列の日付は #VALUE! になる
種類何曜日を1と数えるか省略すると1(日曜が1)

種類(第2引数)の選び方

種類1になる曜日土日はいくつか
1(省略時)日曜 = 1 〜 土曜 = 7土=7・日=1
2月曜 = 1 〜 日曜 = 7土=6・日=7
3月曜 = 0 〜 日曜 = 6土=5・日=6
11月曜 = 1(種類2と同じ)土=6・日=7
16土曜 = 1土=1・日=2
17日曜 = 1(種類1と同じ)土=7・日=1

実務でよく使うのは種類 2 です。土日が6と7で連続するため、>=6 の1条件で「土日」をまとめて判定できます。種類を省略すると日曜が1・土曜が7に分かれ、条件が2つ必要になります。

種類 11〜17 は Excel 2010以降で使えます。種類 1・2・3 はそれより前から使える指定です。

① 土日だけ「休」と表示する

=IF(WEEKDAY($A2,2)>=6, "休", "")

② 曜日の文字に変換する(CHOOSE)

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

WEEKDAYが返した1〜7を、CHOOSE関数が並べた候補の何番目かとして拾います。種類を省略した既定の並びに合わせて「日」から書き始める点に注意してください。TEXT関数のほうが短く書けますが、「日曜」「月曜」のように表記を自分で決めたいときはこの形が使えます。

③ 曜日別に集計する

WEEKDAYの結果を作業列(D列)に出しておけば、=SUMIF($D$2:$D$100, 1, $C$2:$C$100) で月曜の売上だけを合計できます。作業列を作らずに1本で書くなら、SUMPRODUCT関数で配列のまま判定します。

=SUMPRODUCT((WEEKDAY($A$2:$A$100,2)=1)*$C$2:$C$100)
エクセルで曜日を表示する方法|表示形式・TEXT・WEEKDAYの使い分けの解説図2

土日・祝日に色を付ける

曜日を出す目的が「予定表を見やすくする」なら、条件付き書式のほうが手数が少なくなります。

  1. 色を付けたい範囲(見出しを除いた表全体)を選択する
  2. 「ホーム」→「条件付き書式」→「新しいルール」→「数式を使用して、書式設定するセルを決定」
  3. 数式を入れ、「書式」で塗りつぶし色を選ぶ

やりたいこと入れる数式
土日の行に色=WEEKDAY($A2,2)>=6
土曜だけ=WEEKDAY($A2,2)=6
日曜だけ=WEEKDAY($A2,2)=7
祝日リストと一致する行=COUNTIF($H$2:$H$30,$A2)>0

⚠️ 列だけを固定する($A2)

行全体に色を敷くなら、参照は $A2 の形です。列はドル記号で固定し、行は固定しない。$A$2 と両方固定すると、A2が土日かどうかで表全体が塗られます。逆にどちらも固定しないと、判定する列が右にずれていきます。

数式は選択範囲の左上のセルを基準に書きます。2行目から選んだなら $A2、3行目から選んだなら $A3 です。

祝日ルールは土日ルールより上に置く

同じセルに2つのルールが重なったときは、「条件付き書式ルールの管理」で上にあるルールが優先されます。祝日の色を見せたいなら、祝日ルールを土日ルールより上へ移動してください。

なお、Excelには日本の祝日データが入っていません。祝日を判定するには、別シートに祝日の日付を並べたリストを自分で用意する必要があります。

エクセルで曜日を表示する方法|表示形式・TEXT・WEEKDAYの使い分けの解説図3

うまくいかないときの原因と直し方

症状主な原因直し方
aaa と入れたのに「aaa」と表示される「文字列」書式のセルに入力した表示形式を「標準」に戻してから日付を入れ直す
曜日ではなく5桁の数字が出る表示形式が「標準」のまま表示形式を日付またはユーザー定義に変える
#VALUE!日付が文字列として入っている左寄せなら文字列。DATEVALUE関数で変換するか入力し直す
#NAME?TEXT関数の書式記号を " で囲んでいない=TEXT(A2,"aaa") の形にする
WEEKDAYの結果が想定とずれる第2引数の種類が違う土日を6・7にしたいなら種類は2
曜日の列が曜日順に並ばないTEXTの結果は文字列WEEKDAYで数値の作業列を作り、それを並べ替えキーにする
条件付き書式で表全体が塗られる参照が $A$2 になっている$A2 に直す(F4キーを押すたびに切り替わる)
祝日に色が付かない祝日リストが日付でなく文字列=COUNTIF($H$2:$H$30,DATE(2026,1,1)) が0なら文字列

日付か文字列かを一発で見分ける

原因の大半は「日付に見えるが日付ではない」です。判定は表示位置で付きます。日付と数値は既定で右寄せ、文字列は左寄せ。外部システムから貼り付けたデータは文字列になっていることが多く、この場合は曜日の関数がすべて #VALUE! を返します。

=ISNUMBER(A2) が FALSE を返せば確定です。


似た方法との使い分け

方法対応バージョン返るもの選ぶ場面
セルの表示形式2016〜見た目のみ(値は日付)元の日付を計算にも使う
TEXT2016〜文字列曜日の文字を連結・別列に出す
WEEKDAY2016〜数値 1〜7判定・色分け・曜日別集計
CHOOSE+WEEKDAY2016〜文字列曜日の表記を自分で決める
WORKDAY2016〜日付土日祝を除いて営業日を数える

いずれも古いバージョンで動くため、バージョンの制約で選ぶ場面はほとんどありません。判断の軸は「その値を後で計算に使うか」の1点です。

なお「土日を除いて日数を数えたい」「〇営業日後の日付が欲しい」という目的なら、曜日を出す必要はありません。WORKDAY関数やNETWORKDAYS関数が直接その答えを返します。


よくある質問

Q1:日付の下のセルに曜日を出したいのですが。

日付がA1にあるとして、A2に =A1 と入れ、A2の表示形式だけを aaa にします。TEXT関数で =TEXT(A1,"aaa") としても表示は同じですが、こちらは文字列になります。後でその曜日セルを計算に使う予定があるなら、表示形式のほうを選んでください。

Q2:曜日を英語で表示できますか?

できます。書式記号を ddd(Mon)または dddd(Monday)にします。TEXT関数なら =TEXT(A2,"ddd") です。日本語の aaa と英語の ddd は、記号を入れ替えるだけで切り替わります。

Q3:カレンダーの何列目に置くかを、曜日で決められますか?

WEEKDAY関数の結果をそのまま列位置に使えます。種類を省略した既定なら日曜が1・土曜が7なので、その値が日曜始まりカレンダーの左から何列目かと一致します。月曜始まりにするなら種類に 2 を指定してください。

Q4:曜日ごとの件数や売上を集計するには?

WEEKDAY関数で数値の作業列を作り、COUNTIF関数・SUMIF関数の条件にその数値を指定するのが最も簡単です。作業列を作りたくない場合は、SUMPRODUCT関数で (WEEKDAY(範囲,2)=1) のように配列のまま判定します。TEXT関数で作った「月」という文字を条件にする方法でも集計はできますが、表記ゆれの影響を受けます。

Q5:土日と祝日で色を分けたいのですが、ルールは2つ必要ですか?

必要です。土日は =WEEKDAY($A2,2)>=6、祝日は祝日リストとの照合 =COUNTIF($H$2:$H$30,$A2)>0 で、判定の仕方そのものが違います。2つのルールを作り、祝日ルールを上に置いて優先させます。祝日リストは自分で用意し、年に一度更新する運用にしておくと安全です。


まとめ

曜日を出す方法の要点
  • 選び方の軸は「その値を後で計算に使うか」の1点
  • 見た目だけなら表示形式 aaa。値は日付のまま残る
  • 文字として使うならTEXT。結果は文字列で、曜日順には並ばない
  • 判定・色分け・集計はWEEKDAY。種類は2が扱いやすい(土=6・日=7)
  • 色分けは条件付き書式で =WEEKDAY($A2,2)>=6。列だけ固定する

※関数の対応バージョンはExcelの一般提供時点の情報にもとづいています。お使いの環境や更新プログラムの適用状況により、利用できる関数や表示が異なる場合があります。祝日は法令の改正や振替により変動するため、祝日リストは年度ごとに最新の情報で更新してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

はじめまして、白石です。製造業の生産管理で15年、毎日の実績集計と帳票づくりをExcelでやってきました。マクロを組もうとして早々に挫折し、そこからは「関数と表の機能だけでどこまでやれるか」でしのいできた口です。部門では「この集計どうやるの」と聞かれる係になり、聞かれた内容を手元にメモし続けました。そのメモがいつのまにか、関数名ではなくやりたいことから引く形になっていて、それがこのサイトのもとになっています。Excelは同じことをやるのに何通りもやり方があって、しかもバージョンによって使える関数が違います。ここでは実際に動かして確かめた式だけを載せ、つまずきやすいところと使えないバージョンを先に書くようにしています。

目次