TEXT 関数

TEXT 関数を使用すると、表示形式コードを使用して数値に書式設定を適用することで、数値の表示方法を変更することができます。 これは、数値をより読みやすい形式で表示する場合や、数値を文字列または記号と組み合わせる場合に便利です。

TEXT 関数は数値をテキストに変換するため、後の計算では参照が困難になる可能性があります。 元の値を 1 つのセルに保持し、別のセルで TEXT 関数を使用することをお勧めします。 この後、他の数式を作成する必要がある場合は必ず、TEXT 関数の結果ではなく、元の値を参照するようにします。

技術的詳細

構文

TEXT(value, format_text)

TEXT 関数の構文には、次の引数があります。

引数名 説明
value テキストに変換する数値。
format_text 指定された値に適用する書式を定義するテキスト文字列。

概要

その最も簡単な形式で、TEXT 関数は次のようになります。

  • =TEXT(書式設定する値, "適用する表示形式コード")

次に、よく使われている例をいくつか紹介します。これを Excel に直接コピーして、自分で試してみることができます。 表示形式コードを引用符で囲む必要があることにご注意ください。

数式 説明
=TEXT(1234.567,"$#,##0.00") 桁区切り記号と小数点以下 2 桁を設定した通貨 (例: $1,234.57)。 Excel は、値を小数点以下 2 桁に四捨五入することにご注意ください。
=TEXT(TODAY(),"MM/DD/YY") MM/DD/YY 形式の今日の日付 (03/14/12 など)
=TEXT(TODAY(),"DDDD") 今日の曜日 (月曜日など)
=TEXT(NOW(),"H:MM AM/PM") 現在の時刻 (例: 1:29 PM)
=TEXT(0.285,"0.0%") パーセンテージ (例: 28.5%)
=TEXT(4.34 ,"# ?/?") 分数 (例: 4 1/3)
=TRIM(TEXT(0.34,"# ?/?")) 分数 (例: 1/3)。 これは、TRIM 関数を使用して小数点の先頭のスペースと 10 進数を削除することにご注意ください。
=TEXT(12200000,"0.00E+00") 指数表記 (例: 1.22E+07)
=TEXT(1234567898,"[<=9999999]###-####;(###) #########") その他 (電話番号) (例: (123) 456-7898)
=TEXT(1234,"0000000") 先頭のゼロ (0) を追加 (例: 0001234)
=TEXT(123456,"##0° 00' 00''") ユーザー設定 - 緯度/経度

  • TEXT 関数を使用して書式設定を変更することはできますが、唯一の方法ではありません。 数式なしで書式を変更するには、Ctrl + 1 キーを押します (または Mac の MAC コマンド ボタン アイコン+ 1 の画像) を押し、[セルの書式設定>数値] ダイアログ ボックスから目的の形式を選択します。
  • "MM" または "mm" を単独で使用すると、月が返されます。 時間の場合は "HH"、秒の場合は "SS" と組み合わせると、代わりに分が返されます(例: )。 "HH:MM"、"MM:SS"

サンプルをダウンロードする

この記事で紹介している TEXT 関数のすべての例の他にいくつかの例を追加したサンプルのブックをダウンロードできます。 これに従うか、TEXT 関数の表示形式コードを独自に作成することができます。

Excel TEXT 関数の例をダウンロードする

使用可能なその他の表示形式コード

[ セルの書式設定 ] ダイアログ ボックスを使用して、使用可能な他の書式コードを見つけることができます。

  1. Ctrl + 1 (Mac の MAC コマンド ボタン アイコンの画像+ 1) を押して、[セルの書式設定] ダイアログ ボックスを表示します。
  2. [ 数値 ] タブから目的の形式を選択します。
  3. [ カスタム ] オプションを選択します。
  4. 目的の表示形式コードが [種類] ボックスに表示されます。 ここでは、[種類] ボックスで、セミコロン (;) と @ 記号を除くすべての文字を選択します。 次の図は、mm/dd/yy のみを選んでコピーした時点の画面を示しています。
  5. Ctrl + C キーを押して書式コードをコピーし、Cancel キーを押して [セルの書式設定] ダイアログ ボックスを閉じます。
  6. 後は、Ctrl + V キーを押して表示形式コードを TEXT 関数の数式に貼り付けるだけです。たとえば、=TEXT(B2,"mm/dd/yy") となります。 書式コードを引用符 ("format code") 内に貼り付けてください。それ以外の場合は、Excel からエラー メッセージが表示されます。

[書式 > セル > 数値 > カスタム] ダイアログを使用して、Excel で書式指定文字列を作成する例。

カテゴリ別の表示形式コード

[ セルの書式設定 ] ダイアログ ボックスを使用してさまざまな数値形式を値に適用し、[ カスタム ] オプションを使用してこれらの 書式コードTEXT 関数にコピーする方法の例を次に示します。

数値の表示形式を選ぶ

先行ゼロ

Excel で先行ゼロが削除されるのはなぜですか?

Excel は、セルに入力される数値を探すように設計されており、部品番号や SKU など、文字列のように見える数値は探しません。 先頭の 0 を保持するには、入力範囲を文字列として書式設定した後、値を貼り付けるか、または入力します。 値を配置する列または範囲を選択し、Ctrl + 1 キーを押して [セル>書式設定] ダイアログを表示し、[数値] タブで [テキスト] を選択します。 これで、Excel は先頭のゼロを維持します。

既にデータを入力していて、Excel で先行ゼロが削除されている場合は、 TEXT 関数を使用してそれらを再度追加できます。 先頭のセルを値で参照し 、=TEXT(value,"00000") を使用できます。数式の 0 の数は、目的の文字数を表し、コピーして範囲の残りの部分に貼り付けます。

TEXT を使用して先行ゼロを書式設定する例。 =TEXT(A2,00000) 何らかの理由でテキスト値を数値に変換する必要がある場合は、 =D4*1 のように 1 を乗算するか、 =--D4 のような二重単項演算子 (--) を使用できます。

桁区切り記号を表示する

Excel では、番号記号 (#) またはゼロで囲まれたコンマが表示形式に含まれている場合、数値が 3 桁ごとにコンマで区切られます。 たとえば、書式指定文字列が "#,###" の場合、数値 12200000 は 12,200,000 と表示されます。

桁プレースホルダーの後に続くコンマは、数値を 3 桁ずつ拡張または縮小します。 たとえば、書式設定文字列が "#,###.0," の場合、Excel では、数値 12200000 が 12,200.0 として表示されます。

桁区切り記号を使用した TEXT 関数の例

  • 桁区切り記号は、ご使用の地域の設定によって異なります。 米国ではコンマですが、その他のロケールでは、ピリオド (.) になる場合があります。
  • 桁区切り記号は、数値、通貨、会計の表示形式に使用することができます。

数値、通貨、会計の表示形式

次に、標準の数値 (桁区切り記号と 10 進数)、通貨、および会計の表示形式の例を示します。 通貨表示形式を使用すると、選択した通貨記号を挿入して、値の横に配置することができます。一方、会計表示形式では、通貨記号がセル内で左揃えで配置されます。 次に示す、通貨表示形式コードと会計表示形式コードの違いにご注意ください。この例の会計表示形式は、アスタリスク (*) を使用してシンボルと値を分離しています。

数値、通貨、会計の書式を持つ TEXT 関数の例 通貨記号の書式コードを見つけるには、まず Ctrl + 1 キーを押します (または Mac の MAC コマンド ボタン アイコンの画像+ 1) を押し、目的の形式を選択してから、[シンボル] ドロップダウンから記号を選択します。

[セルの書式設定] ダイアログからの通貨記号の選択 次に、[カテゴリ] セクションの左側にある [カスタム] をクリックし、通貨記号を含む書式コードをコピーします。

TEXT 関数 - 記号を使用したカスタム通貨

TEXT 関数は色の書式設定をサポートしないので、[セルの書式設定] ダイアログで、$#,##0.00_);[Red]($#,##0.00) のような数値の表示形式コードをコピーすると、TEXT 関数はその表示形式コードを受け入れますが、色は表示されません。

日付

月を表す "M"、日を表す "D"、および年を表す "Y" を組み合わせて使用することで、日付の表示方法を変更できます。

月、日、年の書式コード TEXT 関数の書式コードでは大文字と小文字が区別されないため、"M" または "m"、"D"、"d"、"Y"、または "y" のいずれかを使用できます。

Excel MVP Mynda Treacy Mynda のお勧め...
Excel ファイルとレポートをさまざまな国のユーザーと共有する場合、各国の言語でレポートを提供したいことがあります。 Excel MVP、Mynda Treacy には、さまざまな言語で表示される Excel 日付に関する記事の優れたソリューションがあります。 また、ダウンロードできるサンプル ブックも掲載されています。

時刻

時を表す "H"、分を表す "M"、秒を表す "S"、および 12 時間形式を表す "AM/PM" を組み合わせて使用することで、時刻の表示方法を変更できます。

時間、分、秒の時刻形式 "AM/PM" または "A/P" を除外すると、24 時間のクロックに基づいて時刻が表示されます。

"m" は月または分のいずれかであるため、分を表示するには、Excel で分を正しく表示するには、"h:m" または "hh:mm" 形式で行う必要があります。 "h" を省略すると、月の値が表示されます。 分だけ表示するには、例に示すように RIGHT 関数を使用します。

TEXT 関数の表示形式コードは大文字と小文字を区別しないので、"H" または "h"、"M" または "m"、"S" または "s"、"AM/PM" または "am/pm" のいずれも使用できます。

"h" ("[h]") の周りの角かっこを使用すると、24 時間ごとに時間数をリセットしないように Excel に指示されます。 つまり、角かっこを使用すると、経過時間の合計を表示できます。 角かっこを使用すると、経過時間を時間、分、秒で表示できます。

パーセンテージ

パーセンテージ (%) 表示形式を使用して小数値の表示方法を変更できます。

パーセントの表示形式コード

分数

分数 (?/?) 表示形式を使用して小数値の表示方法を変更できます。

分数の表示形式コード

指数表記

指数表記は、1 から 10 までの 10 進数に 10 の累乗を乗算する形式で数値を表示する方法です。 多くの場合、指数表記は、大きな数字を短縮して表示するために使用されます。

指数表記の表示形式コード

[その他] 表示形式

Excel には、次の 4 つの特別な表示形式が用意されています。

  • 郵便番号 - "00000"
  • 郵便番号 + 4 - "00000-0000"
  • 電話番号 - "[<=9999999]###-#####;(###) ###-####"
  • 社会保障番号 - "000-00-0000"

TEXT 関数の特殊な形式 特殊な形式はロケールによって異なりますが、ロケールに特別な形式がない場合や、ニーズに合わない場合は、[ セルの書式設定>Custom ] ダイアログを使用して独自の形式を作成できます。

一般的なシナリオ

TEXT 関数は、単独で使用されることはほとんどなく、多くの場合、他の関数と組み合わせて使用されます。 "レポート印刷日: 03/14/12" や "週次収益: $66,348.72" などのテキストと数値を組み合わせたいとします。 Excel に手動で入力することもできますが、Excel に自動的に入力させるという目的が無意味になります。 残念ながら、日付、時刻、通貨などのテキストと書式設定された数値を組み合わせると、Excel では表示方法が分からないため、数値の書式設定が削除されます。 TEXT 関数を使用すると、日付形式に "MM/DD/YY" などの書式コードを使用して、必要な形式で値の書式設定を強制できるため、TEXT 関数は非常に重要です。

次の例では、 TEXT 関数を使用せずにテキストと数値を結合しようとするとどうなるかを確認できます。 この場合、 アンパサンド (&) を使用して、テキスト文字列、スペース (" ")、および =A2&" "&B2" の値を連結します。

TEXT 関数を使用せずにテキストを結合する例 ご覧のとおり、Excel はセル B2 の日付から書式設定を削除しました。 次の例では、TEXT 関数を使用して目的の書式を適用する方法を示しています。

TEXT 関数を使用してテキストを結合する例 更新された数式は次のとおりです。

  • Cell C2:=A2&" "&TEXT(B2,"mm/dd/yy") - 日付表示形式

よく寄せられる質問

123 を One Hundred Twenty-Three のように、数値をテキストに変換するにはどうすればよいですか?

残念ながら、TEXT 関数ではこれを行うことはできません。Visual Basic for Applications (VBA) コードを使用する必要があります。 次のリンクには、Excel で数値を英語の単語に変換する方法というメソッドがあります。

文字列の大文字と小文字を変更できますか。

はい。UPPER 関数、LOWER 関数、PROPER 関数を使用できます。 たとえば、=UPPER("hello") は、"HELLO" を返します。

セルで Alt + Enter キーを押した場合と同様、TEXT 関数を使用して新しい行 (改行) を追加できますか。

はい。ただしいくつかの手順が必要です。 まず、これを行うセルまたはセルを選択し、Ctrl + 1 キーを押して [セル>書式設定] ダイアログ ボックスを表示し、[配置] > [テキストの配置] コントロール> チェック [テキストの折り返し] オプションを表示します。 次に、改行が必要な場所に、ASCII 関数 CHAR(10) を含めて、完成した TEXT 関数を調整します。 最終結果の配置に応じて、列幅を調整する必要がある場合があります。

38f8e0f1-99d8-4c4f-979a-dfd1bcde1bf7

この場合、="Today is: "&CHAR(10)&TEXT(TODAY(),"mm/dd/yy") を使用しています。

Excel が数値エントリを、たとえば 1.22E+07 などに変換するのはなぜですか。

これは 関数表記と呼ばれ、セルが General として書式設定されている場合は 12 桁を超える数値、セルが 数値として書式設定されている場合は 15 桁が自動的に変換されます。 長い数値文字列を入力する必要があるが、変換したくない場合は、値を Excel に入力または貼り付ける前に、対象のセルを テキスト として書式設定します。

各言語で表示する Excel の日付

Excel MVP Mynda Treacy Mynda のお勧め...
Excel ファイルとレポートをさまざまな国のユーザーと共有する場合、各国の言語でレポートを提供したいことがあります。 Excel MVP、Mynda Treacy には、さまざまな言語で表示される Excel 日付に関する記事の優れたソリューションがあります。 また、ダウンロードできるサンプル ブックも掲載されています。