【PowerAutomate】空白・Nullを判定する方法【4選】。変数・配列を空にする方法も!

スポンサーリンク




作業を自動化する
  • 文字や配列が空になっているか調べたい
  • 変数や配列を空にしたい

この記事では、そんな方に空の調べ方と空にする方法を紹介します。

みずしぶき
みずしぶき

この記事を読むと、変数の判定に悩まずフローを作ることができます。

スポンサーリンク

空白・Nullを判定する

空白・Nullを判定する関数は4種類あります。

Empty関数】空白・Nullを判定 ・・空白・Nullならtrue。それ以外はfalse
 ↑基本はこれでOK
length関数】空白を判定    ・・空白なら0。
coalesce関数】Nullを判定   ・・NullならNull。それ以外はその値
equals関数】空白やNullを判定 ・・一致すればtrue。それ以外はfalse

今回はそれぞれ4種類使ったパターンを紹介します。

細かいですが、変数の型は6種類あり空白やNullが存在しない型があります。

当たり前ですが、空白が存在しない型は空白の判定はできません。
Nullが存在しない型はNullの判定はできません。

空白Null
ブール(はい/いいえ)×
整数×
float(小数)×
文字列
オブジェクト(JSON)×
アレイ(配列)×
型による空白・Nullの有無

△はNullを指定すると型毎に決められた初期値が自動で設定されます。

(1)Emptyで文字列の空白判定

文字列を初期化します。
値は空欄にします。文字列の初期値は空白文字なのでこれで準備はOKです。

Empty関数の中に文字列の変数「テスト」を指定しました。

Empty(variables('テスト'))

フローを動かすと結果にtrueが表示されたので、Emptyで空白文字を判定できました。

(2)lengthで文字列の空白判定

length関数の中に文字列の変数「テスト」を指定しました。

length(variables('テスト'))

フローを動かすと結果に0が表示されたので、lengthで空白文字を判定できました。

(3)equalsで文字列の空白判定

equals関数の中に空白文字を表す「 ” 」と文字列の変数「テスト」を指定しました。

equals('',variables('テスト'))

フローを動かすと結果にtrueが表示されたので、equalsで空白文字を判定できました。

(4)coalesceでJSONのNull判定

JSONを初期化します。
値は空欄にします。オブジェクト(JSON)の初期値はNullなのでこれで準備はOKです。

coalesce関数の中にJSONの変数「テスト」を指定しました。

coalesce(variables('テスト'))

フローを動かすと「クリックしてダウンロードします。」が表示されました。

クリックすると「about:blank」となりました。これはNullを表しています。

true/falseで表示させたい場合はequalsを組み合わせます。

equals(coalesce(variables('テスト')),null)

フローを動かすと結果にtrueが表示されたので、equalsとcoalesceの組み合わせでNullを判定できました。

判定してからの処理

空白であることが分かった場合に合わせて処理を変える方法を2つ紹介します。

  • if文を使う
  • 条件を使う

if文の場合は、空白だった場合とそうでない場合の処理を書きます。

if(Empty(variables('テスト')),'空白でした。','空白ではありません。')

フローを動かすと「空白でした。」と表示されました。

条件を使う場合、片方に下記式を入力し、もう片方は「true」にします。

Empty(variables('テスト'))

フローを動かすと「はいの場合」が実行され「空白でした。」と表示されました。

みずしぶき
みずしぶき

作っているフローに合わせてif文と条件を使い分けましょう。

スポンサーリンク

変数や配列を空にする

どの変数でもNullを使うと値を空にできます。
初期値が指定されている型の場合は初期値になります。

変数の初期化を使い文字列の変数を作ります。

変数の設定で値にnullを指定します。

この時、値に直接nullと入力するのではなく、式でnullを入力して表示されたnullを選択しましょう。

フローを動かすと値が空白文字になりました。

nullを指定しましたが、文字列の初期値である空白文字になります。
null=初期値と覚えておくといいでしょう。

例では変数の型を文字列にしましたが、その他の型でも初期値にすることができます。

文字列については初期値が空白文字なので、下記を指定することで初期値に戻すことができます。

String('')

空白・nullを調べる関数と結果一覧

こちらの表は関数の返す値を調査した結果です。

空白文字空白文字の変数(文字列)空白文字の変数(アレイ)空白文字の変数(JSON)
Emptytruetruefalsefalse
length001エラー※2
coalesce空白文字※1空白文字※1[
“”
]
{
“”: “”
}
equals(null,)falsefalsefalsefalse
equals(”,)truetruefalsefalse
【表1】対象が空白文字の場合

※1 結果欄には何も表示されないが、仕様では最初に見つかったnull以外の文字を返すので空白文字である。
※2 lengthで指定できる引数は文字列か配列のみなのでエラーとなった。以下エラーメッセージ。
   InvalidTemplate. Unable to process template language expressions in action ‘作成_14’ inputs at line ‘0’ and column ‘0’: ‘The template language function ‘length’ expects its parameter to be an array or a string. The provided value is of type ‘Object’. Please see https://aka.ms/logicexpressions#length for usage details.’.

nullnullの変数(文字列)nullの変数(配列)nullの変数(JSON)
Emptytruetruetruetrue
lengthエラー※200エラー※2
coalescenull空白文字※1[]null
equals(null,)truefalsefalsefalse
equals(”,)falsetruefalsefalse
【表2】対象がnullの場合

※1 結果欄には何も表示されないが、仕様では最初に見つかったnull以外の文字を返すので空白文字である。
※2 lengthで指定できる引数は文字列か配列のみなのでエラーとなった。以下エラーメッセージ。
   InvalidTemplate. Unable to process template language expressions in action ‘作成_14’ inputs at line ‘0’ and column ‘0’: ‘The template language function ‘length’ expects its parameter to be an array or a string. The provided value is of type ‘Object’. Please see https://aka.ms/logicexpressions#length for usage details.’.

スポンサーリンク

まとめ

PowerAutomateで空の調べ方と空にする方法を紹介しました。
空の処理は使おうとすると忘れていることが多いと思います。空の判定(てい)はEmpty(てぃ)。空にする(する)はNull(ぬる)と覚えておきましょう。

PowerAutomateのおすすめ記事
人気ページ
Apply to eachの使い方
アレイのフィルター処理の使い方
日付関数の使い方
エラーを無視する方法
メールの内容をExcelへ転記
メール本文から名前を抽出

>>PowerAutomateの記事一覧を見る<<

お気に入り必須!公式ページ
Microsoft Power Automate
式関数のリファレンス
コネクタのリファレンス
Excel Online (Business)のリファレンス

最後まで読んで頂き、ありがとうございます。

「この記事が参考になった」「お礼でコーヒー代をプレゼントしよう」という方がいましたらチップ(15円〜)をお願いいたします。

Amazonギフト券- Eメールタイプ - Amazonベーシック

メールのあて先は 「mizusibuki8080@gmail.com」です。
※上記のアドレスは投げ銭受け取り専用です。他のメールは受け取れない設定にしてあるのでご注意ください。

作業を自動化する
ネットワークエンジニアになった人
タイトルとURLをコピーしました