空白判定に関連する関数である、Blank関数、Coalesce関数、IsBlank関数、IsEmpty関数について概要と活用例として以下の使い方について紹介します。
- Blank関数とIsBlank関数の空白判定の差異
- IsEmpty関数とIsBlank関数の違い
- Coalesce関数の活用方法
似たような名前ですが、それぞれ使い方が異なるので説明します。
関数説明・構文(一部Learnより引用)
Blank関数
nullと同じ値を出力する引数なし関数です。""(空白の文字列)とは異なります。
空白の値を返します。データ ソースに NULL 値を挿入するために使用できます。
公式より引用
Blank()
Coalesce関数
引数に入力した値の中で最初に空白ではない値を出力します。If(IsBlank(), ~)みたいな処理を短くすることができます。
空白以外の値は変更せずに、空白の値を置き換えます。
公式より引用
Coalesce(値1 [, 値2, ... ] )
IsBlank関数
レコードや値の空白判定をする関数です。
blank の値がないかを調べます。
公式より引用
IsBlank(値)
IsEmpty関数
テーブルの空白判定をする関数です。
空のテーブルがないかを調べます。
公式より引用
IsEmpty(テーブル)
使い方
Blank関数とIsBlank関数の空白判定の差異
Blank関数はnullなので、""(空白の文字列)とは異なります。なので結果はfalseとなります。

それに対してIsBlank関数は""でもBlank()でもtrueになります。


IsEmpty関数とIsBlank関数の違い
IsEmpty関数はテーブルの空白判定をする関数で、IsBlank関数はレコードまたは値の空白判定をする関数です。
なので空白のテーブルをそれぞれ入力すると、IsEmpty関数でのみtrueになります。


空白の値やレコードではIsEmpty関数はエラーになります。


Coalesce関数の活用方法
Coalesce関数は引数に入力した値の中で最初に空白ではない値を出力します。画像の通りIsBlankと同じく""も空白として処理されます。

LookUp関数の結果が存在する場合のみ結果を表示し、存在しない場合は"該当なし"などを表示する場合にはCoalesce関数を使用して以下のように短縮することができます。


If(
IsBlank(LookUp(SampleList, タイトル = "iPhone 16", タイトル)),
"該当なし",
LookUp(SampleList, タイトル = "iPhone 16", タイトル)
)
Coalesce(LookUp(SampleList, タイトル = "iPhone 16", タイトル), "該当なし")
ただし型の異なる値や動作の関数を並列で入力することはできないので、以下のようにLookUp関数の結果が空白かどうかで行の追加/更新処理を条件分岐する場合にはIfを使用する必要があります。

If(
IsBlank(LookUp(SampleList, タイトル = "iPhone 16", タイトル)),
Collect(SampleList, {タイトル:"iPhone 16"}),
UpdateIf(SampleList, タイトル = "iPhone 16", {タイトル:"iPhone 16"})
)
コメント