Text 関数

適用先: キャンバス アプリ モデル駆動型アプリ Dataverse 数式列 モデル駆動型アプリ Power Platform CLI

任意の値を変換し、数値または日付や時刻の値をテキスト文字列に書式設定します。

内容

Text 関数は、次のいずれかの型の引数に基づいて、数値または日付/時刻値の書式を設定します。

  • DateTimeFormat の列挙を使用して指定する定義済みの日付/時刻書式。 日付と時刻については、各ユーザーの言語と場所に対して日付と時刻を自動的に調整されるため、この方法をお勧めします。
  • 数値が小数点区切り文字を表示するか、月の完全な名前を表示するか、月を省略形で表示するか、または月を数値として表示するかを定義するプレースホルダーの文字列で構成されるカスタム形式です。 Power Apps は Microsoft Excel がサポートするプレースホルダーのサブセットをサポートします。 この文字列では、言語のプレースホルダーによって他のプレースホルダーを解釈する言語が指定されます。 たとえば、カスタム形式にピリオドが含まれている場合、言語形式のプレースホルダーは、ピリオドが小数点 (ja-JP) か千単位の桁区切り (es-ES) かを指定します。

詳細については、日付と時間の操作 を参照してください。

Text 関数は、既定の形式を使用して、任意のデータ型をテキスト表現に変換することもできます。 これは、テキスト以外の値を LenRightIsMatch のようなテキスト ベースの関数に渡す場合に使用します。

定義済みの日付と時刻の形式

これらの例では、使用される日付と時刻は、2020 年 4 月 7 日火曜日、午後 8:26:59.180 で、タイムゾーンは UTC-7 時間です。

DateTimeFormat 列挙型 内容 例 (en-US を使用)
LongDate 4 桁の年、月の名前、月の日、曜日。 月と曜日の名前は省略されません。 "火曜日、4 月 7 日、2020 年"
LongDateTime 4 桁の年、月名、日、曜日、および時間 (12 時間制)、分、秒、および AM/PM。 月と曜日の名前は省略されません。 "火曜日、4 月 7 日、2020 年、8:26:59 PM"
LongDateTime24 4 桁の年、月、日、曜日、および時間 (24 時間制)、分、秒、および AM/PM。 月と曜日の名前は省略されません。 "火曜日、4月 7 日、2020 年、20:26:59"
LongTime 時間 (12 時間制)、分、秒、および AM/PM の指定。 "8:26:59 PM"
LongTime24 時間 (24 時間制)、分、秒。 "20:26:59"
ShortDate 月と日を数値とする 4 桁の年。 "4/7/2020"
ShortDateTime 月と日を数値とする 4 桁の年、および時間 (12 時間制)、分、秒、AM/PM の指定。 "4/7/2020 8:26 PM"
ShortDateTime24 月と日を数値とする 4 桁の都市、および時間 (24 時間制)、分、秒、AM/PM の指定。 "4/7/2020 20:26"
ShortTime 時間 (12 時間制)、分、秒、および AM/PM の指定。 "8:26 PM"
ShortTime24 時間 (24 時間制)、分、秒。 "20:26"
UTC 日付/時刻値は、現在のユーザーのタイム ゾーンに基づいて UTC に変換され、ISO 8601 標準に従って書式が設定されます。 "2020-04-08T03:26:59.180Z"

数値のプレースホルダー

プレースホルダー 内容
0 (ゼロ) 0 の数よりも数値の桁数が少ない場合に、形式で意味のないゼロを表示します。 たとえば、8.98.90 と表示する場合は、書式 #.00 を使用します。
# 0 (ゼロ) と同じ規則に従います。 ただし、Text では、小数点の両側で、書式の # 記号の数よりも桁数が少ない場合、余分な 0 を返しません。 たとえば、カスタム書式が #.## で、書式設定する数値が 8.9 である場合に、8.9 が表示されます。
. (ピリオド) 数値に小数点を表示します。 カスタム形式の言語によって異なります。詳細については、「グローバル アプリ」を参照してください。
, (コンマ) 多くの場合に 1,000 ごとの区切りに使用される、数値のグループ区切り記号を表示します。 Text は、数値記号 (#) またはゼロで囲まれたコンマが書式に含まれている場合に、コンマでグループを区切ります。 カスタム形式の言語によって異なります。詳細については、「グローバル アプリ」を参照してください。

小数点の右側の数値で桁数が形式のプレースホルダーの数よりも多い場合、数値は、プレースホルダーと同数の小数点以下の桁数に四捨五入されます。 小数点の左側で桁数がプレースホルダーの数よりも多い場合、桁数を追加して表示します。 形式で数値記号 (#) が小数点の左側だけにある場合は、1 未満の数値は小数点で始まります (例、.47)。

日付と時刻のプレースホルダー

プレースホルダー 内容
m 先頭に 0 を付けずに数値で月を表示します。
mm 適宜、先頭に 0 を付けて数値で月を表示します。
mmm 省略形で月を表示します (JanDec)。
mmmm 完全な名前で月を表示します (JanuaryDecember)。
d 先頭に 0 を付けずに数値で日を表示します。
dd 適宜、先頭に 0 を付けて数値で日を表示します。
ddd 省略形で曜日を表示します (SunSat)。
dddd 完全な名前で曜日を表示します (SundaySaturday)。
yy 年を 2 桁の数字で表示します。
yyyy 年を 4 桁の数字で表示します。
先頭に 0 を付けずに数値で時間を表示します。
hh 適宜、先頭に 0 を付けて数値で時間を表示します。 書式に AM または PM が含まれている場合、時間は 12 時間制に基づいて表示されます。 それ以外の場合、時間は 24 時間制に基づいて表示されます。
m 先頭に 0 を付けずに数値で分を表示します。

このプレースホルダーは h または hh コードの直後、または ss コードの直前に表示する必要があります。それ以外の場合、Text は分ではなく月を返します。
mm 適宜、先頭に 0 を付けて数値で分を表示します。

このプレースホルダーは h または hh プレースホルダーの直後、または ss プレースホルダーの直前に表示する必要があります。 それ以外の場合は、Text では、分ではなく月を返します。
s 先頭に 0 を付けずに数値で秒を表示します。
ss 適宜、先頭に 0 を付けて数値で秒を表示します。
f 分数で秒を表示します。
AM/PM, a/p 12 時間制に基づいて時間を表示します。 Text は、午前 0 時から正午までの時間には「AM」または「a」を、正午から午前 0 時までの時間には「PM」、または「p」を返します

リテラルのプレースホルダー

次のすべての文字を書式設定文字列に含めることができます。 含めた文字は、Text の結果にそのまま表示されます。 この他の文字は、将来のプレースホルダー用に予約されているため、使用しないでください。

文字 内容
すべての通貨記号 ドル記号、セント記号、ユーロ記号など。
+ プラス記号
( 左かっこ
: コロン
^ サーカムフレックス アクセント (キャレット)
' アポストロフィ
{ 左中かっこ
< より小記号
= 等号
- マイナス記号
/ スラッシュ マーク
) 右かっこ
& アンパサンド
~ チルダ
} 右中かっこ
> より大記号
  空白文字

グローバル アプリ

Text 関数はグローバル対応です。 幅広い言語で、日付、時刻、通貨、および数値を正しく表示できます。 これを行うには、次の 2 つの情報が必要です。

  • カスタム書式の言語: 作成者は、カスタム形式をどのように解釈する必要がありますか? セパレータ文字 (.,) は、言語によって意味が異なります。 カスタム形式を指定する場合は、言語のプレースホルダーを含めるか、既定値を使用できます。これには、デバイスに設定されている言語が反映されます。 さらに簡単に、 定義済みの日付/時刻書式 を使用できます。これは言語に依存しません。
  • 結果の言語: ユーザーの場合、、関数の結果はどの言語で表示されますか ? 月と曜日の名前は、アプリのユーザーに適した言語である必要があります。これは、Text 関数に 3 番目の省略可能な引数を追加することによって指定できます。

どちらの場合も、言語タグ を使用して言語を指定します。 サポートされている言語の種類のリストを確認するには、計算式バーまたは 右ペインの Advanced タブに Text ( 1234, "", ) と入力し、3 番目の引数に対して提案されているロケールのリストをスクロールします。

言語のプレースホルダー

カスタム形式の言語を指定するには、次を使用します。

プレースホルダー 内容
[$-LanguageTag] LanguageTagLanguage 関数から返される言語タグです。 英語の場合は $-en のように言語だけの形式にしたり、$-en-GB のようにリージョンも含めて、さらに英国を指定することもできます。

言語のプレースホルダーは、カスタム書式の任意の位置に 1 回だけ表示できます。

言語プレースホルダーを使用せずにでカスタム形式を指定し、その形式が全体の観点からあいまいな場合、現在の言語の言語タグが自動的に挿入されます。

$-en-US は、アプリを実行する際にこのプレースホルダーが存在しない場合に想定します。

Note

Excel でサポートされる似ているが異なるプレースホルダーと混同されないように、このプレースホルダーの構文は、今後のバージョンで変更される可能性があります。

結果の言語タグ

Text の結果には、月、曜日、AM/PM 指定の翻訳された文字列だけでなく、適切なグループと小数点の区切り文字も表示されます。

既定では、Text はアプリを実行しているユーザーの言語を使用します。 Language 関数は、現在のユーザーの言語タグを返します。 この既定の設定をオーバーライドするには、オプションの 3 番目の引数の言語タグを Text に指定します。

構文

Text( Number, DateTimeFormatEnum [, ResultLanguageTag ] )

  • NumberOrDateTime - 必須。 書式設定する数値または日付/時刻値。
  • DateTimeFormat - 必須。 DateTimeFormat 列挙のメンバー。
  • ResultLanguageTag - オプション。 結果のテキストに使用する言語タグ。 既定では、現在のユーザーの言語が使用されます。

Text( Number, DateTimeFormatEnum [, ResultLanguageTag ] )

  • Number - 必須。 書式設定する数値または日付/時刻値。
  • CustomFormat - 必須。 二重引用符で囲まれた 1 つ以上のプレース ホルダー。
  • ResultLanguageTag - オプション。 結果のテキストに使用する言語タグ。 既定では、現在のユーザーの言語が使用されます。

Text( AnyValue )

  • AnyValue - 必須。 テキスト表現に変換する値。 既定の形式が使用されます。

テキスト ( 型指定されていない )

使用例

特に指定されていない限り、これらの数式を実行しているユーザーは米国内におり、言語として英語が選択されます。 Language 関数は、「en-US」を返します。

番号

計算式 内容 結果
Text( 1234.59, "####.#" ) 数値を小数点以下 1 桁で書式設定します。 "1234.6"
Text( 8.9, "#.000" ) 必要な場合は、数値の小数部分の末尾を 0 で埋めます。 "8.900"
Text( 0.631, "0.#" ) 必要な場合は、数値の整数部分の先頭を 0 で埋めます。 "0.6"
Text( 12, "#.0#" )
Text( 1234.568, "#.0#" )
数値の小数部分の 1 桁目を 0 で埋め、小数点以下 2 桁目が指定されている場合は、小数点以下 2 桁目も含めます。 "12.0"
"1234.57"
Text( 12000, "$ #,###" )
Text( 1200000, "$ #,###" )
1,000 の区切り記号を 3 桁ごとに配置し、通貨記号を含めます。 "$ 12,000"
"$ 1,200,000"

日時

  • 2015 年 11 月 23 日 月曜日午後 2 時 37 分 47 秒
  • 米国太平洋標準時タイム ゾーン (UTC-8)
計算式 内容 結果
Text( Now(), DateTimeFormat.LongDate ) 現在のユーザーの言語とロケールで、長い形式の日付の文字列として書式設定します。 "月曜日、11 月 23 日、2015 年"
Text( Now(), DateTimeFormat.LongDateTime ) 現在のユーザーの言語とロケールで、12 時間制を使用して、長い形式の日付と時刻の文字列として書式設定します。 "月曜日、11 月 23 日、2015 年、2:37:47 PM"
Text( Now(), DateTimeFormat.LongTime24 ) 24 時間制を使用して、長い形式の時刻の文字列として書式設定します。 "14:37:47"
Text( Now(), DateTimeFormat.ShortDate ) 現在のユーザーの言語とロケールで、短い形式の日付の文字列として書式設定します。 "11/23/2015"
Text( Now(), "d-mmm-yy" ) 次のプレースホルダー文字を使用して、書式設定します:
  • d: 月の 1 桁または 2 桁の日
  • -: 結果にコピーされるリテラル文字
  • mmm: 月を表す 3 文字の省略形
  • -: 結果にコピーされる追加のリテラル文字
  • yy: 年を表す 2 桁の省略形
"23-Nov-15"
Text(1448318857*1000, "mmm. dd, yyyy (hh:mm:ss AM/PM)") ソース値に 1,000 を乗算すると、Unix の日付/時刻値が人間が判読できる形式で表示されます。 "Nov. 23, 2015 (02:47:37 PM)"

グローバル アプリ

計算式 説明設定 Result
Text(1234567.89, "[$-fr-FR]# ###,## €", "fr-FR") スペースをグループ区切り文字として、コンマを小数点区切り文字として、そして を通貨記号として表示します。 "1 234 567,89 €"
Text(1234567,89; "[$-fr-FR]# ###,## €") ソースデータが小数点の区切り記号としてコンマを使用するというフランスの習慣に従っている場合は、ロケールをフランス語に変更し、上記と同じ結果を得るために引数をコンマではなくセミコロンで区切る必要があります。 "1 234 567,89 €"
Text( Date(2016,1,31), "dddd mmmm d" ) 現在のユーザーの言語で、曜日、月、および日を返します。 言語に依存するプレース ホルダーはないため、書式テキストの言語タグは必要ありません。 "Sunday January 31"
Text( Date(2016,1,31), "dddd mmmm d", "es-ES" ) "es-ES" 言語で、曜日、月、および日を返します。 "domingo enero 31"

値からテキストへの変換

計算式 内容 結果
Text( 1234567.89 ) 数値を文字列に変換します。 桁区切り記号や、小数点記号の前後の桁数の制御はありません。より詳細に制御するには、2 番目の引数として数値のプレースホルダーを指定します。 "1234567.89"
Text( DateTimeValue( "01/04/2003" ) ) 日付/時間値をテキストの文字列に変換します。 変換を制御するには、DateTimeFormat 列挙のメンバーまたはカスタム形式の文字列を指定します。 "1/4/2003 12:00 AM"
Text( true ) ブール値を文字列に変換します。 "true"
Text( GUID() ) 生成された GUID 値を文字列に変換します。 "f8b10550-0f12-4f08-9aa3-bb10958bc3ff"
Left( Text( GUID() ), 4 ) 生成された GUID の最初の 4 文字を返します。 「2d9c」