
ExcelでセルのデータをテキストラベルとMIXしようとしたとき、「Revenue: 48293.5」や「Report date: 45012」のような表示になってしまった経験はありませんか?これはExcelの生のデータが出力にそのまま漏れ出てしまっている状態です。そして、この問題を解決するために用意されている関数がTEXT関数です。
TEXT関数は数値を書式付きのテキスト文字列に変換します。数値、通貨、パーセンテージ、日付、時刻の表示形式を細かく制御できるため、レポートの作成、ラベルの生成、動的な文章スタイルの出力の組み立てなど、さまざまな場面で活躍します。このガイドでは、基本的な構文から実践的な使用例まで、知っておくべきすべてのことを解説します。
構文はシンプルです:
=TEXT(value, format_text)
結果は常にテキスト文字列であり、数値ではありません。そのため、TEXT関数の出力を算術計算に使用するには、事前に数値に変換し直す必要があります。
書式コードは、Excelの「セルの書式設定」ダイアログ(Ctrl + 1)に表示されるものと同じです。TEXT関数の中でそのまま使用できます。よく使われる主な構成要素を以下に示します:
| コード | 意味 | 入力例 | 出力例 |
|---|---|---|---|
0 |
数字のプレースホルダー(ゼロを表示) | 7 | "000" で "007" |
# |
数字のプレースホルダー(余分なゼロなし) | 1234.5 | "#.#" で "1234.5" |
, |
桁区切り記号 | 1000000 | "#,##0" で "1,000,000" |
. |
小数点 | 3.14159 | "0.00" で "3.14" |
% |
パーセント(100倍して表示) | 0.75 | "0.0%" で "75.0%" |
$ |
通貨記号(リテラル) | 2500 | "$#,##0" で "$2,500" |
d / dd |
日(1桁または2桁) | 日付 | "5" または "05" |
mmm / mmmm |
月(省略形/完全な名称) | 日付 | "Jan" または "January" |
yyyy |
4桁の年 | 日付 | "2025" |
h:mm AM/PM |
AM/PM付きの時刻 | 時刻の値 | "9:05 AM" |
=TEXT(A2, "#,##0.00")
A2に48293.5が入力されている場合、この数式は"48,293.50"を返します。見やすく整った形式で、レポートのラベルにすぐ使えます。
=TEXT(A2, "$#,##0.00")
2500を"$2,500.00"に変換します。次のようにテキストと数値を組み合わせる場合に便利です:
="Total Revenue: "&TEXT(B5,"$#,##0")
この数式の結果:Total Revenue: $48,294
=TEXT(A2, "0.0%")
A2が0.876の場合、結果は"87.6%"になります。ExcelのSalesダッシュボードでKPIのサマリー文を作成する際に最適です。
=TEXT(A2, "00000")
従業員ID、製品コード、郵便番号などに便利です。742を"00742"に変換します。
Excelの日付はシリアル値として保存されています(例:2025年1月1日 = 45658)。TEXT関数を使えば、任意の読みやすい形式で表示できます。
=TEXT(A2, "dd/mm/yyyy") → "14/06/2025"
=TEXT(A2, "mmmm d, yyyy") → "June 14, 2025"
=TEXT(A2, "ddd, mmm d") → "Sat, Jun 14"
=TEXT(A2, "yyyy-mm-dd") → "2025-06-14"
レポートのヘッダーやタイムラインのラベルを作成する際に特に便利です。たとえばExcelでプロジェクトタイムラインやガントチャートを作成している場合、書式付きの日付ラベルによってグラフの可読性が大幅に向上します。
="Report generated on: "&TEXT(TODAY(),"mmmm d, yyyy")
結果:Report generated on: June 14, 2025
TEXTを使わない場合は「Report generated on: 45658」のような表示になってしまい、読む人にとっては何の意味もありません。
Excelの時刻は小数値として保存されています(例:0.5 = 正午)。TEXTはそれをすっきりと処理します:
=TEXT(A2, "h:mm AM/PM") → "9:05 AM"
=TEXT(A2, "hh:mm:ss") → "09:05:32"
=TEXT(A2, "[h] hours") → "14 hours"(経過時間)
[h]の書式は経過時間の表示に特に便利で、時間が24を超えても正しく表示できます。複数日にまたがる勤務時間の集計などに欠かせません。
請求書を作成していて、テキストと数値を組み合わせたきれいなサマリー行を表示したいとします。以下がその設定例です:
次の文章を自動的に生成したいとします:
"Invoice dated June 14, 2025 for $3,750.00 is due in 30 days."
使用する数式はこちらです:
="Invoice dated "&TEXT(B1,"mmmm d, yyyy")&" for "&TEXT(B2,"$#,##0.00")&" is due in "&B3&" days."
この1つの数式で文章全体が動的に組み立てられます。日付、金額、日数を変更するだけで、文章が自動的に更新されます。このような動的なラベリングは、プロフェッショナルな請求書テンプレートを作成する際に非常に役立ちます。
よくある疑問として「セルの書式設定ダイアログで直接書式を設定すればよいのでは?」という声があります。主な違いは以下のとおりです:
数値を文章に埋め込む必要がある場合、一貫したエクスポート形式を作成する場合、または地域設定に関わらず書式を固定する必要がある場合はTEXT関数を使用してください。数値としての動作が引き続き必要な場合はセルの書式設定を使用してください。
TEXT関数は他のExcel関数と組み合わせることで、さらに強力になります。
=IF(B2>0, "Profit: "&TEXT(B2,"$#,##0"), "Loss: "&TEXT(ABS(B2),"$#,##0"))
正の値か負の値かに応じてラベル付きの出力を生成します。条件付きロジックについてさらに詳しく知りたい場合は、IF関数:論理テストとネストされたIFのガイドをご覧ください。
="Order "&TEXT(VLOOKUP(A2,OrderTable,2,0),"00000")&" shipped."
注文番号を取得して5桁にゼロ埋めし、1つの数式ですべて文章の中に組み込みます。
="As of "&TEXT(TODAY(),"dddd, mmmm d")&" - data is current."
ダッシュボードのヘッダーにリアルタイムで更新されるタイムスタンプラベルを作成します。Excelの動的ダッシュボードと組み合わせることで、プロフェッショナルで自動更新されるレポートを実現できます。
=TEXT(A2, #,##0)はエラーになります。書式コードは必ず引用符で囲んでください:=TEXT(A2, "#,##0")。=TEXT(A2,"0.00")+10はエラーになるか0を返します。先に計算を行ってから、TEXTで包むようにしましょう。特定の出力に対してどの書式コードを使えばよいかわからない場合(たとえば「1st」「2nd」「3rd」のように数値を表示したい、独自の会計年度日付形式が必要など)、GPTExcelに日本語で内容を説明するだけで、書式コードを含む正確なTEXT数式を数秒で取得できます。すべてのコードの組み合わせを暗記する必要はありません。
数式の作成やデータの準備を効率化するその他の方法については、AIを使ってExcelでデータをクリーニング・変換するをご覧ください。
これは通常、セルの書式が「数値」に設定されており、Excelがテキストの結果を数値に変換し直していることが原因です。セルを選択し、「テキスト」(または「標準」)に書式を変更してから数式を再入力してください。また、書式コードがダブルクォーテーションで囲まれているかどうかも確認してください。
はい。Excelの書式コードはセミコロンで区切られた最大4つのセクションをサポートしています:正の数;負の数;ゼロ;テキスト。例:"$#,##0.00;($#,##0.00);"-""は正の値を標準形式で、負の値を括弧付きで、ゼロをダッシュとして表示します。
はい。TEXT関数とその日付書式コード(d、dd、mmm、mmmm、yy、yyyyなど)は、Excel 2010、2013、2016、2019、2021、Microsoft 365、Excel Onlineを含むすべての最新バージョンのExcelでサポートされています。ユーザー間で地域の日付設定が異なる場合、出力がわずかに異なる場合があります。
この2つの関数は反対の動作をします。TEXTは数値を書式付きのテキスト文字列に変換します。NUMBERVALUEは数値のように見えるテキスト文字列を実際の数値に変換します。TEXTの効果を元に戻して再び計算を行う必要がある場合は、NUMBERVALUE(またはVALUE)を使用してください。
ExcelのTEXT関数が書式コードを使って数値、日付、時刻を書式付きテキスト文字列に変換する方法を、実際の例と実践的なユースケースを交えて解説します。
ExcelのIF関数の仕組み、複数のIFをネストする方法、そしてより読みやすいロジックを実現するIFSやSWITCHなどの最新の代替関数について解説します。
ExcelのSUMIFとSUMIFSをマスターして、1つまたは複数の条件に基づいてデータを合計する方法を、実際の構文・実践的な例・ステップバイステップの解説で学びましょう。