エクセル関数辞典 エクセル関数辞典

日付の表示形式とTEXT関数|和暦・曜日・書式設定

TEXT 日付 表示形式 和暦 曜日 Excel関数
広告スペース (article-top)

Excelの日付データはシリアル値として管理されており、表示形式を変えることで「2026/04/01」「令和8年4月1日」「水曜日」など、さまざまな形式で表示できます。セルの書式設定による方法と、TEXT関数で文字列に変換する方法の2通りがあります。用途に応じた使い分けを解説します。

セルの表示形式による日付表示

セルの書式設定で表示形式を変更すると、データ自体は変えずに見た目だけを変えられます。

表示形式の変更手順

  1. 対象のセルを選択する
  2. Ctrl+1で「セルの書式設定」を開く
  3. 「表示形式」タブで「日付」を選択する
  4. 一覧から希望の形式を選ぶ

主な日付表示形式

書式コード表示例(2026/04/01の場合)
yyyy/mm/dd2026/04/01
yyyy/m/d2026/4/1
yyyy”年”m”月”d”日”2026年4月1日
yy/mm/dd26/04/01
m/d4/1
mm/dd04/01
ggge”年”m”月”d”日”令和8年4月1日
ge.m.dR8.4.1

書式コードの意味

コード説明
yyyy西暦4桁
yy西暦下2桁
m / mm月(1桁/2桁)
d / dd日(1桁/2桁)
aaa曜日の略称(月、火、水…)
aaaa曜日の正式名(月曜日、火曜日…)
ddd曜日の英語略称(Mon, Tue…)
dddd曜日の英語正式名(Monday, Tuesday…)
ggg和暦の元号(令和、平成…)
gg和暦の元号略称(令、平…)
g和暦の元号アルファベット(R, H…)
e / ee和暦の年(1桁/2桁)

TEXT関数の基本構文

=TEXT(値, 表示形式)

引数の説明

引数説明必須/任意
変換する数値や日付必須
表示形式書式コードの文字列必須

TEXT関数は結果を文字列として返します。計算には使えなくなる点に注意が必要です。

基本的な使い方

=TEXT(A2, "yyyy/mm/dd")        ' 結果:"2026/04/01"
=TEXT(A2, "yyyy年m月d日")      ' 結果:"2026年4月1日"
=TEXT(A2, "m月d日(aaa)")     ' 結果:"4月1日(水)"

実践例1:和暦での日付表示

日本の公文書や社内文書では和暦表記が求められることがあります。

和暦の基本表示

=TEXT(A2, "ggge年m月d日")

A2が「2026/04/01」の場合、「令和8年4月1日」と表示されます。

和暦の表記バリエーション

数式結果
=TEXT(A2, “ggge年m月d日”)令和8年4月1日
=TEXT(A2, “gge.mm.dd”)令8.04.01
=TEXT(A2, “ge.m.d”)R8.4.1
=TEXT(A2, “ggge年”)令和8年

元号の境界に注意

Excelは以下の元号に対応しています。

元号開始日終了日
明治1868/01/251912/07/29
大正1912/07/301926/12/24
昭和1926/12/251989/01/07
平成1989/01/082019/04/30
令和2019/05/01-

元号の開始年は「元年」と表示したい場合、TEXT関数だけでは対応できません。IF関数と組み合わせます。

=TEXT(A2, "ggg") & IF(YEAR(A2)-2018=1, "元", TEXT(A2, "e")) & "年" & MONTH(A2) & "月" & DAY(A2) & "日"

この数式は令和1年の場合に「令和元年」と表示します。他の元号に対応する場合は条件を追加してください。

実践例2:曜日の表示

曜日を日付の横に表示

=TEXT(A2, "aaa")       ' 結果:"水"
=TEXT(A2, "aaaa")      ' 結果:"水曜日"
=TEXT(A2, "(aaa)")     ' 結果:"(水)"

日付と曜日を一つのセルに表示

=TEXT(A2, "m月d日(aaa)")    ' 結果:"4月1日(水)"
=TEXT(A2, "yyyy/mm/dd(aaa)") ' 結果:"2026/04/01(水)"

英語の曜日表示

=TEXT(A2, "ddd")       ' 結果:"Wed"
=TEXT(A2, "dddd")      ' 結果:"Wednesday"

スケジュール表での活用

日付の列に曜日を自動表示するスケジュール表の例です。

A列(日付)B列(曜日)C列(予定)
2026/04/01=TEXT(A2,“aaa”)部門会議
2026/04/02=TEXT(A3,“aaa”)顧客訪問
2026/04/03=TEXT(A4,“aaa”)資料作成

B列の数式はA列の日付から自動的に曜日を取得します。

実践例3:帳票・レポートでの日付書式

請求書の発行日

請求書のヘッダーに「令和○年○月○日」形式で日付を表示します。

=TEXT(TODAY(), "ggge年m月d日")

報告書の期間表示

月次報告書のタイトルに「2026年4月度」と表示します。

=TEXT(A2, "yyyy年m月") & "度"

ファイル名用の日付文字列

ファイル名に使える形式(スラッシュなし)に変換します。

=TEXT(TODAY(), "yyyymmdd")          ' 結果:"20260401"
=TEXT(TODAY(), "yyyy-mm-dd")        ' 結果:"2026-04-01"
=TEXT(TODAY(), "yyyy_mm_dd")        ' 結果:"2026_04_01"

文書内での日付埋め込み

文章中に日付を埋め込む場合です。

="本日" & TEXT(TODAY(), "m月d日") & "付けでご連絡いたします。"

結果は「本日4月1日付けでご連絡いたします。」のようになります。

実践例4:時刻の表示形式

時刻データの表示形式もTEXT関数で制御できます。

基本的な時刻表示

数式結果(14:05:30の場合)
=TEXT(A2, “h:mm”)14:05
=TEXT(A2, “h時mm分”)14時05分
=TEXT(A2, “h:mm:ss”)14:05:30
=TEXT(A2, “AM/PM h:mm”)PM 2:05

経過時間の表示

時間の合計が24時間を超える場合は、角括弧付きの書式を使います。

=TEXT(A2, "[h]:mm")     ' 例:"30:45"(30時間45分)
=TEXT(A2, "[m]")        ' 例:"1845"(分の合計)

勤務時間の表示

=TEXT(C2-B2, "h時間mm分")    ' 結果:"8時間30分"

実践例5:条件付きの表示形式

セルの表示形式では、正の値・負の値・ゼロで異なる書式を設定できます。

セルの書式設定での条件分岐

書式コードをセミコロンで区切ると、正・負・ゼロの3パターンを指定できます。

[青]#,##0;[赤]-#,##0;0

日付の表示形式に条件を加える場合は、角括弧で条件を指定します。

[>=43831]yyyy"年"m"月"d"日";[<43831]"旧日付"

TEXT関数での条件分岐

TEXT関数自体に条件機能はありませんが、IF関数と組み合わせて実現します。

=IF(A2>=DATE(2019,5,1), TEXT(A2,"ggge年m月d日"), TEXT(A2,"ggge年m月d日"))

ユーザー定義の表示形式

セルの書式設定で「ユーザー定義」を選ぶと、自由な書式コードを入力できます。

よく使うユーザー定義書式

書式コード用途表示例
yyyy”年”m”月”d”日”(aaa)日本語の日付と曜日2026年4月1日(水)
ggge”年”m”月”d”日”和暦令和8年4月1日
yyyy/mm/dd hh:mm日時2026/04/01 14:05
mm”月”月のみ04月
”第”q”四半期”四半期は非対応-

カスタム書式のコツ

  • 固定文字列はダブルクォーテーションで囲む(“年”、“月”など)
  • 1文字の固定文字は円マークでエスケープできる(\年)
  • 半角スペースは書式コードにそのまま含められる
  • 改行を含む書式は設定できない

セルの書式設定とTEXT関数の使い分け

項目セルの書式設定TEXT関数
データ型数値(日付)のまま文字列に変換
計算への利用そのまま計算に使える計算には使えない
用途セルの表示を変えたいとき他のセルと文字列結合するとき
設定方法ダイアログで設定数式で指定

基本的にはセルの書式設定で対応し、文字列として結合する必要がある場合にTEXT関数を使うのが適切です。

よくあるトラブルと対処法

TEXT関数の結果が計算に使えない

TEXT関数は文字列を返すため、日付の計算には使えません。表示を整えたいだけなら、セルの書式設定で対応してください。

和暦が正しく表示されない

ExcelのバージョンやWindowsの設定により、和暦が正しく表示されない場合があります。Windows Updateを適用し、Excelを最新の状態に保ってください。

書式コードが反映されない

TEXT関数の第2引数は必ずダブルクォーテーションで囲んだ文字列で指定してください。

' 正しい
=TEXT(A2, "yyyy/mm/dd")

' エラーになる
=TEXT(A2, yyyy/mm/dd)

ゼロ埋めの制御

月や日を2桁に揃えたい場合はmm、ddを使い、ゼロ埋めが不要な場合はm、dを使います。

=TEXT(A2, "mm/dd")    ' 結果:"04/01"
=TEXT(A2, "m/d")      ' 結果:"4/1"

Google スプレッドシートでの互換性

TEXT関数はGoogle スプレッドシートでも利用可能です。ただし、和暦の書式コード(ggg, gg, g, e)はGoogle スプレッドシートでは対応していません。和暦表示が必要な場合はExcelを使用してください。曜日の表示(aaa, aaaa)はGoogle スプレッドシートでも動作します。

まとめ

日付の表示形式はセルの書式設定またはTEXT関数で制御できます。

  • セルの書式設定はデータを変えずに表示だけを変える方法
  • TEXT関数は日付を文字列に変換する関数で、文字列結合に便利
  • 和暦表示にはggg(元号)とe(年)の書式コードを使う
  • 曜日表示にはaaa(略称)とaaaa(正式名)の書式コードを使う
  • TEXT関数の結果は文字列のため計算には使えない

帳票の作成、レポートの自動生成、文書内への日付埋め込みなど、日付の表示形式を使いこなすことで業務効率が大きく向上します。目的に応じてセルの書式設定とTEXT関数を使い分けましょう。

広告スペース (article-bottom)

あわせて読みたい