- 文字や配列が空になっているか調べたい
- 変数や配列を空にしたい
この記事では、そんな方に空の調べ方と空にする方法を紹介します。
![みずしぶき](https://mizusibuki.com/wp-content/uploads/2021/04/6b2eeabee96865bbf70cdc1192482744-150x150.png)
この記事を読むと、変数の判定に悩まずフローを作ることができます。
空白・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を指定すると型毎に決められた初期値が自動で設定されます。
(1)Emptyで文字列の空白判定
文字列を初期化します。
値は空欄にします。文字列の初期値は空白文字なのでこれで準備はOKです。
![](https://mizusibuki.com/wp-content/uploads/2022/11/597f3adbf3cf90478017ef747962d729-1024x299.png)
Empty関数の中に文字列の変数「テスト」を指定しました。
Empty(variables('テスト'))
![](https://mizusibuki.com/wp-content/uploads/2022/11/0a7affd1dec1089dfb51b85530177556-1024x191.png)
フローを動かすと結果にtrueが表示されたので、Emptyで空白文字を判定できました。
![](https://mizusibuki.com/wp-content/uploads/2022/11/07baaedfd516030f2f5fad4245c58d54-1024x253.png)
(2)lengthで文字列の空白判定
length関数の中に文字列の変数「テスト」を指定しました。
length(variables('テスト'))
![](https://mizusibuki.com/wp-content/uploads/2022/11/81a9acaaa30f7a32079d400386131218-1024x181.png)
フローを動かすと結果に0が表示されたので、lengthで空白文字を判定できました。
![](https://mizusibuki.com/wp-content/uploads/2022/11/bdea8d3642eb244c8e338cc1813ce1a2-1024x256.png)
(3)equalsで文字列の空白判定
equals関数の中に空白文字を表す「 ” 」と文字列の変数「テスト」を指定しました。
equals('',variables('テスト'))
![](https://mizusibuki.com/wp-content/uploads/2022/11/2159c326186885123d77a1d32da26ac4-1024x178.png)
フローを動かすと結果にtrueが表示されたので、equalsで空白文字を判定できました。
![](https://mizusibuki.com/wp-content/uploads/2022/11/07baaedfd516030f2f5fad4245c58d54-1024x253.png)
(4)coalesceでJSONのNull判定
JSONを初期化します。
値は空欄にします。オブジェクト(JSON)の初期値はNullなのでこれで準備はOKです。
![](https://mizusibuki.com/wp-content/uploads/2022/11/2e4919738d596b0a9838c72bd342e55a-1024x298.png)
coalesce関数の中にJSONの変数「テスト」を指定しました。
coalesce(variables('テスト'))
![](https://mizusibuki.com/wp-content/uploads/2022/11/e069884660578c096edd619ddc843b1f-1024x174.png)
フローを動かすと「クリックしてダウンロードします。」が表示されました。
![](https://mizusibuki.com/wp-content/uploads/2022/11/28dc6fc9bf916ce3ed08cbd18f39bfbd-1024x176.png)
クリックすると「about:blank」となりました。これはNullを表しています。
![](https://mizusibuki.com/wp-content/uploads/2022/11/2ea277ac90921a4f48239f836c52db0b-1024x495.png)
true/falseで表示させたい場合はequalsを組み合わせます。
equals(coalesce(variables('テスト')),null)
![](https://mizusibuki.com/wp-content/uploads/2022/11/342e2441dd5ab095749a3adf742afcf9-1024x178.png)
フローを動かすと結果にtrueが表示されたので、equalsとcoalesceの組み合わせでNullを判定できました。
![](https://mizusibuki.com/wp-content/uploads/2022/11/07baaedfd516030f2f5fad4245c58d54-1024x253.png)
判定してからの処理
空白であることが分かった場合に合わせて処理を変える方法を2つ紹介します。
- if文を使う
- 条件を使う
if文の場合は、空白だった場合とそうでない場合の処理を書きます。
if(Empty(variables('テスト')),'空白でした。','空白ではありません。')
![](https://mizusibuki.com/wp-content/uploads/2022/11/611e317109c6c21b70f147471b9a9299-1024x181.png)
フローを動かすと「空白でした。」と表示されました。
![](https://mizusibuki.com/wp-content/uploads/2022/11/be68be9ac1b1f2ee6ec0a85d30e64f31-1024x258.png)
条件を使う場合、片方に下記式を入力し、もう片方は「true」にします。
Empty(variables('テスト'))
![](https://mizusibuki.com/wp-content/uploads/2022/11/02185f8e1afb20ee6d81c8b65c9cd200-1024x391.png)
フローを動かすと「はいの場合」が実行され「空白でした。」と表示されました。
![](https://mizusibuki.com/wp-content/uploads/2022/11/3b2b4ceec41bf8bcfdcd36974409eae5-1024x557.png)
![みずしぶき](https://mizusibuki.com/wp-content/uploads/2021/04/6b2eeabee96865bbf70cdc1192482744-150x150.png)
作っているフローに合わせてif文と条件を使い分けましょう。
変数や配列を空にする
どの変数でもNullを使うと値を空にできます。
初期値が指定されている型の場合は初期値になります。
変数の初期化を使い文字列の変数を作ります。
![](https://mizusibuki.com/wp-content/uploads/2022/11/c4040558c383c2c7b6452c692043459a-1024x295.png)
変数の設定で値にnullを指定します。
![](https://mizusibuki.com/wp-content/uploads/2022/11/5493beb1a9ca00ec271b8ab81107923e-1024x233.png)
この時、値に直接nullと入力するのではなく、式でnullを入力して表示されたnullを選択しましょう。
![](https://mizusibuki.com/wp-content/uploads/2022/11/8d149aaa0c20d0ff4392853ceedbc856.png)
フローを動かすと値が空白文字になりました。
![](https://mizusibuki.com/wp-content/uploads/2022/11/5a70b499074ddf01b797260e98787ce5-675x1024.png)
nullを指定しましたが、文字列の初期値である空白文字になります。
null=初期値と覚えておくといいでしょう。
例では変数の型を文字列にしましたが、その他の型でも初期値にすることができます。
文字列については初期値が空白文字なので、下記を指定することで初期値に戻すことができます。
String('')
空白・nullを調べる関数と結果一覧
こちらの表は関数の返す値を調査した結果です。
空白文字 | 空白文字の変数(文字列) | 空白文字の変数(アレイ) | 空白文字の変数(JSON) | |
---|---|---|---|---|
Empty | true | true | false | false |
length | 0 | 0 | 1 | エラー※2 |
coalesce | 空白文字※1 | 空白文字※1 | [ “” ] | { “”: “” } |
equals(null,) | false | false | false | false |
equals(”,) | true | true | false | false |
※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.’.
null | nullの変数(文字列) | nullの変数(配列) | nullの変数(JSON) | |
---|---|---|---|---|
Empty | true | true | true | true |
length | エラー※2 | 0 | 0 | エラー※2 |
coalesce | null | 空白文字※1 | [] | null |
equals(null,) | true | false | false | false |
equals(”,) | false | true | false | false |
※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)のリファレンス