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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

If→Else If→Elseの順に判定される必要があります。
Else IfがIfより前にあったりするとエラーになります。
Else IfがIfより前にあったりするとエラーになります。
関連記事
If、Else If、Elseを使い、メッセージボックスの押したボタンによって処理を分岐させています。
別の条件分岐方法であるSwitch、Case、Default Caseの使い方です。

Microsoft Power Automate Desktop(PAD)アクション、使い方一覧
Power Automate Desktopの使い方を機能・分類別に参照できるまとめです。
コメント