Excel関数 逆引き集 | 数値を文字列に変換 → TEXT

Excel
スポンサーリンク

概要

「日付や数値を“好きな形の文字列”にしたい」
「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日

セルの表示形式と同じノリで、yyyymmdd を使います。


基本パターン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 生成など、
“見せ方”や“書式”が大事な場面で一気に表現力が増えます。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました