Power Automateの繰り返し処理 Apply to eachとDo untilの使い方・違い・高速化を解説

Power Automateの繰り返し処理 Apply to eachとDo untilの使い方・違い・高速化を解説

「Power Automateで複数のデータを1件ずつ処理したいが、ループの使い方がわからない」「Apply to eachが勝手に挿入されて困っている」「繰り返し処理が遅くて実用に耐えない」。Power Automateで業務自動化を進めると、繰り返し処理に関する悩みにぶつかる方は多いのではないでしょうか。

Power Automateの繰り返し処理には、配列の各要素を順に処理する「Apply to each」と、指定した条件が満たされるまで処理を繰り返す「Do until」の2種類があります。それぞれの仕組みと使い分け、処理が遅い場合の高速化テクニックを理解することで、効率的なフローを構築できます。

この記事では、Power Automateの2つの繰り返しアクションの違い、具体的な設定手順、実務での活用例、そしてパフォーマンスを改善するためのポイントまで、体系的に解説します。

確認したいポイント結論詳細
繰り返し処理にはどんな種類があるか?Apply to eachとDo untilの2種類Apply to eachは配列の各要素を順に処理し、Do untilは条件が真になるまで繰り返します
勝手にApply to eachが挿入されるのはなぜ?動的コンテンツが配列だから配列型のデータをアクション内で使うと、Power Automateが自動的にApply to eachで囲みます
繰り返しの上限はあるか?アクションごとに上限があるApply to eachは最大10万回、Do untilはデフォルト60回(設定で最大5,000回)まで繰り返し可能です
処理を速くする方法は?並列処理を有効にするApply to eachのコンカレンシー制御をオンにすると、複数の要素を同時に処理でき、大幅に高速化できます

この記事でわかること

・Apply to eachとDo untilの違いと使い分け

・それぞれの具体的な設定手順

・繰り返し処理の実務活用例

・処理が遅い場合の高速化テクニック

・繰り返し処理の注意点と回避策

\ 業務自動化・DX推進のご相談はネクストスケールへ /
▶ 相談予約はこちら
目次

Power Automateの繰り返し処理とは?2つのアクションの違い

Power Automateの繰り返し処理は、プログラミングにおける「ループ」に相当する機能です。まずは2つのアクションの違いを理解しましょう。

Apply to eachとDo untilの比較

比較項目Apply to eachDo until
繰り返しの基準配列の各要素を順に処理条件が真になるまで繰り返す
繰り返し回数配列の要素数と同じ条件が満たされるまで(上限設定あり)
並列処理可能(コンカレンシー制御)不可(逐次処理のみ)
上限最大10万回デフォルト60回(最大5,000回)
適したケースメール一覧、ファイル一覧の処理APIリトライ、条件達成まで待機

Apply to eachの仕組み

Apply to eachは、配列(アレイ)の各要素を1つずつ取り出し、ブロック内のアクションを繰り返し実行する処理です。プログラミングの「for each」ループに相当します。

たとえば、「メールの一覧を取得」アクションで受信メール10件が取得された場合、Apply to eachはその10件のメールに対して1件ずつ処理を実行します。添付ファイルの保存、送信者への自動返信、特定条件でのフラグ設定などの処理を各メールに適用できます。

重要なポイントとして、フロー作成中に動的コンテンツとして配列型のデータを使うと、Power Automateが自動的にApply to eachを挿入する場合があります。これは仕様上の動作であり、配列の各要素を個別に処理するために必要な囲みです。

Do untilの仕組み

Do untilは、指定した条件が「真(true)」になるまで、ブロック内のアクションを繰り返し実行する処理です。プログラミングの「do-while」ループに近い動作です。

Apply to eachが「配列の要素数」で繰り返し回数が決まるのに対し、Do untilは「条件が満たされるまで」繰り返すため、事前に繰り返し回数がわからない場合に使います。

典型的な使い方は、APIからのレスポンスが成功ステータスになるまでリトライする処理や、変数が一定の値に達するまでカウントアップする処理です。

Power Automateの繰り返しアクションの公式ドキュメントは、Microsoftのサイトで確認できます(参考:Microsoft Learn – Power Automateのループ)。

Apply to eachの設定手順と使い方

ここからは、Apply to eachの具体的な設定手順を解説します。

基本的な設定手順

1. フローのデザイナーで、繰り返し処理を行いたい位置に「アクションの追加」をクリックします。

2. 「コントロール」カテゴリから「Apply to each」を選択します。

3. 「以前の手順から出力を選択」の欄に、繰り返し処理の対象となる配列(動的コンテンツ)を指定します。たとえば、「メールの取得」アクションの出力値(value)を指定します。

4. Apply to eachブロックの中に、各要素に対して実行したいアクションを追加します。

ブロック内のアクションで「現在のアイテム」と表示される動的コンテンツを使うと、その時点でループ中の要素(1件のメール、1行のデータなど)を参照できます。

Apply to eachが自動挿入される場合の対処

フロー作成中に、意図せずApply to eachが自動的に挿入されることがあります。これは、アクション内で配列型の動的コンテンツを使用した場合に自動的に発生するPower Automateの仕様です。

この自動挿入は、配列の各要素を個別に処理するために必要な動作です。不要な場合は、配列の最初の要素だけを取得するfirst関数を使うか、「データ操作」の「選択」アクションで配列を加工してからアクションに渡すことで、Apply to eachを回避できる場合があります。

\ 業務自動化・DX推進のご相談はネクストスケールへ /
▶ 資料請求はこちら

Do untilの設定手順と使い方

Do untilは、Apply to eachとは異なる場面で活用します。ここでは設定手順と注意点を解説します。

基本的な設定手順

1. フローのデザイナーで「アクションの追加」をクリックし、「コントロール」カテゴリから「Do until」を選択します。

2. 終了条件を設定します。左辺に変数や動的コンテンツ、演算子(等しい、以上、以下など)、右辺に比較する値を指定します。

3. Do untilブロックの中に、繰り返し実行したいアクションを追加します。

4. ブロック内で終了条件の変数を更新するアクション(変数の値を増やす、APIからのレスポンスをチェックするなど)を必ず追加します。

Do untilの上限設定と注意点

Do untilには、繰り返し回数の上限とタイムアウトの設定があります。デフォルトでは繰り返し回数の上限は60回、タイムアウトはPT1H(1時間)です。

Do untilの設定メニュー(「制限の変更」)から、繰り返し回数の上限を最大5,000回まで変更できます。ただし、終了条件が満たされない場合に無限ループにならないよう、上限値は必ず設定しておくことが重要です。

また、Do untilブロック内で終了条件の変数を更新する処理を入れ忘れると、条件が永遠に満たされず、上限回数に達するまでループし続けます。フロー設計時に「ループを抜ける条件が必ず満たされるか」を確認しましょう。

繰り返し処理の活用例

Power Automateの繰り返し処理は、さまざまな業務シーンで活用できます。ここでは代表的な活用例を紹介します。

活用例1:メールの添付ファイルを一括保存する

「メールの取得」アクションで受信メールの一覧を取得し、Apply to eachで各メールの添付ファイルをOneDriveやSharePointに自動保存します。メール1件に複数の添付ファイルがある場合は、Apply to eachを入れ子(ネスト)にして、添付ファイル1件ずつを処理します。

活用例2:SharePointリストの全行に処理を実行する

「複数の項目の取得」アクションでSharePointリストのデータを取得し、Apply to eachで各行に対して更新・通知・承認依頼などの処理を実行します。たとえば、ステータスが「未処理」の行だけを抽出して、担当者にTeams通知を送るフローが構築できます。

活用例3:APIリトライ(Do until)

外部APIにリクエストを送信し、成功レスポンスが返るまでDo untilで一定間隔でリトライする処理です。APIの一時的なエラー(タイムアウト、レート制限)に対する耐障害性を確保できます。Do untilブロック内にDelayアクション(待機)を入れて、リトライ間隔を設定するのが一般的です。

活用例4:Excelの全行を処理して集計する

「表内に存在する行を一覧表示」アクションでExcelテーブルの全行を取得し、Apply to eachで各行のデータを読み取り、変数に合計や件数を蓄積する処理です。ループ完了後に集計結果をメールで送信するフローが構築できます。

業務効率化のアイデアをより幅広く検討したい方は、業務効率化アイデア55選の記事もあわせてご確認ください。

\ 業務自動化・DX推進のご相談はネクストスケールへ /
▶ 相談予約はこちら

繰り返し処理を高速化する5つのテクニック

Apply to eachの処理が遅いと感じた場合は、以下のテクニックでパフォーマンスを改善できます。

テクニック1:コンカレンシー制御(並列処理)を有効にする

Apply to eachの設定で「コンカレンシー制御」をオンにすると、ループ内の処理を複数同時に実行できます。デフォルトでは逐次処理(1件ずつ)ですが、並列処理を有効にすると処理速度が大幅に向上します。

設定方法は、Apply to eachの右上の「…」(メニュー)→「設定」→「コンカレンシー制御」をオンにし、並列処理の次数(同時に処理する件数)を指定します。次数を大きくするほど速くなりますが、API呼び出しを含む処理ではレート制限に注意してください。

注意:並列処理を有効にすると、処理の実行順序が保証されなくなります。順序に依存する処理(カウンター変数の加算など)では、並列処理を使用しないでください。

テクニック2:ループ内のアクション数を最小限にする

ループ内のアクション数が多いほど、1回のループにかかる時間が増加します。不要なアクションを削除し、条件分岐で処理をスキップできる場合は早めに分岐して無駄な処理を避けましょう。

テクニック3:データ操作アクションでループを減らす

「フィルター配列」「選択」「結合」などのデータ操作アクションを使えば、Apply to eachを使わずに配列の加工が可能です。たとえば、配列からステータスが「完了」のアイテムだけを抽出する処理は、「フィルター配列」アクションで1アクションで完了します。

テクニック4:取得するデータを事前に絞り込む

SharePointやExcelからデータを取得する際に、フィルタークエリやOData式で必要なデータだけを取得することで、ループの回数を減らせます。全件取得してからApply to eachで条件判定するよりも、データソース側で絞り込むほうが効率的です。

テクニック5:子フローに処理を分割する

ループ内の処理が複雑で長い場合は、子フロー(サブフロー)に処理を切り出すことで、フローの見通しがよくなり、メンテナンスもしやすくなります。子フローはHTTPリクエストやPower Automateの「子フローの実行」アクションで呼び出せます。

システム開発の外注やAI活用については、システム開発の外注とはの記事や、ネクストスケールのAIコンサル・AX伴走支援のサービスもご活用ください。

\ 業務自動化・DX推進のご相談はネクストスケールへ /
▶ 資料請求はこちら

まとめ

Power Automateの繰り返し処理は、配列の各要素を処理する「Apply to each」と、条件が満たされるまで繰り返す「Do until」の2種類があります。Apply to eachはメール一覧やSharePointリストの処理に、Do untilはAPIリトライや条件待機に適しています。

処理速度が遅い場合は、コンカレンシー制御(並列処理)を有効にすることで大幅に高速化できます。ただし、並列処理では実行順序が保証されない点に注意してください。また、データ操作アクションでループ自体を減らす、取得データを事前に絞り込むといった設計上の工夫も重要です。

繰り返し処理はPower Automateのフローを強力にする中核的な機能です。まずはApply to eachの基本的な使い方から始め、並列処理やDo untilの活用へとステップアップしていきましょう。

AIコンサル・AX伴走支援サービスご紹介資料

社外AI役員サービスご紹介資料
  • サービス資料のページ例:社外AI役員とは
  • サービス資料のページ例:AI活用による企業変革の支援内容

この資料でこんなことがわかります!

  • 社外AI役員とは
  • 支援内容
  • 導入の進め方
  • 導入実績・効果

\3ステップで簡単入力/

この記事の監修者

石丸真平

石丸真平

株式会社ネクストスケール 代表取締役

株式会社ネクストスケールの代表。「AI時代に勝てる企業組織を共に創る」を掲げ、法人向けの生成AI研修とAX(AIによる企業変革)の伴走支援を手がける。経営課題の整理からAI活用領域の設計、ツール選定、業務への組み込み、社内定着、ROI測定までを一気通貫で支援。単なる効率化ではなく、経営戦略としてAIを活かす視点での支援を得意とする。Xでは「本当に仕事で使えるAI」をテーマに、実務で使えるノウハウを発信している。
この記事をシェアする
  • URLをコピーしました!

関連事例

他の成功事例を見る
目次

AI活用を経営成果につなげる
実践ヒントがわかる資料

社外AI役員の支援内容や導入の進め方を、わかりやすくご紹介します。

  1. 資料表紙

必要事項をご入力ください

フォームを読み込んでいます…