Power Apps の Blank、合体、IsBlank、および IsEmpty 関数Blank, Coalesce, IsBlank, and IsEmpty functions in Power Apps

値が空白であるかどうか、または、テーブルレコードが含まれていないかどうかをテストし、空白の値を作成する方法を提供します。Tests whether a value is blank or a table contains no records, and provides a way to create blank values.

概要Overview

"空白" は、"値がない" または "不明な値" の場合のプレースホルダーです。Blank is a placeholder for "no value" or "unknown value." たとえば、 コンボボックス コントロールの選択されたプロパティは、ユーザーが選択を行っていない場合は空白になります。For example, a Combo box control's Selected property is blank if the user hasn't made a selection. 多くのデータソースは、NULL 値を格納して返すことができます。これは、Power Apps では空白として表されます。Many data sources can store and return NULL values, which are represented in Power Apps as blank.

Power Apps では、プロパティまたは計算された値を空白にすることができます。Any property or calculated value in Power Apps can be blank. たとえばブール値は通常、truefalse のいずれかの値になります。For example, a Boolean value normally has one of two values: true or false. ただし、これらの2つに加えて、状態が不明であることを示す空白にすることもできます。But in addition to these two, it can also be blank indicating that the state is not known. これは、Microsoft Excel に似ています。ワークシートセルは、内容のない空白として開始されますが、値TRUEまたはFALSE (その他) を保持できます。This is similar to Microsoft Excel, where a worksheet cell starts out as blank with no contents but can hold the values TRUE or FALSE (among others). いつでも、セルの内容を消去して、空白の状態に戻すことができます。At any time, the contents of the cell can again be cleared, returning it to a blank state.

空の文字列は、文字を含まない文字列を参照します。Empty string refers to a string that contains no characters. Len関数は、このような文字列に対して0を返します。この関数は、""間に何も含まれない2つの二重引用符で記述できます。The Len function returns zero for such a string and it can be written in a formulas as two double quotes with nothing in between "". コントロールとデータソースの中には、"値なし" の条件を示すために空の文字列を使用するものがあります。Some controls and data sources use an empty string to indicate a "no value" condition. アプリの作成を簡単にするために、 Isblank関数と合体関数は、空白値と空の文字列の両方をテストします。To simplify app creation, the IsBlank and Coalesce functions test for both blank values or empty strings.

IsEmpty関数のコンテキストでは、はレコードを含まないテーブルに固有です。In the context of the IsEmpty function, empty is specific to tables that contain no records. テーブル構造は完全で、の名前は付いているものの、テーブル内にデータがありません。The table structure may be intact, complete with column names, but no data is in the table. 最初は空だったテーブルにレコードを追加して空でない状態にした後で、レコードを削除してもう一度空にすることができます。A table may start as empty, take on records and no longer be empty, and then have the records removed and again be empty.

注意

移行期間中です。We are in a period of transition. これまでは、エラーを報告するために空白も使用されているので、有効な "no value" をエラーから区別できません。Until now, blank has also been used to report errors, making it impossible to differentiate a valid "no value" from an error. このため、現時点では、空白値の格納はローカルコレクションでのみサポートされています。For this reason, at this time, storing blank values is supported only for local collections. [ファイル] メニューの [アプリの設定]、[詳細設定]、[試験的な機能] の順に "数式レベルのエラー管理" の試験的な機能を有効にすると、他のデータソースに空白値を格納できます。You can store blank values in other data sources if you turn on the "Formula-level error management" experimental feature under the File menu, App settings, Advanced settings, Experimental features. 現在、この機能を完了するために積極的に取り組んでおり、エラーからの空白値の適切な分離を完了しています。We are actively working to finish this feature and complete the proper separation of blank values from errors.

DescriptionDescription

空白関数は、"空白" の値を返します。The Blank function returns a blank value. この関数を使用して、これらの値をサポートするデータ ソースに NULL 値を格納して、フィールドから値を効率的に削除します。Use this to store a NULL value in a data source that supports these values, effectively removing any value from the field.

Isblank関数は、空白の値または空の文字列をテストします。The IsBlank function tests for a blank value or an empty string. テストには、アプリケーションの作成を容易にする空の文字列が含まれています。一部のデータソースとコントロールでは、値が存在しない場合に空の文字列が使用されるためです。The test includes empty strings to ease app creation since some data sources and controls use an empty string when there is no value present. 特別にの値をテストするには、 isblankではなく if( Value = Blank(), ... を使用します。To test specifically for a blank value use if( Value = Blank(), ... instead of IsBlank.

合体関数は、引数を順番に評価し、空白または空の文字列ではない最初の値を返します。The Coalesce function evaluates its arguments in order and returns the first value that isn't blank or an empty string. この関数を使用すると、空白の値または空の文字列を別の値に置き換えることができます。ただし、空白でも空でもない文字列値は変更されません。Use this function to replace a blank value or empty string with a different value but leave non-blank and non-empty string values unchanged. すべての引数が空白または空の文字列の場合、関数は空白を返します。これにより、空の文字列を空の値に変換するための適切な方法を作成できます。If all of the arguments are blank or empty strings then the function returns blank, making Coalesce a good way to convert empty strings to blank values. Coalesce のすべての引数は同じ型である必要があります。たとえば、数値とテキスト文字列を混在させることはできません。All arguments to Coalesce must be of the same type; for example, you can't mix numbers with text strings.

Coalesce( value1, value2 ) は、より簡潔な If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) であり、 value1value2は2回評価される必要はありません。Coalesce( value1, value2 ) is the more concise equivalent of If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) and doesn't require value1 and value2 to be evaluated twice. If関数は、ここに示すような "else" 式がない場合は、空白を返します。The If function returns blank if there is no "else" formula as is the case here.

IsEmpty 関数は、テーブル内にレコードがあるかどうかをテストします。The IsEmpty function tests whether a table contains any records. これは、 CountRows 関数を使用してゼロの有無をチェックするのと同じことです。It's equivalent to using the CountRows function and checking for zero. IsEmpty は、 Errors 関数と組み合わせることで、データソース エラーのチェックに使用できます。You can check for data-source errors by combining IsEmpty with the Errors function.

IsBlankIsEmpty のどちらの関数の戻り値も、ブール値の true または false です。The return value for both IsBlank and IsEmpty is a Boolean true or false.

構文Syntax

空白()Blank()

Coalesce(Value1 [, Value2, ... ])Coalesce( Value1 [, Value2, ... ] )

  • Value(s) – 必須。Value(s) – Required. テストする値。Values to test. 各値は、空ではなく空の文字列ではない値が見つかるまで順番に評価されます。Each value is evaluated in order until a value that is not blank and not an empty string is found. この時点より後の値は評価されません。Values after this point are not evaluated.

IsBlank( Value )IsBlank( Value )

  • Value – 必須。Value – Required. 空白の値または空の文字列をテストする値。Value to test for a blank value or empty string.

IsEmpty( Table )IsEmpty( Table )

  • Table - 必須。Table - Required. レコードの有無をテストするテーブル。Table to test for records.

Examples

BlankBlank

注意

現時点で、次の例はローカル コレクションでのみ機能します。At this time, the following example only works for local collections. [ファイル] メニューの [アプリの設定]、[詳細設定]、[試験的な機能] の順に "数式レベルのエラー管理" の試験的な機能を有効にすると、他のデータソースに空白値を格納できます。You can store blank values in other data sources if you turn on the "Formula-level error management" experimental feature under the File menu, App settings, Advanced settings, Experimental features. 現在、この機能を完了するために積極的に取り組んでおり、エラーからの空白値の分離を完了しています。We are actively working to finish this feature and complete the separation of blank values from errors.

  1. アプリを最初から作成し、ボタン コントロールを追加します。Create an app from scratch, and add a Button control.

  2. ボタンの OnSelect プロパティを次の数式に設定します。Set the button's OnSelect property to this formula:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. アプリをプレビューし、追加したボタンをクリックまたはタップして、プレビューを終了します。Preview your app, click or tap the button that you added, and then close Preview.

  4. [ファイル] メニューの [コレクション] をクリックまたはタップします。On the File menu, click or tap Collections.

    [Cities] (都市) コレクションが表示され、"Seattle" および "Rainy" の 1 つのレコードが表示されます。The Cities collection appears, showing one record with "Seattle" and "Rainy":

    天気が Rainy (雨) の Seattle (シアトル) を示すコレクション

  5. 戻る矢印をクリックまたはタップして、既定のワークスペースに戻ります。Click or tap the back arrow to return to the default workspace.

  6. ラベル コントロールを追加し、その Text プロパティを次の数式に設定します。Add a Label control, and set its Text property to this formula:

    IsBlank( First( Cities ).Weather )
    

    [Weather] (天気) フィールドに値 ("Rainy" (雨)) が含まれているため、ラベルには false と表示されます。The label shows false because the Weather field contains a value ("Rainy").

  7. 2 つ目のボタンを追加し、その OnSelect プロパティを次の数式に設定します。Add a second button, and set its OnSelect property to this formula:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. アプリをプレビューし、追加したボタンをクリックまたはタップして、プレビューを終了します。Preview your app, click or tap the button that you added, and then close Preview.

    Cities (都市) の最初のレコードの [Weather] (天気) フィールドは、"空白" に置き換えられ、そこに設定されていた "Rainy" は削除されます。The Weather field of the first record in Cities is replaced with a blank, removing the "Rainy" that was there previously.

    [Weather] (天気) フィールドが空白の、Seattle を示すコレクション

    [Weather] (天気) フィールドに値が含まれていないため、ラベルには true と表示されます。The label shows true because the Weather field no longer contains a value.

CoalesceCoalesce

数式Formula DescriptionDescription 結果Result
Coalesce( Blank ()、 1 )Coalesce( Blank(), 1 ) 空白関数からの戻り値をテストします。常に "空白" の値が返されます。Tests the return value from the Blank function, which always returns a blank value. 最初の引数がであるため、空白以外の文字列が見つかるまで、次の引数が評価されます。Because the first argument is blank, evaluation continues with the next argument until a non-blank value and non-empty string is found. 11
Coalesce("", 2)Coalesce( "", 2 ) 空の文字列である最初の引数をテストします。Tests the first argument which is an empty string. 最初の引数は空の文字列であるため、空でない値と空でない文字列が見つかるまで、次の引数を評価し続けます。Because the first argument is an empty string, evaluation continues with the next argument until a non-blank value and non-empty string is found. 22
Coalesce(Blank ()、""、Blank ()、""、3、4)Coalesce( Blank(), "", Blank(), "", 3, 4 ) Coalesceは引数リストの先頭から開始し、各引数は、空白以外の値と空でない文字列が見つかるまで順番に評価されます。Coalesce starts at the beginning of the argument list and evaluates each argument in turn until a non-blank value and non-empty string is found. この場合、最初の4つの引数はすべて空白または空の文字列を返します。そのため、評価は5番目の引数に続きます。In this case, the first four arguments all return blank or an empty string, so evaluation continues to the fifth argument. 5番目の引数は空白でも空でもない文字列であるため、ここでは評価を停止します。The fifth argument is non-blank and non-empty string, so evaluation stops here. 5 番目の引数の値が返され、6 番目の引数は評価されません。The value of the fifth argument is returned, and the sixth argument isn't evaluated. 33
Coalesce("")Coalesce( "" ) 空の文字列である最初の引数をテストします。Tests the first argument which is an empty string. 最初の引数は空の文字列であり、引数がそれ以上ないため、関数は空白を返します。Because the first argument is an empty string, and there are no more arguments, the function returns blank. "空白"blank

IsBlankIsBlank

  1. アプリを最初から作成し、テキスト入力コントロールを追加して FirstName という名前を付けます。Create an app from scratch, add a text-input control, and name it FirstName.

  2. ラベルを追加し、その Text プロパティを次の数式に設定します。Add a label, and set its Text property to this formula:

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    既定では、テキスト入力コントロールの Text プロパティは "Text input" に設定されています。By default, the Text property of a text-input control is set to "Text input". このプロパティには値が含まれており、空白ではないため、ラベルにはメッセージが表示されません。Because the property contains a value, it isn't blank, and the label doesn't display any message.

  3. テキスト入力コントロールから、スペースを含めたすべての文字を削除します。Remove all the characters from the text-input control, including any spaces.

    Text プロパティには文字が含まれなくなったため、空の文字列になり、 Isblank (FirstName)trueになります。Because the Text property no longer contains any characters, it's an empty string, and IsBlank( FirstName.Text ) will be true. 必須フィールドのメッセージが表示されます。The required field message is displayed.

他のツールを使用して検証を実行する方法については、 Validate 関数とデータ ソースの操作方法をご確認ください。For information about how to perform validation by using other tools, see the Validate function and working with data sources.

他には次のような例があります。Other examples:

数式Formula DescriptionDescription 結果Result
IsBlank ( Blank () )IsBlank( Blank() ) 空白関数からの戻り値をテストします。常に "空白" の値が返されます。Tests the return value from the Blank function, which always returns a blank value. truetrue
IsBlank( "" )IsBlank( "" ) 文字が含まれていない文字列。A string that contains no characters. truetrue
IsBlank( "Hello" )IsBlank( "Hello" ) 1 つ以上の文字が含まれている文字列。A string that contains one or more characters. falsefalse
IsBlank( AnyCollection )IsBlank( AnyCollection ) コレクションが存在するため、レコードがなくとも空白ではありません。Because the collection exists, it isn't blank, even if it doesn't contain any records. 空のコレクションの有無をチェックするには、代わりに IsEmpty を使用します。To check for an empty collection, use IsEmpty instead. falsefalse
IsBlank( Mid( "Hello", 17, 2 ) )IsBlank( Mid( "Hello", 17, 2 ) ) Mid の開始文字が文字列の範囲外になっています。The starting character for Mid is beyond the end of the string. そのため、空の文字列が返されます。The result is an empty string. truetrue
IsBlank( If( false, false ) )IsBlank( If( false, false ) ) ElseResult がない If 関数。An If function with no ElseResult. 条件が常に false になるため、この If は常に "空白" を返します。Because the condition is always false, this If always returns blank. truetrue

IsEmptyIsEmpty

  1. アプリを最初から作成し、ボタン コントロールを追加します。Create an app from scratch, and add a Button control.

  2. ボタンの OnSelect プロパティを次の数式に設定します。Set the button's OnSelect property to this formula:

    Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )

  3. アプリをプレビューし、追加したボタンをクリックまたはタップして、プレビューを終了します。Preview your app, click or tap the button that you added, and then close Preview.

    IceCream という名前のコレクションが作成されます。このデータには、次のデータが含まれます。A collection named IceCream is created and contains this data:

    このコレクションには 2 つのレコードがあり、空ではありません。This collection has two records and isn't empty. IsEmpty( IceCream )false を返し、CountRows( IceCream )2 を返します。IsEmpty( IceCream ) returns false, and CountRows( IceCream ) returns 2.

  4. 2 つ目のボタンを追加し、その OnSelect プロパティを次の数式に設定します。Add a second button, and set its OnSelect property to this formula:

    Clear( IceCream )Clear( IceCream )

  5. アプリをプレビューし、2 つ目のボタンをクリックまたはタップして、プレビューを終了します。Preview your app, click or tap the second button, and then close Preview.

    これでコレクションは空になりました。The collection is now empty:

    Clear 関数でコレクションからすべてのレコードが削除され、コレクションは空になっています。The Clear function removes all the records from a collection, resulting in an empty collection. IsEmpty( IceCream )true を返し、CountRows( IceCream )0 を返します。IsEmpty( IceCream ) returns true, and CountRows( IceCream ) returns 0.

以下の例のように、IsEmpty を使用して、計算されたテーブルが空かどうかをテストすることもできます。You can also use IsEmpty to test whether a calculated table is empty, as these examples show:

数式Formula DescriptionDescription 結果Result
IsEmpty( [ 1, 2, 3 ] )IsEmpty( [ 1, 2, 3 ] ) 単一列テーブルに 3 つのレコードが含まれており、テーブルは空ではありません。The single-column table contains three records and, therefore, isn't empty. falsefalse
IsEmpty( [ ] )IsEmpty( [ ] ) 単一列テーブルにレコードが含まれておらず、テーブルは空です。The single-column table contains no records and is empty. truetrue
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) )IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) 単一列テーブルに 5 より大きい値が含まれていません。The single-column table contains no values that are greater than 5. フィルター処理後のテーブルにはレコードが含まれておらず、テーブルは空です。The result from the filter doesn't contain any records and is empty. truetrue