承認者の人数が変わっても修正不要!複数承認の判定をスマートにする方法

Power Automate

全員が承認した後に条件アクションを使いたいとき、承認者が増えるたびに、条件アクションの右辺に「Approve, Approve…」という文字列を書き換えるのは大変ですよね。
この記事では、承認者の人数が何人に変わってもフローの修正が一切不要になる便利なテクニックを紹介します。
数式をコピペするだけで、メンテナンスの手間が劇的に減り、フローがシンプルになりますよ!

30秒でわかる!この記事のまとめ

この記事のハイライト

  • 課題: 承認者の数だけ「Approve」を並べると、人数変更のたびに修正が必要になる。
  • 解決策: replace関数を使って、結果文字列から「Approve」と「カンマ(,)」を消し去る。
  • 判定ロジック: 文字を消した結果が「空(文字数0)」なら全員承認、「Reject」が残れば否認とみなす。
  • 使う式:
replace(replace(outputs('開始して承認を待機')?['body/outcome'],',',''),'Approve','')

フローの全体図

サンプルのため、トリガーは「フローを手動でトリガーする」にしています。


手順と解説(詳細)

ここからは具体的な設定手順を解説します。

1. 「開始して承認を待機」アクションの確認

まずは通常の承認アクションを配置します。
今回は「開始して承認を待機」アクションで、承認の種類を「連続した承認」にしました。

2. 「条件」アクションの左辺に式を設定する

ここが最大のポイントです。
通常は動的コンテンツから「開始して承認を待機」の「結果」を選びますが、今回は「式」を使用します。

条件アクションを追加し、左辺(値の選択)をクリックして、「式」タブに以下のコードを入力してください。

replace(replace(outputs('開始して承認を待機')?['body/outcome'],',',''),'Approve','')

※注意: outputs('開始して承認を待機') の部分は、あなたのアクション名に合わせて書き換える必要があります(スペースはアンダースコアになります)。

なぜこの式でいいの?

この式は以下の処理を行っています。

  1. 承認結果(例: Approve, Approve)から、カンマ , を空文字に置換して消す。
  2. さらに Approve という文字も空文字に置換して消す。
  3. 全員が承認した場合、何も残らず「空っぽ」になります。
  4. 誰かが拒否した場合、Reject という文字が残ります。

REPLACE 関数 – Microsoft サポート

3. 右辺は「空欄」のままにする

左辺に式を入れたら、真ん中の条件は「等しい」、そして右辺は何も入力せず空欄のままにします。

これにより、「式の結果が空文字(=全員承認)であれば True(はい)」という判定になります。

4. 動作確認

これで設定は完了です。
承認者が2人でも、5人に増えても、全員が承認すれば「はい」に分岐し、一人でも拒否すれば「いいえ」に分岐することを確認しましょう。

まとめ

今回は、承認者の人数変更に強い条件判定の作り方をご紹介しました。

  • 固定の文字列(Approve, …)で判定しない。
  • replace関数で「Approve」を消して、残った文字で判定する。

この方法を使えば、今後承認者が増減してもフローを触る必要はありません。ぜひ活用して、メンテナンスフリーなフローを目指しましょう!

コメント

タイトルとURLをコピーしました