次の方法で共有


Text 関数

適用対象: キャンバス アプリ Copilot Studio Desktop フロー Dataverse 数式列 モデル駆動型アプリ Power Platform CLI Dataverse 関数 Power Pages

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

内容

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

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

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

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

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

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

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

数値のプレースホルダー

プレースホルダー 内容
0 (ゼロ) 0 の数よりも数値の桁数が少ない場合に、形式で意味のないゼロを表示します。 たとえば、8.98.90 と表示する場合は、書式 #.00 を使用します。
# 0 (ゼロ) と同じ規則に従います。 ただし、 Text では、数値の 10 進数の両側の桁数が、形式の # 記号よりも少ない場合、余分なゼロは返されません。 たとえば、カスタム書式が #.## で、書式設定する数値が 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 桁の数字で表示します。
h 先頭に 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 番目の省略可能な引数を追加することで指定できます。

どちらの場合も、言語タグ を使用して言語を指定します。 サポートされている言語の一覧を表示するには、数式バーまたは右側のウィンドウの [詳細設定] タブに「Text( 1234, "", )」と入力し、3 番目の引数で推奨されるロケールの一覧をスクロールします。

言語のプレースホルダー

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

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

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

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

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

Note

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

結果の言語タグ

Textの結果には、月、平日、および AM/PM の指定の翻訳された文字列と、適切なグループと小数点の区切り記号が含まれます。

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

構文

Text( NumberOrDateTime, DateTimeFormatEnum [, ResultLanguageTag ] )

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

Text( NumberOrDateTime, CustomFormat [, ResultLanguageTag ] )

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

Text( AnyValue )

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

Text ( 動的 )

  • 動的 - 必須。 文字列を表す動的な値。 許容値は、型指定されていないプロバイダーによって異なります。 JSON の場合、動的な値が数値またはブール値の場合は、テキストに変換されます。

使用例

特に指定されていない限り、これらの数式を実行しているユーザーは米国内におり、言語として英語が選択されます。 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 の日付/時刻値が人間が判読できる形式で表示されます。 "2015 年 11 月 23 日 (午後 2:47:37)"

グローバル アプリ

計算式 内容 結果
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" ) 現在のユーザーの言語で、曜日、月、および日を返します。 言語に依存するプレース ホルダーはないため、書式テキストの言語タグは必要ありません。 "1 月 31 日日曜日"
Text( Date(2016,1,31), "dddd mmmm d", "es-ES" ) "es-ES" 言語で、曜日、月、および日を返します。 "ドミンゴ エネロ 31"

値からテキストへの変換

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