【Excel】日付から曜日を自動表示する方法|TEXT関数と表示形式の使い方

  • URLをコピーしました!

Excelでは、入力した日付に対応する曜日を自動で表示できます。

日付と同じセルに曜日を表示する場合は、セルの表示形式を[ユーザー定義]に変更し、yyyy/m/d(aaa)などの表示形式コードを設定します。
別のセルに曜日を表示する場合は、=A2のように日付が入力されたセルを参照して表示形式を変更する方法と、=TEXT(A2,"aaa")のようにTEXT関数を使って曜日を文字列として表示する方法があります。

この記事では、日付から曜日を自動で表示する方法を、表示例とともに分かりやすく解説します。

目次

表示形式コードと書式記号について

表示形式コードとは、セルに入力された値をどのように表示するか指定する文字列です。yyyyやmmなどの書式記号を組み合わせて作成します。

書式記号には多くの種類がありますが、日付と曜日を表示する場合は、主に次の記号を使用します。

  • yyyy:西暦を4桁で表示
  • m・mm:月を表示
  • d・dd:日を表示
  • aaa・aaaa:曜日を表示

mとmm、dとddの違いは、月や日が1桁の場合に先頭の「0」を付けるかどうかです。mとdは「0」を付けず、mmとddは「0」を付けて2桁で表示します。
aaaとaaaaの違いは、曜日を省略して表示するかどうかです。aaaは「土」、aaaaは「土曜日」と表示します。

以下は、「2026/8/1」と入力したセルに表示形式コードを設定した場合の表示例です。

表示形式コード表示例
yyyy/m/d(aaa)2026/8/1(土)
yyyy/mm/dd(aaa)2026/08/01(土)
yyyy"年"m"月"d"日"(aaa)2026年8月1日(土)
[$-ja-JP-x-gannen]ggge"年"m"月"d"日"(aaa)令和8年8月1日(土)
m/d(aaa)8/1(土)
aaa
(aaa)(土)
aaaa土曜日
(aaaa)(土曜日)

入力した日付に曜日を付けて表示する方法

方法:セルの表示形式を変更する

入力した日付と同じセルに曜日を表示するには、セルの表示形式を[ユーザー定義]に変更し、表示形式コードを入力します。

STEP
日付に曜日を表示するセル(範囲)を選択する

日付に曜日を表示するセルや範囲を選択します。

日付に曜日を追加するセルや範囲を選択した画像
STEP
[表示形式]ボックスの[▼]をクリックする

[ホーム]タブの[数値]グループにある[表示形式]ボックスの[▼]をクリックします。

[ホーム]タブにある[表示形式]ボックスの[▼]の場所を示した画像
STEP
[その他の表示形式]をクリックする

展開されたメニューの一番下にある[その他の表示形式]をクリックします。

[表示形式]ボックスの[▼]にある[その他の表示形式]の場所を示した画像
STEP
[ユーザー定義]をクリックする

タブが[表示形式]になっていることを確認します。
分類を[ユーザー定義]に変更します。

[セルの書式設定]ダイアログ:[表示形式]タブの[ユーザー定義]の場所を示した画像
STEP
[種類]に表示形式コードを入力する

[種類]に表示形式コードを入力します。
すでに表示形式コードが入力されている場合は削除し、使用するコードを入力してください。
下の画像では、yyyy"年"m"月"d"日"(aaa) と入力しています。

[セルの書式設定]ダイアログ:表示形式コードを入力する場所を示した画像
STEP
[OK]ボタンをクリックする

[OK]ボタンをクリックして、設定を変更します。

[セルの書式設定]ダイアログ:[OK]ボタンの場所を示した画像
STEP
表示形式が変更できたか確認する

表示形式が変更できたか確認します。

シート:曜日が表示されたエビデンス

セルが「#」で埋められている場合は、後述の「セルが『#』で埋められた場合」を参照してください。

シート:セルが『#』で埋められた画面

別のセルに日付から曜日を表示する方法

日付が入力されているセルとは別のセルに、曜日を表示する方法です。
TEXT関数を使って曜日を文字列として表示する方法と、日付を参照したセルの表示形式を変更する方法があります。

方法1:TEXT関数を使用する

TEXT関数は、日付などの数値に表示形式コードを適用し、結果を文字列として返す関数です。
第1引数に日付が入力されているセル、第2引数に"m/d(aaa)"や"aaa"などの表示形式コードを指定します。
なお、TEXT関数の結果は文字列になるため、日付の計算をする場合は、TEXT関数の結果ではなく元の日付が入力されているセルを使用してください。

● 使用サンプル
A1に「2026/8/1」が入力されているものとします。
「8/1(土)」と表示される表示形式コード:m/d(aaa)
=TEXT(A1,"m/d(aaa)")

「2026/8/1(土曜日)」と表示される表示形式コード:yyyy/m/d(aaaa)
=TEXT(A1,"yyyy/m/d(aaaa)")

「土」と表示される表示形式コード:aaa
=TEXT(A1,"aaa")

表示形式コードについては、前述の「表示形式コードの一覧」を確認してください。

方法2:セルの表示形式を変更する

セルA1に日付が入力されている場合は、曜日を表示するセルに「=A1」を入力します。

数式を入力したセルの表示形式を[ユーザー定義]に変更し、[種類]にaaaと入力すると「土」、yyyy/m/d(aaa)と入力すると「2026/8/1(土)」と表示されます。

この方法では、数式の結果も日付の値として扱われます。曜日を文字列として表示するTEXT関数とは異なり、表示後のセルを日付の計算にも利用できます。

セルが「#」で埋められた場合

セルが「#」で埋められる原因は、主に次の2通りです。

1.セルの表示形式が日付かつ、列の幅が足りていない
2.セルの表示形式が日付かつ、値がマイナスになっている

日付や数値を直接入力している場合は、数式バーでセルの値を確認できます。

セルの表示形式を変更する前まで、正常に日付が表示されていた場合は、列の幅が足りていないことが原因です

数式で計算されている場合は、表示形式を[標準]に変更して、計算結果の値を確認してください。
なお、確認後は[Ctrl]+[Z]で表示形式を元に戻してください。

数式をネストしている場合は、[数式]タブの[数式の検証]を使用すると、計算過程を順番に確認できます。

原因1:列の幅が足りていない

日付を入力後にセルが「#」で埋められた場合は、列の幅が足りていない可能性があります。

セルに入力された日付を列の幅だけでは表示しきれない場合、セルが「#」で埋められます。日付は、文字列のように隣のセルへはみ出して表示されません。

主に次の対処方法があります。

  • 表示する列の幅を広げる
  • 文字の制御の「縮小して全体を表示する」を有効にする
  • 表示形式を短くする(年を省略する、0埋めをしないなど)
  • フォントサイズを小さくする
  • 表示できる列を選択した後、文字の配置を「選択範囲内で中央」にする

入力されている日付が変わる可能性がある場合、列の幅の自動調整を使わず、余裕を持って手動で広げてください。
例えば、「2026年1月1日(木)」に合わせて列幅を自動調整しても、セルの表示が「2026年12月30日(水)」に変わると、幅が足りなくなり、再び「#」が表示されることがあります。

なお、「縮小して全体を表示する」(下の画像②)と「選択範囲内で中央」(下の画像①)は[セルの書式設定]ダイアログの[配置]タブで変更できます。
[セルの書式設定]ダイアログは、[Ctrl]+[1]で開けます。

[セルの書式設定]ダイアログ:[配置]タブの[選択範囲内で中央]と[縮小して全体を表示する]の場所を示した画像

原因2:値がマイナスになっている

セルの表示形式が日付のときに、セルの値が「-1」などのマイナスだと、セルが「#」で埋められます。

正の値に修正してください。

まとめ

Excelでは、日付が入力されているセルの表示形式を[ユーザー定義]に変更することで、同じセルに曜日を表示できます。

[種類]にyyyy/m/d(aaa)と入力すると「2026/8/1(土)」、aaaaと入力すると「土曜日」のように表示されます。

日付とは別のセルに曜日を表示する場合は、TEXT関数を使用する方法と、日付が入力されているセルを参照して表示形式を変更する方法があります。TEXT関数の結果は文字列になるため、日付の計算にも利用する場合は、元の日付が入力されているセルを使用してください。

曜日を表示した後にセルが「#」で埋められた場合は、列の幅が足りていないか、セルの値がマイナスになっている可能性があります。列の幅を確認し、数式で計算されている場合は、表示形式を[標準]に変更して値を確認してください。

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

この記事を書いた人

元・エクセル迷子。関数やグラフに頭を抱えつつ、地道に勉強してきました。
今では「むずかしいを、やさしく」にこだわって、初心者さん向けにExcelのコツを発信中。
「なんか分かるかも!」って思える瞬間を一緒に楽しみましょう♪

目次