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