• 金額が3万円を超える申請だけ、部長に承認を回したい
  • Power Automateで条件分岐を3つ以上に分けるにはどうすればいいの?
  • 変数を使うと便利と聞いたけど、初期化や種類の違いがよくわからない

Power Automateで実用的なフローを作ろうとすると、「〇〇のときだけ処理する」「内容によって処理を変える」といった条件分岐が欠かせません。

ただ、条件・スイッチ・変数と似た機能が多く、どれをどう使えばいいか迷ってしまいますよね。

この記事でわかること
  • Power Automateで条件分岐を作る3つの方法と使い分け
  • 「条件」アクションの使い方と演算子の一覧、複数条件の組み合わせ方(最新画面付き)
  • 3つ以上に分岐させる方法(入れ子・スイッチ)
  • 変数の種類と使い方、条件分岐と組み合わせるときの注意点

この記事では、Microsoft 365の導入・活用支援を行うWITHWITが、Power Automate(クラウドフロー)の条件分岐と変数の使い方を、実際の画面で解説します。

Power Automateで条件分岐を作る3つの方法

Power Automateの条件分岐は、「条件」アクション、「スイッチ」アクション、式の if() 関数の3つの方法で作れます。

2択なら「条件」、3つ以上の決まった値で分けるなら「スイッチ」、値を1つ切り替えるだけなら if() 関数が基本です。

条件分岐とは、「申請金額が3万円を超えるか」「件名に『至急』を含むか」のように、条件を満たすかどうかでその後の処理を変える仕組みのことです。

方法分岐の数向いている場面
条件2つ(True/False)金額の大小、文字を含むかどうかなど、はい/いいえで分ける
スイッチ3つ以上(最大25ケース)部署名・申請種別など、決まった値ごとに処理を分ける
if() 関数2つ(値の切り替え)アクションを増やさず、入力する値だけを条件で変える
条件によって処理の流れが分かれていく分岐のイメージ

「条件」アクションで条件分岐を作る手順

「条件」アクションは、比較する値・演算子・比較する相手の値の3つを指定し、結果がTrue(満たす)かFalse(満たさない)かで処理を分けます。

ここでは「申請金額が30,000より大きいか」で分岐する例を紹介します。

手順1:「条件」を追加して比較する内容を指定する

フローの編集画面で「+」から「アクションを追加する」を開き、「条件」と検索して「コントロール」の「条件」を選びます。

左の欄に比較する値(ここでは変数「申請金額」)、中央で演算子、右の欄に比較する相手の値(30000)を指定します。

「条件」で、比較する値(左)・演算子(中央)・比較する相手の値(右)を指定する
「条件」で、比較する値(左)・演算子(中央)・比較する相手の値(右)を指定する

左右の欄では、前の手順の動的コンテンツや変数を選べます。

演算子は次の12種類から選べます。

演算子意味使用例
等しい/異なる値が一致する/一致しないステータスが「承認済み」と等しい
より大きい/以上数値が大きい/以上金額が30000より大きい
より小さい/以下数値が小さい/以下在庫数が10以下
含む/含まない文字列を含む/含まない件名に「至急」を含む
先頭/先頭が異なる指定した文字で始まる/始まらないファイル名が「請求書」で始まる
末尾/末尾が異なる指定した文字で終わる/終わらないファイル名が「.pdf」で終わる

手順2:複数の条件を組み合わせ、True/Falseに処理を追加する

条件を2つ以上使う場合は「行を追加する」で行を増やし、左上のプルダウンで「かつ」(すべて満たす)か「または」(どれか1つを満たす)を選びます。

最後に、キャンバスの「True」と「False」の枠の中に、それぞれ実行したいアクションを追加します。

複数の条件は「かつ」「または」で組み合わせ、結果に応じて「True」「False」それぞれに処理を追加する
複数の条件は「かつ」「または」で組み合わせ、結果に応じて「True」「False」それぞれに処理を追加する

「かつ」と「または」を組み合わせたい場合(例:「金額が3万円超」かつ「部署が営業部または経理部」)は、「行を追加する」の右の「∨」から「グループを追加する」を選ぶと、条件をまとめて入れ子にできます。

条件分岐を3つ以上に分ける方法

Power Automateの「条件」は2択のため、3つ以上に分けるには「条件を入れ子にする」か「スイッチを使う」のどちらかです。

比較する値が決まった文字や数値なら、フローが見やすくなるスイッチがおすすめです。

  • 条件を入れ子にする:
    Falseの枠の中にさらに「条件」を追加し、「3万円以下」「3万〜10万円」「10万円超」のように範囲で段階的に分けます。入れ子は8階層までに制限されています
  • スイッチを使う:
    「スイッチ」アクションで比較する値(例:申請種別)を指定し、「ケース」ごとに一致する値と処理を追加します。どのケースにも一致しない場合は「既定」の処理が実行されます。ケースは最大25個まで作れます

スイッチは「等しい」での比較しかできないため、金額の範囲のような「より大きい」「以下」で分けたい場合は、条件の入れ子を使います。

Microsoft 365導入支援の現場では、条件の入れ子が深くなりすぎて、後から担当者が読めなくなっているフローをよく見かけます。

3段階以上になりそうなときは、スイッチで書けないか、値の判定を変数にまとめられないかを先に検討するのがおすすめです。

変数の使い方と条件分岐との組み合わせ

変数とは、フローの途中で値を入れておき、後の処理で読み書きできる入れ物のことです。

条件分岐の結果に応じて変数の値を変え、最後にまとめて使うと、同じ処理を何度も書かずに済みます。

変数を初期化する

変数は、使う前に「変数を初期化する」アクションで作成します。

「アクションを追加する」で「変数を初期化する」を検索して選びます。

「アクションを追加する」で「変数を初期化する」を検索して選ぶ
「アクションを追加する」で「変数を初期化する」を検索して選ぶ

「名前」に変数名を入力し、「タイプ」で種類を選んで、必要なら「値」に初期値を入れます。

変数名には「申請金額」のように日本語も使えます。

変数の「名前」を入力し、「タイプ」で変数の種類(6種類)を選ぶ
変数の「名前」を入力し、「タイプ」で変数の種類(6種類)を選ぶ
タイプ入れる値使用例
ブール値true/false承認済みかどうかのフラグ
整数小数点のない数値申請金額、件数のカウント
浮動小数点数小数を含む数値税率、割合
文字列テキスト承認者のメールアドレス、メール本文
オブジェクト複数の項目をまとめたデータJSON形式のデータ
配列複数の値の一覧宛先の一覧、処理結果の一覧

条件分岐の結果で変数の値を変える

変数の値を変えるには「変数の設定」、数値を増減させるには「変数の値を増やす」「変数の値を減らす」、一覧や文章に追記するには「配列変数に追加」「文字列変数に追加」を使います。

たとえば、金額の条件分岐のTrueで変数「承認者」に部長のアドレス、Falseで課長のアドレスを設定し、その後の承認アクションで変数「承認者」を使えば、承認アクションは1つで済みます。

承認フローの作り方は「Power Automateで承認フローを作る方法」で解説しています。

変数を使うときの注意点

  • 初期化はフローの最上位で行う:
    「変数を初期化する」は、条件やループの中には置けません。トリガーの直後など、フローの最初の方にまとめて置きましょう
  • ループの並列処理と組み合わせない:
    「それぞれに適用する」で並列処理をオンにしたまま変数を書き換えると、値が正しく集計されないことがあります。詳しくは「Power AutomateのApply to eachとは?」をご覧ください
  • 型をそろえる:
    数値と文字列を比較すると、意図しない結果になることがあります。比較前に int() などの関数で型をそろえましょう
ラベルの付いた入れ物に値を出し入れする変数のイメージ

式のif()関数で値を切り替える

アクションを増やさずに、入力する値だけを条件で切り替えたい場合は、式の if() 関数が便利です。if(条件, 満たす場合の値, 満たさない場合の値) の形で書きます。

たとえば、メールの件名に入れる文字を金額で変えたい場合は、if(greater(variables('申請金額'), 30000), '【部長承認】', '【課長承認】') のように書きます。greater() は「より大きい」、equals() は「等しい」、contains() は「含む」を判定する関数です。

式は、入力欄の「fx」アイコンから入力できます。

なお、Power Automate Desktop(デスクトップフロー)では、「If」「Else if」「Else」「Switch」のアクションで条件分岐を作ります。

クラウドフローとは画面や名前が異なる点に注意してください。

条件分岐や変数はMicrosoft 365付属のライセンスで使えますが、プレミアムコネクタと組み合わせる場合は有料ライセンスが必要です。

ライセンスの判断基準は次の記事で解説しています。


日々のトラブル、まずこの一冊で解決しませんか?

条件分岐や変数のように、Power Automateには一度覚えればずっと使える基本の仕組みがたくさんあります。

Microsoft 365全体の「これどうやるの?」も、まとめて解決しておきましょう。

Microsoft 365支援のプロが、現場で実際に寄せられるよくある質問と解決策を厳選してまとめた「トラブルシューティング大全」をご用意しました。

▼資料ダウンロードはこちら 『社内からの「これどうやるの?」を9割削減する Microsoft 365 トラブルシューティング大全』


よくある質問

Q
Power Automateで条件分岐を3つ以上するにはどうしたらいいですか?
A

「条件」アクションのFalseの中にさらに「条件」を追加して入れ子にするか、「スイッチ」アクションを使います。
決まった値ごとに分けるならスイッチ(最大25ケース)、金額の範囲などで分けるなら条件の入れ子が向いています。

Q
Power Automateで変数の初期化は必要ですか?
A

必要です。
変数は「変数を初期化する」アクションで作成してからでないと、「変数の設定」などで値を変えたり、後の処理で使ったりできません。
初期化は、条件やループの外のフローの最上位で行います。

Q
Power Automateで変数の種類はいくつですか?
A

「ブール値」「整数」「浮動小数点数」「文字列」「オブジェクト」「配列」の6種類です。
「変数を初期化する」アクションの「タイプ」で選びます。

Q
Power Automateで変数名に日本語は使えますか?
A

使えます。
「変数を初期化する」の「名前」に「申請金額」のような日本語を入力して作成できます。
ただし、式で参照するときは variables('申請金額') のように、変数名を正確に入力する必要があります。

Q
Power Automateの変数を確認する方法は?
A

フローを実行したあと、実行履歴の詳細画面で「変数を初期化する」や「変数の設定」のアクションを開くと、その時点の変数の値を確認できます。
途中の値を確認したい場合は、「作成」アクションに変数を入れておくと、実行履歴で値を確認しやすくなります。

まとめ

  • 条件分岐は「条件」(2択)、「スイッチ」(3つ以上・最大25ケース)、if() 関数(値の切り替え)の3つで作れる
  • 「条件」は比較する値・12種類の演算子・相手の値を指定し、「かつ」「または」で複数の条件を組み合わせる
  • 3つ以上に分けるときは、範囲なら条件の入れ子(8階層まで)、決まった値ならスイッチ
  • 変数は6種類。使う前にフローの最上位で初期化し、条件分岐の結果で値を変えると処理をまとめられる

条件分岐と変数を使いこなせると、「金額によって承認者を変える」「内容によって通知先を変える」といった、実際の業務に合ったフローが作れるようになります。

まずは2択の「条件」から試してみてください。


他社はPower Automateをどう活用している?

条件分岐を活用した申請・通知の自動化を、他社がどのように進めているのか気になりませんか。

そんな疑問をお持ちでしたら、ぜひ弊社の「中小企業の導入成功事例集」をご覧ください。

▼成果の出る Microsoft 365 活用法とは?中小企業の導入成功事例集をダウンロードする


参考資料

Microsoft 365に関するご相談やお悩みがございましたら、ぜひ株式会社WITHWITまでお気軽にお問い合わせください。
数あるクラウドサービスの中でMicrosoft 365 に特化してきたからこそ導入前から導入後の定着に至るまで、幅広いご相談に対応いたします。