概要
「日付や数値を“好きな形の文字列”にしたい」
「001 のようにゼロ埋めしたい」
「3,000円 を ‘¥3,000’ という文字列で扱いたい」
こういうときに使うのが TEXT 関数です。
TEXT は、
「数値 + 表示形式」
から「その形をした“文字列”」を作る関数です。
“セルの表示形式”でやっていることを、数式の中で自由に使えるイメージです。
TEXT 関数の基本
書式とざっくりイメージ
=TEXT(数値, "表示形式")
数値
元になる値。数値や日付・時刻(どれも Excel の内部では数値)を指定します。
表示形式
ダブルクォーテーション " " で囲んだ書式コードを指定します。
セルの「表示形式」で見慣れている記号(0、#、yyyy、mm、dd など)をそのまま使います。
結果は「見た目は数値や日付でも、中身は“文字列”」になります。
ここが重要なポイントです。
基本パターン1:ゼロ埋めして固定桁の文字列に
社員番号・商品コードなどを「001」「010」形式にする
A2 に「1」という数値が入っていて、
「001」のように 3 桁ゼロ埋めの文字列にしたい場合。
=TEXT(A2, "000")
結果:「001」
A2 が 12 なら「012」、123 なら「123」になります。
「3 桁ぶんの枠を用意して、足りない部分を 0 で埋める」という意味です。
コード系(伝票番号・社員番号・顧客番号など)で定番の使い方です。
基本パターン2:カンマ付きの数値を文字列化
3桁区切り+小数点など
A2 に 1234567.89 という数値が入っていて、
「1,234,567.89」という形の文字列にしたい場合。
=TEXT(A2, "#,##0.00")
結果:「1,234,567.89」
表示形式の意味はざっくり次のとおりです。
#,##0… 3桁ごとにカンマ区切り、少なくとも 1 桁は表示.00… 小数点以下を必ず 2 桁表示(足りなければ 0 で埋める)
セルの「表示形式」で設定していることを、そのまま TEXT で書いているだけ、と考えると分かりやすいです。
基本パターン3:日付を「yyyy/mm/dd」など好きな形に
A2 に日付(例:2026/1/5)が入力されているとします。
これを「2026-01-05」という文字列にしたい場合。
=TEXT(A2, "yyyy-mm-dd")
結果:「2026-01-05」
よく使う書式パターンはこんな感じです。
"yyyy/mm/dd"→ 2026/01/05"yyyy年m月d日"→ 2026年1月5日"mm/dd"→ 01/05"m月d日"→ 1月5日
セルの表示形式と同じノリで、yyyy・mm・dd を使います。
基本パターン4:時刻を「HH:MM」などに
A2 に時刻(例:14:30)が入っているとして、
「14:30」という文字列にしたい場合。
=TEXT(A2, "hh:mm")
結果:「14:30」
"hh:mm"→ 24時間制 2桁:2桁"h:mm"→ 1桁のときは 1桁で表示(9:05 など)"hh:mm:ss"→ 秒まで
時間と日付を一緒に表示したい場合は、
=TEXT(A2, "yyyy/mm/dd hh:mm")
のように、書式をくっつけて書けます。
応用1:文字列結合の中で「きれいに整形」して使う
TEXT の真価は、「他の文字列とくっつけるとき」に発揮されます。
例えば A2 に日付、B2 に金額が入っていて、
「2026年1月5日時点の売上は 12,345円です。」
という文章を作りたいとします。
="日付:" & TEXT(A2, "yyyy年m月d日") &
" 売上:" & TEXT(B2, "#,##0") & "円"
こうすると、
- A2 は「yyyy年m月d日」形式の文字列
- B2 はカンマ付きの文字列
に整えたうえで、1本の文章として結合できます。
TEXT を使わずに単純に A2 & B2 すると、「シリアル値」のままくっついてしまいます。
応用2:コード+連番をきれいに作る
「商品コードの接頭辞+3桁連番」を作りたいときなども、TEXT は便利です。
A2 に「ABC」、B2 に連番(1,2,3,…)が入っているとして、
「ABC001」「ABC002」… のようにしたい場合。
=A2 & TEXT(B2, "000")
B2 が 1 なら「ABC001」、12 なら「ABC012」になります。
注意点:TEXT の結果は“数値ではない”
TEXT の結果は 文字列 です。
見た目が「1,234」「2026-01-05」でも、中身は数値ではありません。
- 計算に直接使う → NG(数値に戻したいなら VALUE などが必要)
- 検索キー・表示用・CSV出力用など → OK(文字列として扱う場面向き)
「見た目を整えてから計算」ではなく、
「計算は数値でやる → 最後に TEXT で整えて“見せる”」という順番を意識しておくとトラブルが減ります。
問題1
A2 に数値の 5 が入っています。
これを「005」という 3 桁ゼロ埋めの文字列にしたいです。
TEXT 関数の式を書いてください。
=TEXT(A2, "000")
問題2
A2 に 1234567.8 という数値が入っています。
これを「1,234,567.80」という形の文字列にしたいです。
TEXT 関数の式を書いてください。
=TEXT(A2, "#,##0.00")
問題3
A2 に日付 2026/1/5 が入っています。
これを「2026-01-05」という文字列に変換したいです。
TEXT 関数の式を書いてください。
=TEXT(A2, "yyyy-mm-dd")
問題4
A2 に日付、B2 に金額(数値)が入っています。
「2026年1月5日時点の売上は 12,345円です。」
のような文章を作りたいです。
日付は「yyyy年m月d日」、金額は「カンマ付き整数+円」の形式で表示する式を書いてください。
="日付:" & TEXT(A2, "yyyy年m月d日") & " 売上:" & TEXT(B2, "#,##0") & "円"
問題5
A2 に商品コードのプレフィックス「ABC」、
B2 に連番(1,2,3,…)が入っています。
これを使って「ABC001」「ABC002」… のようなコードを作りたいです。
TEXT を使った式を書いてください。
=A2 & TEXT(B2, "000")
TEXT の核は、この形です。
=TEXT(数値, "表示形式")
「セルの表示形式でやっていることを、そのまま数式の中で文字列として作る」
これができるようになると、
レポート文、帳票、CSV 出力、ID 生成など、
“見せ方”や“書式”が大事な場面で一気に表現力が増えます。
