請求書の金額表記がバラバラ、日付フォーマットがファイルによって違う、文字列と数値を連結したら書式が崩れた、ビジネスの現場でこうした表示まわりの面倒を一発で解決してくれるのが、エクセルのTEXT関数です。この記事では、日々の業務で使うビジネスパーソンに向けて、TEXT関数の基本構文から書式記号の一覧、日付・金額・パーセントなどの応用例、よくあるエラーまでを実務目線で解説します。動作確認はMicrosoft 365のWindows版を基準にしており、Excel 2021・Excel 2019・Mac版・Web版でも基本機能は同じく利用可能です。
目次
請求書の金額表記がバラバラ、日付フォーマットがファイルによって違う、文字列と数値を連結したら書式が崩れた、ビジネスの現場でこうした表示まわりの面倒を一発で解決してくれるのが、エクセルのTEXT関数です。この記事では、日々の業務で使うビジネスパーソンに向けて、TEXT関数の基本構文から書式記号の一覧、日付・金額・パーセントなどの応用例、よくあるエラーまでを実務目線で解説します。動作確認はMicrosoft 365のWindows版を基準にしており、Excel 2021・Excel 2019・Mac版・Web版でも基本機能は同じく利用可能です。
エクセルのTEXT関数とは?基本構文と用途
TEXT関数は、数値や日付に表示形式コードを適用して、書式を整えた文字列として返すExcelの関数です。Microsoft公式は「表示形式コードを使用して数値に書式設定を適用することで、数値の表示方法を変更する」関数と定義しています。
構文は次のとおりです。
=TEXT(値, 表示形式)
引数の意味は次のとおり。
- 値:書式を適用したい数値・日付・セル参照・計算式
- 表示形式:適用する表示形式コードを「”」(ダブルクォーテーション)で囲んだ文字列
たとえばセルA1に「1234567」が入っている状態で =TEXT(A1, "#,##0") と入力すると、「1,234,567」という文字列が返されます。
TEXT関数の主な用途は次の5つに整理できます。
- 数値に桁区切り(カンマ)や通貨記号を付けて見やすく表示する
- 日付を「2026/05/16」「2026年5月16日」「令和8年5月16日」など任意の形式に変換する
- 日付から曜日だけを取り出してスケジュール表に表示する
- 文字列と数値・日付を連結する際に書式を維持する
- 社員番号や郵便番号のように先頭ゼロを保持する

TEXT関数の基本的な使い方
ここでは、桁区切り表記を例に基本的な入力手順を確認します。
- 結果を表示したいセルを選択する
=TEXT(と入力する- 書式を適用したい値のセル(例:A1)をクリック、またはセル番地を入力する
- カンマを入力し、続けて表示形式コードを「”#,##0″」のようにダブルクォーテーションで囲んで入力する
)で閉じてEnterキーを押す
入力例として、セルA1に「1234567」が入っている場合、=TEXT(A1, "#,##0") と入力すると、結果のセルに「1,234,567」が表示されます。

書式設定ダイアログから表示形式コードをコピーする方法も覚えておくと便利。複雑なコードを手入力する手間が省けます。Microsoft公式が推奨する手順は次のとおり。
- 任意のセルで
Ctrl+1(Macは⌘+1)を押し、「セルの書式設定」ダイアログを開く - 「表示形式」タブで目的の形式を選び、左側の「ユーザー定義」をクリックする
- 「種類」ボックスに表示されたコードをコピーする
- TEXT関数の第2引数にダブルクォーテーションで囲んで貼り付ける
エクセル実務でよく使うTEXT関数の応用例
ここからは、業務でTEXT関数を使う具体的なシーンを順に見ていきます。
数値を桁区切り・通貨表示にする
請求書や見積書で金額を整える場面で頻出のパターンです。
=TEXT(A1, "¥#,##0") → ¥1,234,567
=TEXT(A1, "#,##0円") → 1,234,567円
=TEXT(A1, "#,##0,千円") → 1,235千円(千単位で省略表示)
3つ目の例にあるように、桁プレースホルダー直後にカンマを置くと、数値を1000で割って表示できます。決算資料で「千円単位」「百万円単位」の表記を作りたいときに便利な書き方です。
TEXT関数で桁区切りを設定する前に消費税の端数処理が必要な場合は、エクセルの切り捨て関数と組み合わせると金額処理が一貫します。
日付を統一フォーマットで揃える
外部から取り込んだ日付データは、入力者ごとにフォーマットが異なるケースが多いものです。TEXT関数でまとめて統一しましょう。
=TEXT(A1, "yyyy/mm/dd") → 2026/05/16
=TEXT(A1, "yyyy年m月d日") → 2026年5月16日
=TEXT(A1, "ggge年m月d日") → 令和8年5月16日
「令和1年」ではなく「令和元年」と表記したい場合は、Microsoft公式が用意しているロケール指定子を組み合わせます。
=TEXT(A1, "[$-ja-JP-x-gannen]ggge年m月d日")
→ 令和元年5月1日(2019/5/1のセル参照時)
公文書や和暦表記が求められる帳票で活用できます。
曜日を自動表示する
スケジュール表やシフト表で、日付に対応する曜日を自動表示したい場合に使います。
=TEXT(A1, "aaaa") → 土曜日
=TEXT(A1, "(aaa)") → (土)
=TEXT(A1, "ddd") → Sat(英語省略)
=TEXT(A1, "dddd") → Saturday(英語フル)
パーセント表記に変換する
集計結果の比率を表示するときに使います。元の値は0〜1のあいだの小数で持っておき、表示形式でパーセントに変換するのが基本パターンです。
=TEXT(0.285, "0.0%") → 28.5%
=TEXT(0.285, "0.00%") → 28.50%
=TEXT(0.285, "0%") → 29%(小数点以下を四捨五入)
ゼロ埋めで桁を揃える
社員番号や商品コード、伝票番号など、桁数を揃えたい場面で重宝するパターン。書式コード内の「0」の数が、表示したい桁数を表します。
=TEXT(123, "00000") → 00123
=TEXT(7, "0000") → 0007
CSVなどから読み込んだデータで先頭ゼロが落ちてしまった場合の復旧手段としても有効です。
文字列と数値・日付を連結する
TEXT関数がもっとも力を発揮するのが、文字列との連結シーンです。「&」演算子で他の文字列とつなぐと、書式を保ったまま自然な文章に組み込めます。
="本日は" & TEXT(TODAY(), "yyyy年m月d日(aaa)") & "です。"
→ 本日は2026年5月16日(土)です。
="ご請求金額:" & TEXT(A1, "¥#,##0") & "(税込)"
→ ご請求金額:¥1,234,567(税込)
ここで重要なのは、TEXT関数を使わずに ="本日は" & TODAY() & "です。" のように直接連結すると、Excelは内部のシリアル値(例:46167)をそのまま返してしまう点。書式を保つにはTEXT関数による明示的な変換が欠かせません。

電話番号や郵便番号を整形する
整数で保存された電話番号や郵便番号も、TEXT関数で見やすい表記に変換できます。
=TEXT(1234567898, "[<=9999999]###-####;(###) ###-####")
→ (123) 456-7898
=TEXT(1234567, "000-0000")
→ 123-4567(郵便番号形式)
電話番号の書式は、桁数によって市内通話と市外通話で表示を切り替える条件付き書式の例。CSVから取り込んだ番号データの整形に重宝します。
よく使う書式記号一覧【リファレンス】
応用例で出てきた書式記号を、カテゴリ別に整理しました。実務で使いそうな箇所に印を付けながら、リファレンスとして活用してください。
数値系の書式記号
| 書式記号 | 意味 | 例(値:1234.5) | 結果 |
|---|---|---|---|
0 | 桁を1つ表す。値がなければ0を表示 | "0000" | 1234(4桁未満なら左ゼロ埋め) |
# | 桁を1つ表す。値がなければ何も表示しない | "#,###" | 1,235 |
, | 3桁ごとの区切り記号 | "#,##0" | 1,235 |
. | 小数点 | "0.00" | 1234.50 |
? | 桁を1つ表す。値がなければ空白を表示 | "# ?/?" | 1234 1/2(分数表記) |
日付の書式記号
| 書式記号 | 意味 | 例(値:2026/5/16) |
|---|---|---|
yyyy | 西暦4桁 | 2026 |
yy | 西暦2桁 | 26 |
mm | 月(2桁) | 05 |
m | 月(1桁可) | 5 |
dd | 日(2桁) | 16 |
d | 日(1桁可) | 16 |
aaaa | 曜日(漢字フル) | 土曜日 |
aaa | 曜日(漢字省略) | 土 |
ggge | 和暦(元号+年) | 令和8 |
ggg | 和暦(元号のみ) | 令和 |
時刻の書式記号
| 書式記号 | 意味 | 例 |
|---|---|---|
h | 時(1桁可) | 9 |
hh | 時(2桁) | 09 |
mm | 分(h/sと組み合わせる場合) | 05 |
ss | 秒 | 30 |
AM/PM | 12時間表記 | 9:00 AM |
[h] | 24時間を超える経過時間を表示 | 28:00 |
特殊書式
| 用途 | 表示形式コード | 結果例 |
|---|---|---|
| 郵便番号 | "000-0000" | 123-4567 |
| 電話番号 | "[<=9999999]###-####;(###) ###-####" | (03) 1234-5678 |
| パーセント | "0.0%" | 28.5% |
| 通貨 | "¥#,##0" | ¥1,235 |
| 指数表記 | "0.00E+00" | 1.22E+07 |
表示形式コードは大文字・小文字を区別しません。「YYYY」と「yyyy」、「DD」と「dd」はいずれも同じ結果を返します。
TEXT関数とセルの書式設定(表示形式)の違い
TEXT関数と似た機能に、「セルの書式設定」(Ctrl+1 / ⌘+1 で開くダイアログ)があります。見た目はほぼ同じ結果になりますが、内部の挙動は決定的に違います。
| 観点 | TEXT関数 | セルの書式設定 |
|---|---|---|
| 結果のデータ型 | 文字列 | 元の値(数値・日付)のまま |
| 計算への利用 | 直接は不可(VALUE関数等で変換が必要) | 可能 |
| 複数セルの結果を1つに連結 | 得意(&演算子で書式を保てる) | 不得意(連結時に書式が外れる) |
| 1セル内で複数の値を別書式で表示 | 可能(“6月7日:気温25℃・湿度70%”のような表記) | 不可(1セル1書式) |
| セルに保持される値 | 変換後の文字列 | 元の数値・日付(表示だけ変わる) |

Excelでは数値が右寄せ、文字列が左寄せで表示される仕様のため、TEXT関数の結果セルが左寄せになっていれば、それは文字列として保持されているサインです。
実務での使い分けは次のとおりです。
- 計算に使う数値:セルの書式設定で表示だけ整える
- 印刷物・帳票・案内文に組み込む文字列:TEXT関数で書式を文字列化する
- 複数のセル値を文章に組み立てる:TEXT関数+&演算子
Microsoft公式も「元の値を1つのセルに保持し、別のセルでTEXT関数を使用することをお勧めします」と明記しており、計算用の値と表示用の値を分けて管理するのが推奨パターン。元の数値はそのまま残し、表示用の別セルでTEXT関数を使う運用が安全です。
TEXT関数でよくあるエラー・つまずきポイント
TEXT関数を使い始めた人がぶつかる代表的なトラブルと対処法をまとめます。
結果が文字列になり計算で使えない
TEXT関数の結果は数値ではなく文字列です。そのため、TEXT関数で整形した値をそのまま計算式に使うとエラーや想定外の結果になることがあります。
対処法は、VALUE関数で文字列を数値に戻すか、*1 で乗算する方法です。
=VALUE(TEXT(A1, "0")) → 文字列を数値に戻す
=TEXT(A1, "0")*1 → 同じく数値化
VLOOKUP・XLOOKUPでヒットしない
検索キーが文字列、検索範囲が数値(あるいは逆)になっていると、TEXT関数を使った値が #N/A エラーになる典型パターンです。
=VLOOKUP(TEXT(A1, "0"), B1:C10, 2, FALSE) → #N/A の可能性
=VLOOKUP(VALUE(TEXT(A1, "0")), B1:C10, 2, FALSE) → 正しく検索
検索キー側をVALUE関数で数値に戻すか、検索範囲側に合わせて型を揃えると解決します。
「m」が月か分か区別されない
TEXT関数の表示形式コードで、m と mm は月にも分にもなる記号です。Excelは前後の文脈で判別しますが、h(時)や s(秒)と組み合わせないと月として解釈されます。
=TEXT(NOW(), "mm") → 月が表示される(例:05)
=TEXT(NOW(), "hh:mm") → 分が表示される(例:14:30)
=TEXT(NOW(), "mm:ss") → 分:秒として表示される
「分だけ」を表示したい場合は、hh:mm 形式で出力したあとRIGHT関数で分だけ取り出す方法もあります。
表示形式コードの引用符を忘れる
第2引数の表示形式コードは必ずダブルクォーテーション(")で囲む必要があります。これを忘れると #NAME? エラーが返されます。
=TEXT(A1, yyyy/mm/dd) → #NAME? エラー
=TEXT(A1, "yyyy/mm/dd") → 正しい
先頭ゼロが消える
数値「00123」をセルに直接入力すると、Excelは先頭の0を自動的に削除して「123」と保存します。これを防ぐには2つの方法があります。
- セルの書式設定で「文字列」に変更してから入力する
- 既に削除されたデータには
=TEXT(A1, "00000")を使って再付与する
色指定([Red]など)が反映されない
セルの書式設定では [Red](#,##0) のように負の数を赤く表示できますが、TEXT関数は色の書式設定をサポートしていません。Microsoft公式は「TEXT関数はその表示形式コードを受け入れますが、色は表示されません」と明記しています。
色付け表示が必要な場合は、TEXT関数ではなくセルの書式設定か条件付き書式を使うのが正解です。
エクセルで使えるTEXT関数の応用テクニック
基本を押さえたら、業務効率を一段上げる応用パターンも覚えておきましょう。
複数の値を1セルにまとめて連結する
報告書や案内文の自動生成で威力を発揮するパターンです。複数のセル値をそれぞれ違う書式で1セルに収められます。
=A1 & ":気温" & TEXT(B1, "0") & "℃・湿度" & TEXT(C1, "0%")
→ 6月7日:気温25℃・湿度70%
ひとつのセルに複数の値を異なる書式で表示する処理は、セルの書式設定ではまかなえません。TEXT関数ならではの強みといえるでしょう。
なお、TEXT関数の結果をセル内で改行表示したい場合は、CHAR(10) 関数と組み合わせ、セルの「折り返して全体を表示する」設定を有効にします。セル内改行の基本はエクセルでの改行の仕方も参考にしてください。
Microsoft 365のスピル機能で配列を一括変換
Microsoft 365とExcel 2021以降では、スピル機能によりTEXT関数に範囲を渡すと結果が自動で展開されます。
=TEXT(A2:A10, "yyyy/mm/dd")
この1つの数式だけで、A2〜A10の日付がすべて指定書式で展開されます。従来のように下方向にコピーする手間が不要になり、メンテナンス性も向上。なお、Excel 2019以前はスピル非対応のため、=TEXT(A2, "yyyy/mm/dd") を入力して下方向にオートフィルする従来の方法が必要です。
TODAY/NOW関数との組み合わせ
更新日や送信時刻を自動表示したい場合は、TODAY関数・NOW関数と組み合わせます。
="作成日:" & TEXT(TODAY(), "yyyy年m月d日")
="更新日時:" & TEXT(NOW(), "yyyy/mm/dd hh:mm")
定型レポートや日報のテンプレートに仕込んでおくと、ファイルを開くたびに自動で日付が更新されるため、手作業での日付差し替えがゼロになります。
TEXT関数に関するよくある質問
Q. TEXT関数の結果を再び数値に戻すことはできますか?
A. VALUE関数を使うか、*1 で乗算すれば数値に戻せます。=VALUE(TEXT(A1, "0")) または =TEXT(A1, "0")*1のように記述するのが一般的です。
Q. TEXT関数の結果に色を付けることはできますか?
A. TEXT関数自体は色書式をサポートしていません。[Red] などの色指定を書式コードに含めても無視されます。色を付けたい場合は、セルの書式設定または条件付き書式の利用がおすすめです。
Q. MacのExcelでも同じように使えますか?
A. 構文は完全に同じです。書式設定ダイアログを開くショートカットだけ、Windowsの Ctrl+1 がMacでは ⌘+1に変わります。
Q. Excel 2019やExcel 2021でも使えますか?
A. TEXT関数自体はExcel 2007以降のすべてのバージョンで利用できます。ただし、配列を一気に変換できるスピル機能はExcel 2021・Microsoft 365のみの対応となるため、それ以前のバージョンではセル1つずつへの数式入力+オートフィルが必要です。
Q. Googleスプレッドシートでも同じ書き方で動きますか?
A. Googleスプレッドシートにも同名のTEXT関数があり、基本的な書式記号は同じ書き方で動作します。ただし、和暦表示やロケール固有の書式など一部の挙動が異なるため、Excelと併用する運用では実機での確認が安心です。
まとめ
エクセルのTEXT関数は、見た目を整えるだけの関数に見えて、文字列との連結・日付の統一表記・帳票自動化など、ビジネス文書づくりに欠かせない実務関数です。要点を振り返ります。
- 構文は
=TEXT(値, 表示形式)で、表示形式コードは必ずダブルクォーテーションで囲む - 書式記号は数値系(
0、#、,)・日付系(yyyy、mm、dd、aaaa)・時刻系(h、m、s)・特殊書式に分かれる - 結果は文字列になるため、計算に使うときはVALUE関数で数値に戻す
- セルの書式設定との使い分けは、「計算用=書式設定」「連結・帳票用=TEXT関数」が基本
mの単独使用は月扱いになるため、分を表示するときはh:m形式で組み合わせる- 色書式は反映されない仕様。色を付けるなら条件付き書式を使う
書式記号さえ覚えてしまえば、TEXT関数の応用範囲は一気に広がります。請求書テンプレート、日報、ダッシュボードなど、定型業務の自動化にぜひ組み込んでみてください。







DIME MAGAZINE












