Power automate desktop 複数条件 and

アクション「If」により条件に応じた処理を実行できる。アクション「If」のパラメーター設定画面を見ると最初のオペランドと2番目のオペランドを指定するようになっている。2つの値を比較することしかできないように見えるが実は以下のように複数条件を設定することもできる。アクション「If」を複数つかって複数条件を表現するかわりに一括で一行でスッキリ表現することができる。

アクション「If」設定例

最初のオペランド:

(例)%NewValue1 = 'XXX' AND NewValue2 = 'YYY'%

(例)%Position <> -1 OR (NewValue1 = 'XXX' AND NewValue2 = 'YYY')%

2番目のオペランド:

%True%

1. 普通のつかいかた

Power automate desktop 複数条件 and

2. 複数条件指定の書き方例

条件は「最初のオペランド」に設定し「2番目のオペランド」にはその検査内容「%True%」等を設定する。処理実行結果は上記「1. 普通のつかいかた」と同一である。

Power automate desktop 複数条件 and

3. 複数条件を設定した例

式と式を「AND」や「OR」(とスペース)でつなげればよい。変数を表す「%」は最初と最後にだけ置く。

Power automate desktop 複数条件 and

4. 半角括弧で囲って条件のセットを複数つなげることもできる

以下例では次の2つの条件のセットが正しいかどうかを検査する。

(Positionが-1でない)または(NewValue1 = 'XXX' かつ NewValue2 = 'YYY')

Power automate desktop 複数条件 and

Power automate desktop 複数条件 and
IT

2022.01.25 2022.01.12

Power Automate Desktopには条件分岐がデフォルトで複数用意されていますが、Ifは条件分岐では最も基本的な形で扱いやすいです。
If(もし)〇〇なら……と条件を設定し、条件を満たす場合は処理を実行し、満たさない場合は処理をスキップします。

If条件

Power automate desktop 複数条件 and

Ifアクションはアクションペインの条件の中にあります。

Power automate desktop 複数条件 and

追加するとダイアログが表示されます。このまま保存を押すと、

Power automate desktop 複数条件 and

入力必須の項目があるのでエラーになりますが、If thenEndに挟まれたブロックが作られることが確認できます。
Ifに設定した条件が満たされる場合、このブロック内の処理が実行されます。

オペランドとは

Power automate desktop 複数条件 and

のことです。正確には1<2のような式のうち、<部分を演算子、それ以外の数値部分をそれぞれオペランドと呼びます。
最初のオペランド2番目のオペランドにそれぞれ1を設定し、演算子がと等しい(=)になっていれば、

Power automate desktop 複数条件 and

式としては1=1になります。

Power automate desktop 複数条件 and

フローを実行すると、1と1が等しい場合にブロック内の処理を実行するので、中に入れたメッセージ表示処理が起動します。

Power automate desktop 複数条件 and

最初のオペランド2番目のオペランドが異なり、演算子がと等しい(=)であれば、

Power automate desktop 複数条件 and

条件を満たさないので、Ifブロック内の処理はスキップされます。

変数の指定

Power automate desktop 複数条件 and

条件に使う値は変化しなければ条件である意味がないので、ほとんどの場合、少なくとも片方のオペランドは変数で指定することになります。
変数を指定するにはオペランド右にある{x}をクリックし、

Power automate desktop 複数条件 and

一覧からクリックするか、変数名を検索するか、直接入力します。

演算子

Power automate desktop 複数条件 and

オペランド同士を比較するための演算子として、次のようなものが用意されています。

名称意味
と等しい(=) 2つの値が一致する
と等しくない(<>) 2つの値が一致しない
より大きい(>) 最初のオペランドが2番目のオペランドより大きい
以上である(>=) 最初のオペランドが2番目のオペランド以上
より小さい(<) 最初のオペランドが2番目のオペランドより小さい(未満)
以下である(<=) 最初のオペランドが2番目のオペランド以下
次を含む 最初のオペランドの中に2番目のオペランドが含まれる
(例:最初のオペランドがABCの時、
2番目のオペランドがAなら条件を満たす。
2番目のオペランドがDなら条件を満たさない)
次を含まない 最初のオペランドの中に2番目のオペランドが含まれない
空である オペランドの値が空
空でない オペランドの値が空ではない
先頭 最初のオペランドの先頭の文字が2番目のオペランド
(例:最初のオペランドがABCの時、
2番目のオペランドがABなら条件を満たす。
2番目のオペランドがACなら条件を満たさない)
先頭が次でない 最初のオペランドの先頭の文字が2番目のオペランドと異なる
末尾 最初のオペランドの末尾の文字が2番目のオペランド
末尾が次でない 最初のオペランドの末尾の文字が2番目のオペランドと異なる

数字以外も使用可能

Power automate desktop 複数条件 and

あまり細かくバリデーションはかかっていないので、かきくけこ>=あいうえおみたいな条件がエラーなく通ります(なんらかの基準でちゃんと判定される)。間違った変数を設定しててもそのまま動いてしまうので、一応注意。

Else

Power automate desktop 複数条件 and

Elseの中に置いた処理は、上に置いたIfまたはElse Ifの条件がいずれも満たされなかった場合に実行されます。

Power automate desktop 複数条件 and

こんな感じでIf構文の中に組み込みます(追加時にダイアログは表示されません)。ここでは変数が「1」かどうかで処理を分けています。

Power automate desktop 複数条件 and

変数が「1」のまま処理を行うと、Ifの中の処理が実行され、

Power automate desktop 複数条件 and

値を変えてみると、Elseの中の処理が実行されることが確認できます。

Else If

Power automate desktop 複数条件 and

IfとElseだけだと条件を満たすか、満たさないかだけしか判別できませんが、Else Ifを使うことで条件をA,B,C..と追加していくことができます。

Power automate desktop 複数条件 and

追加すると、If条件と同じようにダイアログが表示されるので、ここで条件の指定を行います。

Power automate desktop 複数条件 and

Else Ifは複数追加でき、それぞれ条件を指定できます。

Power automate desktop 複数条件 and

実行すると、いずれかの条件に合致する場合はIfまたはElse If内の処理が実行され、

Power automate desktop 複数条件 and

いずれにも合致しない場合はElseが実行されることが確認できます。

条件に複数合致する場合

Power automate desktop 複数条件 and

判定は上から順に行われ、いずれかの条件が満たされた時点でその中の処理を実行し、その後Ifに対応したEndまでジャンプします。
たとえばこの場合IfElse Ifはどちらも条件を満たしますが、

Power automate desktop 複数条件 and

実行すると、行われるのは最初のIfの中に置かれたアクションのみです。

IF、Else If、Elseの順番

Power automate desktop 複数条件 and

If→Else If→Elseの順に判定される必要があります。
Else IfがIfより前にあったりするとエラーになります。

関連記事

If、Else If、Elseを使い、メッセージボックスの押したボタンによって処理を分岐させています。

別の条件分岐方法であるSwitchCaseDefault Caseの使い方です。

Power automate desktop 複数条件 and

Microsoft Power Automate Desktop(PAD)アクション、使い方一覧

Power Automate Desktopの使い方を機能・分類別に参照できるまとめです。