皆さん、Excelで資料を作成していると、こんな経験はありませんか?
- 入力した日付が「2025/6/15」と表示されるけど、「2025年6月15日」にしたい!
- 数字の羅列を「001-2345」のようにハイフン付きの文字列として扱いたい!
- 売上データに「〇〇円」と単位を付けたいけど、SUM関数で合計できなくなるのは困る…
こんな時、セルの「表示形式」を変更することもできますが、TEXT関数を使えば元のデータはそのままに、別のセルに変換後の表示形式で出力できるんです!
今回は、ExcelのTEXT関数を使って、数値や日付の表示形式を思い通りに操る方法を徹底解説します。セルの書式設定との違いや、より便利になる活用法もご紹介するので、ぜひあなたのExcelスキルをワンランクアップさせましょう!

TEXT関数ってどんな関数?
TEXT関数は、数値や日付などの値を、指定した書式(表示形式)の文字列に変換する関数です。

書式:=TEXT(値, 表示形式)
- 値: 変換したい数値、日付、またはそのセルを指定します。
- 表示形式: どのような表示形式に変換したいかを「”」(ダブルクォーテーション)で囲んで指定します。ここがTEXT関数のキモになります!
例えば、セルA1に「2025/6/15」と日付が入力されているとします。
=TEXT(A1, “yyyy年m月d日”)
と入力すると、「2025年6月15日」という文字列として表示されます。元のA1セルの日付データはそのままなので、計算などにも影響しません。
日付の表示形式を操る!実践的な書式コード
まずは、B2セルにある日付データを様々な形式に変換してみましょう。※皆さんが試して見るときは表示させる値(B2セル)部分を修正して出力してみてくださいね!

TEXT関数 | 表示結果 | 説明 |
=TEXT(B1, “yyyy/mm/dd”) | 2025/06/15 | 年(4桁)、月(2桁)、日(2桁)で表示。1桁の月や日は先頭に0が付きます。 |
=TEXT(B1, “yyyy年m月d日”) | 2025年6月15日 | 年、月(0なし)、日(0なし)を漢字で表示。 |
=TEXT(B1, “yy/m/d”) | 25/6/15 | 年を2桁で表示。 |
=TEXT(B1, “aaa”)’ | 日 | 曜日を漢字1文字で表示。(例:日、月、火…) |
=TEXT(B1, “aaaa”) | 日曜日 | 曜日を漢字3文字+「曜日」で表示。 |
=TEXT(B1, “ddd”) | Sun | 曜日を英語3文字で表示。(例:Sun, Mon, Tue…) |
=TEXT(B1, “dddd”) | Sunday | 曜日を英語フルスペルで表示。 |
=TEXT(B1, “gggee年m月d日”) | 令和07年6月15日 | 和暦で表示。「ggg」で「平成」のように元号名、「ee」で元号の年数を表示します。 |
=TEXT(B1, “yyyy/mm/dd(aaa)”) | 2025/06/15(日) | 日付と曜日を組み合わせた表示。 |
ポイント:
m
やd
を1つにすると、月や日が1桁の場合「0」がつきません。mm
やdd
と2つにすると、月や日が1桁の場合「0」が付きます。yyyy
は西暦4桁、yy
は西暦2桁です。
数値の表示形式を操る!実践的な書式コード
次に、数値データを様々な形式に変換してみましょう。B2セルに”12345″を入力しています。

TEXT関数 | 表示結果 | 説明 |
=TEXT(B1, “#,##0”) | 12,345 | 3桁区切り(カンマ)で表示。小数点以下は表示されません。 |
=TEXT(B1, “0”) | 12345 | 整数で表示。#は0を省略しますが、0は桁が足りなくても0を表示します。 |
=TEXT(B1, “#,##0.00”) | 12,345.00 | 3桁区切り、小数点以下2桁まで表示(四捨五入されます)。 |
=TEXT(B1, “000000”) | 012345 | 6桁に満たない場合、先頭に0を追加して表示。(例:会員番号など) |
=TEXT(B1, “###-####”) | 1-2345 | ハイフンを挿入して表示。(例:電話番号の一部など) |
=TEXT(B1, “¥#,##0”) | ¥12,345 | 通貨記号(円マーク)を付けて表示。 |
=TEXT(B1, “0.0%”) | 1234500.0% | パーセンテージで表示。 |
=TEXT(B1, “売上高 #,##0円”) | 売上高 12,345円 | 文字列と組み合わせて表示。ダブルクォーテーションで囲んだ部分はそのまま表示されます。 |
ポイント:
#
は、数字がある場合はその数字を表示し、0の場合は表示しません。0
は、数字がある場合はその数字を表示し、0の場合も0を表示します。桁数が足りない場合は0で埋めます。- カンマ(
,
)を入れると3桁区切りになります。 - 単位や特定の文字列を追加したい場合は、その文字列をダブルクォーテーションで囲んで書式コードの中に含めます。
TEXT関数でさらに便利になること
TEXT関数は、表示形式を変換する以外にも、知っておくと実はかなり役立つ隠れたメリットがいくつかあります。
- 「文字列」として扱いたい場合 Excelは通常、入力された日付や数値を「値」として認識します。例えば「2025/6/15」は日付データ、「001」は数値の「1」として扱われます。しかし、システム連携や特定のデータ形式を求められる場面では、これらを厳密に文字列として扱いたいことがあります。
- 先頭のゼロを保持する: 例えば、社員番号や商品コードが「001」「0025」のように先頭にゼロを含む場合、そのまま入力するとExcelは自動的に「1」「25」と認識してしまいます。しかし、TEXT関数を使えば
=TEXT(A1,"000")
のように書式指定することで、必ず指定された桁数でゼロ埋めされた文字列として出力できます。これにより、他のシステムへの連携時にフォーマット崩れを防げます。 - 日付を固定の文字列形式にする: Excelの日付は内部的には数値(シリアル値)で管理されています。そのため、他のシステムに連携する際や、特定のテキストファイルに出力する際に、意図しない日付形式で出力されてしまうことがあります。TEXT関数で
=TEXT(A1,"yyyyMMdd")
のように指定すれば、例えば「20250615」といった固定の文字列形式で日付を出力でき、データの互換性を高められます。 - 文字列結合で日付がシリアル値にならない: A1に日付「2025/6/15」が入っている状態で、B1に
="本日の日付は "&A1
と入力すると、結果は「本日の日付は 45823」のように、日付がシリアル値で表示されてしまいます。 しかし、TEXT関数を使えば="本日の日付は "&TEXT(A1,"yyyy年m月d日")&"です。"
のように、日付を「2025年6月15日」という文字列に変換してから結合できるため、意図した通りの表示になります。
- 先頭のゼロを保持する: 例えば、社員番号や商品コードが「001」「0025」のように先頭にゼロを含む場合、そのまま入力するとExcelは自動的に「1」「25」と認識してしまいます。しかし、TEXT関数を使えば
- 条件付き書式や入力規則で特定の表示形式を条件にしたい場合 これは少し応用的な使い方ですが、TEXT関数で一度文字列に変換することで、セルの表示形式そのものを条件に含めるような複雑な条件付き書式や入力規則の設定が可能になる場合があります。例えば、「日付が『〇年〇月』の形式で入力されているか」といった、見た目のフォーマットをチェックしたい場合に役立ちます。
セルの書式設定とTEXT関数の違いって?
「セルの表示形式を変えるなら、セルの書式設定でもできるんじゃないの?」と思った方もいるかもしれません。はい、どちらも見た目を変更する機能ですが、決定的な違いがあります。
項目 | セルの書式設定 | TEXT関数 |
データ型 | 元のデータ型は変わらない。(数値は数値、日付は日付のまま) | 必ず「文字列」に変換される |
出力場所 | そのセルの見た目自体が変わる | 別のセルに変換結果を出力する |
主な用途 | 入力されたセルの見た目を整える | データ形式を文字列に変換して加工する |
計算への影響 | なし(元のデータで計算される) | あり(文字列になるため計算できない) |
この違いが、TEXT関数を使うべき最も重要な理由です。
- セルの書式設定は、あくまでも「化粧」のようなものです。中身は元の数値や日付のままなので、先頭の「0」は保持されず、他のシステムに連携する際に問題になることがあります。
- 一方、TEXT関数は「加工」です。指定した形式の文字列を新たに生成するので、他のシステムへのデータ連携時や、データ結合時に非常に力を発揮します。
例えば、社員番号「001」を扱う場合:
- セルの書式設定で「000」と設定: 見た目は「001」ですが、Excel内部では「1」という数値のまま。
- TEXT関数で
=TEXT(A1,"000")
と設定: 「001」という文字列として出力される。
このように、元のデータを変えずに、用途に応じて「数値・日付」として扱うか、「特定の形式の文字列」として扱うかを使い分けられるのがTEXT関数の大きな強みです。
まとめ:TEXT関数を使いこなしてデータ表現の幅を広げよう!
今回はExcelのTEXT関数について解説しました。
- TEXT関数は、値(数値や日付)を指定した書式(表示形式)の文字列に変換する関数です。
- 日付や数値の様々な表示形式を、書式コードを使って細かく指定できます。
- 最も重要なのは、TEXT関数がデータを「文字列」に変換して出力するという点です。これにより、セルの書式設定ではできない「先頭のゼロの保持」や「データ連携のための厳密なフォーマット指定」、さらには「文字列の結合」などが可能になります。
- 元のデータは変更しないため、計算に影響を与えずに表示を調整できるのも大きなメリットです。
TEXT関数を使いこなせば、Excelでのデータ表現の幅がグッと広がり、より高度なデータ処理やシステム連携にも対応できるようになります。ぜひこの記事を参考に、あなたのデータをもっと見やすく、分かりやすく、そして使いやすく加工してみてください!
ご質問や、こんな表示形式にしたい!というご要望があれば、コメントで教えてくださいね。
コメント