MicrosoftのPower Automateは、日々の業務を自動化するための非常に強力なツールです。中でも「繰り返し(ループ)」のアクションは、同じ作業を複数回実行したい場面で欠かせません。例えば、Excelの行ごとの処理、フォルダ内のファイルに対する操作、あるいはAPIからの複数データの取得など、繰り返し処理を活用することで業務を大幅に効率化できます。
本記事では、Power Automateにおける繰り返し処理の基本から応用的な活用法まで、実例を交えて詳しく解説します。初心者の方でも理解しやすいよう丁寧に解説していきますので、ぜひ最後までご覧ください。
Power Automateにおける繰り返し処理とは?
Power Automateの「繰り返し処理」は、あるアクションを複数回実行するための仕組みです。いわゆる「ループ」と呼ばれるもので、以下のような場面で活用されます。
- Excelの各行に対して処理を行う
- SharePointの複数アイテムに対して操作する
- 指定回数だけ処理を繰り返す
- 条件に応じて繰り返し処理を継続する
繰り返し処理の代表的なアクションには、次の3つがあります。
- 「Apply to each(各項目に適用)」
- 「Do until(条件に達するまで繰り返す)」
- 「Until(条件まで繰り返す)」※プレミアム機能
それぞれの特徴と使い方を次のセクションで解説していきます。
「Apply to each(各項目に適用)」の使い方
「Apply to each」は、リストや配列など複数のデータを1件ずつ処理するためのアクションです。もっとも一般的に使用される繰り返し処理のひとつです。
基本の使い方
たとえばExcel Onlineの「表内の行を一覧表示」アクションで得たデータは配列になっており、それを「Apply to each」で1行ずつ処理する形になります。
- フロー内で「Apply to each」を追加
- 「配列の値(例:value)」を入力
- 繰り返したいアクション(例:メール送信、ファイル移動など)をブロック内に追加
注意点
- Apply to eachは自動で挿入される場合があります。
フロー作成中に動的な値を使うと、Power Automateが自動で「Apply to each」を挿入します。 - 中で使用する変数やスコープに注意。
各ループごとの処理で別の値を使いたい場合、変数のスコープ(グローバル/ローカル)を理解しておくことが重要です。
「Do until(条件に達するまで繰り返す)」の使い方
「Do until」は、ある条件が「真(true)」になるまで処理を繰り返すループです。
使いどころの例
- APIなどから条件を満たすレスポンスが返ってくるまでリトライする
- 指定した変数が一定の値に達するまで待つ
基本構成
- 「Do until」アクションを追加
- 終了条件を設定(例:変数
count
が10になったら終了) - ループ内に処理を記述
- 必要に応じて、遅延(Delay)やループ回数制限を設定
実装例
Do until → 変数 count が 10 以上
- HTTPでデータ取得
- 条件に合わなければ Delay(5分)
- count = count + 1
このように、外部の処理を待つようなケースに非常に便利です。
応用:Excelデータの行ごとにメール送信するフロー
ここでは、実際にExcelに登録されたデータの各行を読み取り、それぞれに対して個別のメールを送るフローを構築する例を紹介します。
ステップ1:Excelファイルの準備
- OneDriveやSharePointにExcelをアップロード
- テーブル(表)を作成しておく(列:名前、メールアドレス、メッセージなど)
ステップ2:Power Automateのフロー構築
- トリガーを設定(例:「スケジュールされたフロー」や「手動ボタン」など)
- Excelの「表内の行を一覧表示」アクションを追加
- 「Apply to each」を使って、各行を処理
- 「メールを送信(V2)」を挿入
- 宛先:動的コンテンツから「メールアドレス」
- 件名/本文に「名前」や「メッセージ」列の内容を反映
これで、一括で各人にパーソナライズされたメールを自動送信できます。
トラブルシューティング:よくあるループのエラーと対策
Power Automateで繰り返し処理を行う際、以下のようなエラーが発生することがあります。
エラー1:Apply to each が不要なのに自動で入る
対策:動的コンテンツが配列でなく単一オブジェクトになっているか確認。必要に応じて first()
や items()
を使って明示的に指定する。
エラー2:Do until が永遠に回り続ける
対策:終了条件のロジックを慎重に設定。ループ回数上限
や 遅延時間
を必ず設定しておく。
エラー3:並列処理にならず時間がかかる
対策:「Apply to each」の設定で「並列処理の制御」をオンにすることで高速化が可能。
まとめ:Power Automateのループは業務自動化の鍵
Power Automateでの「繰り返し処理」は、業務の自動化をより強力にするための不可欠な要素です。特に、「Apply to each」や「Do until」は多くの業務で活用できます。繰り返し処理の使い方を理解することで、ExcelやSharePoint、API連携などあらゆるフローに応用が可能です。
初めは慣れが必要ですが、繰り返し処理を習得すれば、より柔軟で高機能なフローが作れるようになります。小さな処理から少しずつ試して、ぜひ業務効率化に役立ててください。