自動化
PR

Power Automateの条件分岐の使い方|条件とスイッチの違い・型のワナ

sanane
記事内に商品プロモーションを含む場合があります

はじめに

Power Automate で「この場合はこう、別の場合はこう」と処理を分けたいとき使うのが「条件」と「スイッチ」です。

使い方は難しくありませんが、「文字列と数値の比較で思わぬ結果になる」「Switch で範囲指定ができない」といった、知らないとハマる落とし穴があります。

本記事では、条件アクションの基本・演算子の一覧・複数条件(AND/OR)から、Switch との使い分けまでを実際の画面つきで解説します。

特に「文字列 '10' と数値 10 を比較するとどうなるか」という定番の疑問には、実測結果で答えます。

こんな人にオススメ
  • Power Automate の条件分岐の書き方を基本から知りたい
  • 複数条件(かつ/または)やグループ化の組み方が分からない
  • 「条件」と「スイッチ」をどう使い分けるか迷っている

Power Automate の基本・料金・他の実例一覧はこちら。

あわせて読みたい
Power Automateとは?できること・使い方・始め方を実例40本で解説
Power Automateとは?できること・使い方・始め方を実例40本で解説

「条件」アクションの基本

「条件」アクションを追加すると、左辺(値)/演算子/右辺(値)の 3 つを指定する行が出ます。保存すると、キャンバス上に自動で「はい」「いいえ」の 2 つの分岐ブロックが生成され、それぞれに実行したいアクションを置きます。

条件アクションの左辺・演算子・右辺の3要素と、はい/いいえの分岐

演算子はドロップダウンから選びます。用意されているのは次の 12 種類です。

  • 含む/含まない
  • 等しい/異なる
  • より大きい/以上/より小さい/以下
  • 先頭/先頭が異なる/末尾/末尾が異なる
条件アクションの演算子ドロップダウン。含む・等しい・より大きいなど12種類

複数条件(かつ/または)とグループ化

条件の行を追加すると、「かつ」(AND)と「または」(OR)を選ぶドロップダウンが現れます。既定は「かつ」で、両方の条件を満たしたときだけ「はい」に進みます。行を増やすことで複数条件を組み合わせられます。

条件を複数行にして、かつ/またはを選ぶ画面

条件の行を追加・削除すると、見た目上は消えない空行が残ることがあります(UI の表示バグ)。ただし実際に保存されるデータには空の条件は含まれないため動作に影響はありません。気になる場合は「コード ビュー」で実際の定義を確認すると安心です。

実行すると、判定結果に応じて「はい」または「いいえ」のブランチが実行されます。実行履歴では、どちらの分岐が動いたかが色分けで確認できます。

条件アクションの実行結果。はい/いいえのどちらの分岐が実行されたか色分け表示

要注意:文字列と数値の比較は「型が違っても一致する」

ここが一番のハマりどころです。文字列の "10" と数値の 10 を「等しい」で比較すると、結果は True(一致)になります。

左辺が文字列10、右辺が数値10の条件設定

Power Automate の条件評価は、比較のときに暗黙的に型を変換します。そのため「型が違うから False になるはず」という直感は通用しません。下の実行結果でも、文字列 10 と数値 10 の比較が True になっています。

文字列10と数値10の比較結果がTrueになっている実行履歴

他のプログラミング言語のように「文字列型と数値型を厳密に区別する」感覚でいると、想定外の分岐に進むことがあります。逆に言えば、フォームや Excel から取得した「数字っぽい文字列」をそのまま数値と比較しても一致してくれる、という便利さでもあります。

「スイッチ」で1つの値を複数の候補に振り分ける

「部署名によって処理を変えたい」のように、1 つの値を複数の決まった候補と照合して分岐したい場合は「スイッチ」(コントロール カテゴリ)が便利です。「オン」に評価対象の値を入れ、「ケースを追加する」で候補ごとの分岐を作り、どれにも当てはまらない場合は「既定」ブランチが処理します。

スイッチアクションでケース1に営業部、ケース2に開発部を設定した画面

入力値に一致したケースのブランチだけが実行されます。下は「営業部」を入力し、該当ケースがハイライトされた実行結果です。

スイッチの実行結果。入力値に一致したケースのブランチがハイライト

スイッチのケースは「等しい」の完全一致のみです。「〇〇以上」のような範囲判定や不等号は指定できません。範囲で分けたいときは「条件」アクションを使いましょう。

「条件」と「スイッチ」の使い分け

  • 条件:比較演算子(以上・含む 等)や AND/OR を組み合わせた複雑な判定に向く。分岐は「はい/いいえ」の2択
  • スイッチ:1つの値を複数の決まった候補と照合する多分岐に向く。ただし完全一致のみ

まとめ

  • 条件は「左辺/演算子/右辺」+はい/いいえ分岐。 演算子は12種、複数条件は「かつ/または」
  • 文字列と数値は型が違っても一致する(暗黙の型変換)。厳密比較の感覚に注意
  • 多分岐はスイッチが便利だが完全一致のみ。 範囲判定は条件アクションで

無駄な実行そのものを減らしたい場合は、フロー内の条件ではなく「トリガー条件」も検討してください。エラー時の分岐設計や、ループ処理とあわせてよく使うテクニックはこちらもどうぞ。

あわせて読みたい
Power Automateのトリガー条件で無駄な実行を減らす方法
Power Automateのトリガー条件で無駄な実行を減らす方法
あわせて読みたい
Power Automateでフローが動かない時の対処法|エラー別の原因と直し方
Power Automateでフローが動かない時の対処法|エラー別の原因と直し方
記事URLをコピーしました