Power Automate(旧:Microsoft Flow)は、業務の自動化を実現する強力なツールです。中でも「条件分岐(条件制御)」は、フローの中で「もし〜なら〜する」といった論理的な判断を行うために不可欠な機能です。
この記事では、Power Automateで条件分岐を使うための基本から、実践的な応用方法まで、初心者でも理解できるように丁寧に解説します。
「承認された場合だけ通知する」「数値が一定以上の場合のみ処理する」といったケースで役立つ条件分岐の仕組みを、スクリーンショットや具体例を交えてご紹介します。業務の効率化を目指す方はぜひご一読ください。
Power Automateの条件分岐とは?
Power Automateにおける「条件分岐」は、プログラミングでいう「if文」のような役割を果たします。たとえば、フローの中で「ある値が○○なら処理A、それ以外なら処理B」といった形で分岐を設定することで、より柔軟で複雑な自動化が可能になります。
この条件分岐は、視覚的なUIで簡単に構築でき、条件式もExcelの関数に似た書き方ができるため、非エンジニアでも直感的に操作できます。
条件分岐の基本的な使い方
Power Automateで条件分岐を使うには、以下の手順で操作します。
- 新しいフローを作成
- トリガー(例:「新しいメールが届いたとき」)を設定
- 「条件」コントロールを追加
- 条件式を入力(例:「件名に ‘承認’ が含まれる」)
- 「Yes」と「No」の分岐にアクションを設定
条件コントロールを追加すると、「Yes」「No」の2つの分岐が自動的に表示され、それぞれに処理を追加できます。
条件式の書き方の基本
条件式の記述方法は、以下のような構文を使用します。
equals(triggerOutputs()?['headers']['x-ms-file-last-modified'],'2022-01-01')
contains(triggerBody()?['Subject'], '承認')
greater(triggerBody()?['Amount'], 10000)
よく使われる関数:
関数名 | 用途 |
---|---|
equals(a, b) | a と b が等しいか |
not(equals(a, b)) | a と b が等しくないか |
greater(a, b) | a が b より大きいか |
less(a, b) | a が b より小さいか |
contains(a, b) | a に b が含まれるか |
条件式を書く際は、トリガーや前段のアクションから得られるデータを正しく参照する必要があります。
よくある条件分岐の実用例
1. 件名に「申請」が含まれる場合のみ処理
たとえば、「申請」という文字がメール件名に含まれていた場合にのみTeamsに通知する場合:
- 条件:
contains(triggerBody()?['Subject'], '申請')
- Yesのアクション:Teams通知
- Noのアクション:何もしない
2. フォームの回答内容に応じて処理を分ける
Microsoft Formsと連携して、ある質問の回答が「はい」の場合のみSharePointに登録するなど。
- 条件:
equals(triggerBody()?['value'], 'はい')
3. 日付による分岐処理
たとえば、今日の日付が特定日付と一致するかで処理を分ける。
- 条件:
equals(utcNow(), '2025-12-31T00:00:00Z')
複数条件を使った高度な分岐(AND/OR)
Power Automateの条件分岐では「AND」「OR」条件も使えます。
- AND条件の例:
and(equals(triggerBody()?['部署'], '営業'), greater(triggerBody()?['売上'], 500000))
- OR条件の例:
or(contains(triggerBody()?['Subject'], '緊急'), contains(triggerBody()?['Subject'], '至急'))
こうした条件式を使うことで、より柔軟な判断が可能になります。
条件分岐のネスト(入れ子)と代替手段
Power Automateでは、条件分岐の中にさらに条件分岐を設定する「ネスト構造」が可能です。たとえば:
- まず「A部署か?」→Yesなら次に「売上は100万円以上か?」といった形。
ただし、あまりに複雑になるとフローが見にくくなるため、代替案として「スイッチ」や「変数を使った判定」などを活用する方法もあります。
トラブルシューティング:条件分岐が思ったように動かないとき
条件分岐でよくあるトラブルとその対処法を紹介します。
トラブル例1:常に「No」に入ってしまう
原因: 条件式の書き方ミス、型の不一致など
対処: 式を Expression
タブで確認し、値が本当に一致しているか Run history
でログ確認
トラブル例2:文字列が正しく比較できない
原因: 空白や全角半角の違い
対処: trim()
や toLower()
関数で正規化する
条件分岐を使いこなして業務自動化を加速させよう
条件分岐は、Power Automateを使った自動化の中でも最も基本的で、かつ応用範囲の広い機能です。
複雑な業務ロジックも、条件を組み合わせることで正確に処理できるようになります。
最初はシンプルな条件から始めて、徐々にANDやOR、ネスト構造に挑戦していくのがおすすめです。
また、実際に動かしながら「フローの実行履歴」を確認して改善していくことで、自然とスキルが身につきます。
まとめ
Power Automateの条件分岐は、業務フローをより現実的に、柔軟に構築するための基礎機能です。
本記事で紹介した基礎知識や記述例、活用パターンを参考にしながら、ぜひ日常業務の中で活用してみてください。
「定型業務からの脱却」や「ヒューマンエラーの削減」といった大きな効果が期待できます。