Power Automate Desktopには条件分岐がデフォルトで複数用意されていますが、Ifは条件分岐では最も基本的な形で扱いやすいです。
If(もし)〇〇なら……と条件を設定し、条件を満たす場合は処理を実行し、満たさない場合は処理をスキップします。
If条件
![pad if1](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if1-1.png)
Ifアクションはアクションペインの条件の中にあります。
![pad if2](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if2.png)
追加するとダイアログが表示されます。このまま保存を押すと、
![pad if3](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if3.png)
入力必須の項目があるのでエラーになりますが、If thenとEndに挟まれたブロックが作られることが確認できます。
Ifに設定した条件が満たされる場合、このブロック内の処理が実行されます。
Ifに設定した条件が満たされる場合、このブロック内の処理が実行されます。
オペランドとは
![pad if6](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if6.png)
値のことです。正確には1<2のような式のうち、<部分を演算子、それ以外の数値部分をそれぞれオペランドと呼びます。
最初のオペランドと2番目のオペランドにそれぞれ1を設定し、演算子がと等しい(=)になっていれば、
最初のオペランドと2番目のオペランドにそれぞれ1を設定し、演算子がと等しい(=)になっていれば、
![pad if4](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if4.png)
式としては1=1になります。
![pad if5](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if5.png)
フローを実行すると、1と1が等しい場合にブロック内の処理を実行するので、中に入れたメッセージ表示処理が起動します。
![pad if7](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if7.png)
最初のオペランドと2番目のオペランドが異なり、演算子がと等しい(=)であれば、
![pad if](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if.gif)
条件を満たさないので、Ifブロック内の処理はスキップされます。
変数の指定
![if オペランド1](https://sunagitsune.com/wp-content/uploads/2021/12/696d88b271de86cee4465c424d473f8e.png)
条件に使う値は変化しなければ条件である意味がないので、ほとんどの場合、少なくとも片方のオペランドは変数で指定することになります。
変数を指定するにはオペランド右にある{x}をクリックし、
変数を指定するにはオペランド右にある{x}をクリックし、
![if オペランド2](https://sunagitsune.com/wp-content/uploads/2021/12/bf21849026b4a9067eb4967353eba09a.png)
一覧からクリックするか、変数名を検索するか、直接入力します。
演算子
![pad if 演算子1](https://sunagitsune.com/wp-content/uploads/2021/12/d7ca6675792a93cd40aedcd5c65605ec.png)
オペランド同士を比較するための演算子として、次のようなものが用意されています。
名称 | 意味 |
---|---|
と等しい(=) | 2つの値が一致する |
と等しくない(<>) | 2つの値が一致しない |
より大きい(>) | 最初のオペランドが2番目のオペランドより大きい |
以上である(>=) | 最初のオペランドが2番目のオペランド以上 | より小さい(<) | 最初のオペランドが2番目のオペランドより小さい(未満) |
以下である(<=) | 最初のオペランドが2番目のオペランド以下 |
次を含む | 最初のオペランドの中に2番目のオペランドが含まれる (例:最初のオペランドがABCの時、 2番目のオペランドがAなら条件を満たす。 2番目のオペランドがDなら条件を満たさない) |
次を含まない | 最初のオペランドの中に2番目のオペランドが含まれない |
空である | オペランドの値が空 |
空でない | オペランドの値が空ではない |
先頭 | 最初のオペランドの先頭の文字が2番目のオペランド (例:最初のオペランドがABCの時、 2番目のオペランドがABなら条件を満たす。 2番目のオペランドがACなら条件を満たさない) |
先頭が次でない | 最初のオペランドの先頭の文字が2番目のオペランドと異なる | 末尾 | 最初のオペランドの末尾の文字が2番目のオペランド |
末尾が次でない | 最初のオペランドの末尾の文字が2番目のオペランドと異なる |
数字以外も使用可能
![pad if 演算子2](https://sunagitsune.com/wp-content/uploads/2021/12/b7a48adb01f00db2b6101f761c577484.png)
あまり細かくバリデーションはかかっていないので、かきくけこ>=あいうえおみたいな条件がエラーなく通ります(なんらかの基準でちゃんと判定される)。間違った変数を設定しててもそのまま動いてしまうので、一応注意。
Else
![pad if else1](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if-else1.png)
Elseの中に置いた処理は、上に置いたIfまたはElse Ifの条件がいずれも満たされなかった場合に実行されます。
![pad if else2](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if-else2.png)
こんな感じでIf構文の中に組み込みます(追加時にダイアログは表示されません)。ここでは変数が「1」かどうかで処理を分けています。
![pad if else3](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if-else3.png)
変数が「1」のまま処理を行うと、Ifの中の処理が実行され、
![pad if else4](https://sunagitsune.com/wp-content/uploads/2021/12/pad-if-else4.png)
値を変えてみると、Elseの中の処理が実行されることが確認できます。
Else If
![pad elseif1](https://sunagitsune.com/wp-content/uploads/2021/12/pad-elseif1.png)
IfとElseだけだと条件を満たすか、満たさないかだけしか判別できませんが、Else Ifを使うことで条件をA,B,C..と追加していくことができます。
![pad elseif2](https://sunagitsune.com/wp-content/uploads/2021/12/pad-elseif2.png)
追加すると、If条件と同じようにダイアログが表示されるので、ここで条件の指定を行います。
![pad elseif3](https://sunagitsune.com/wp-content/uploads/2021/12/pad-elseif3.png)
Else Ifは複数追加でき、それぞれ条件を指定できます。
![pad elseif4](https://sunagitsune.com/wp-content/uploads/2021/12/pad-elseif4.png)
実行すると、いずれかの条件に合致する場合はIfまたはElse If内の処理が実行され、
![pad elseif5](https://sunagitsune.com/wp-content/uploads/2021/12/pad-elseif5.png)
いずれにも合致しない場合はElseが実行されることが確認できます。
条件に複数合致する場合
![pad if 条件2](https://sunagitsune.com/wp-content/uploads/2021/12/65e9f9e22baf14b232737420f6b6381d.png)
判定は上から順に行われ、いずれかの条件が満たされた時点でその中の処理を実行し、その後Ifに対応したEndまでジャンプします。
たとえばこの場合IfとElse Ifはどちらも条件を満たしますが、
たとえばこの場合IfとElse Ifはどちらも条件を満たしますが、
![pad if 条件1](https://sunagitsune.com/wp-content/uploads/2021/12/e6a6d2d55d6236cb95f75747dcac0906.png)
実行すると、行われるのは最初のIfの中に置かれたアクションのみです。
IF、Else If、Elseの順番
![pad if 条件3](https://sunagitsune.com/wp-content/uploads/2021/12/52e01e2f2a47f36973c47af9ed15f800.png)
If→Else If→Elseの順に判定される必要があります。
Else IfがIfより前にあったりするとエラーになります。
Else IfがIfより前にあったりするとエラーになります。
関連記事
If、Else If、Elseを使い、メッセージボックスの押したボタンによって処理を分岐させています。
別の条件分岐方法であるSwitch、Case、Default Caseの使い方です。
![](https://sunagitsune.com/wp-content/uploads/2021/11/machine-learning-g0b59793cc_1280-160x90.png)
Microsoft Power Automate Desktop(PAD)アクション、使い方一覧
Power Automate Desktopの使い方を機能・分類別に参照できるまとめです。
コメント