ExcelのTEXT関数の使い方|数値や日付を文字列内で指定の表示形式に変換
ExcelのTEXT関数を使って数値、通貨、パーセンテージ、日付の表示形式を整える方法を解説。大文字・小文字を変換するUPPER、LOWER、PROPER関数も紹介します。
著者 Ayoub Farid · · 4 分で読めます
数値と文字列を結合すると、Excelでは設定していた表示形式が解除されてしまいます。たとえば、="Total: "&B2 と入力すると、「Total: $12,900.50」ではなく「Total: 12900.5」と表示されてしまいます。TEXT関数を使えば、数値を好みの表示形式の文字列へ正確に変換できます。
構文
=TEXT(value, format_text)
よく使われる表示形式コード
| 設定したい形式 | 数式 | 結果 |
|---|---|---|
| 桁区切り(カンマ) | =TEXT(B2,"#,##0") | 12,901 |
| 小数点以下2桁 | =TEXT(B2,"#,##0.00") | 12,900.50 |
| 通貨 | =TEXT(B2,"$#,##0.00") | $12,900.50 |
| パーセンテージ | =TEXT(C2,"0.0%") | 18.3% |
| ゼロ埋め(前ゼロ) | =TEXT(D2,"00000") | 00042 |
| 日付 | =TEXT(E2,"dd mmm yyyy") | 15 Mar 2026 |
| 曜日 | =TEXT(E2,"dddd") | Sunday |
| 月名 | =TEXT(E2,"mmmm") | March |
読みやすい文章を作成する
="Sales were "&TEXT(B2,"$#,##0")&" in "&TEXT(E2,"mmmm")
→ 「Sales were $12,901 in March」
注意点:結果は「文字列」になります
TEXT関数が返す値は数値ではなく文字列です。そのため、SUM関数で合計を計算することはできず、並べ替えを行った際にも意図しない順序になることがあります。TEXT関数はラベルや表示用の文字列を作成する目的で使用しましょう。後から計算に使う数値の場合は、セルの表示形式を変更するか、ROUND関数を使用してください。
日付コードと言語設定
日付の書式コードは、Excelの言語設定によって異なります。「yyyy」は英語環境や日本語環境で動作しますが、一部の言語版では固有の文字が使われます(例:フランス語版やドイツ語版のExcelでは「jjjj」など)。日付の表示形式で思い通りの結果が得られない場合は、お使いの言語設定に対応したコードを確認してください。
大文字・小文字の変換:UPPER、LOWER、PROPER
=UPPER(A2) SAM LEE
=LOWER(A2) sam lee
=PROPER(A2) Sam Lee
PROPER関数は、すべて大文字で入力された氏名などのデータを綺麗に整える際に非常に役立ちます。TRIM関数と組み合わせて、=PROPER(TRIM(A2)) のように使うのもおすすめです。
よくある質問
Excelの数式内で数値の表示形式を設定するにはどうすればよいですか?
=TEXT(値,"表示形式") を使用します。たとえば、=TEXT(B2,"$#,##0.00") のように指定します。
TEXT関数の計算結果を合計できないのはなぜですか?
TEXT関数は結果を文字列として返すためです。計算を行いたい場合は、元の数値をそのまま保持してください。
日付から月名を取得するにはどうすればよいですか?
完全な月名(英語)を取得するには =TEXT(A2,"mmmm")、短縮名を取得するには "mmm" を使用します。
各単語の先頭文字だけを大文字にするにはどうすればよいですか?
=PROPER(A2) を使用します。