Power Automate Power Automate × Excel

【Power Automate】Excel転記をループ処理で自動化する方法|繰り返し作業を効率化

Excelで同じ転記作業を何度も繰り返していませんか?
たとえば「一覧データを1行ずつ別シートに転記」「複数ファイルの内容を順番に集約」といった作業は、手動では時間がかかりミスも起きやすい業務の代表例です。

そんな繰り返し処理を自動化できるのが、Power Automateのループ(繰り返し)機能です。
この記事では、「Power AutomateでExcel転記をループ処理で実現する方法」を中心に、
クラウド版とPower Automate Desktop(PAD)両方の実装例を交えながら詳しく解説します。

目次

✅ Power Automateでループを使ったExcel転記を行うメリット

Power AutomateでExcel転記をループ処理として自動化すると、次のような効果があります。

・大量データの転記を一括処理できる

100件でも1000件でも、ループを使えばすべてのデータを自動で順番に処理可能。
従来1件ずつコピーペーストしていた作業を、わずか数分で完了できます。

・条件に応じた柔軟な分岐が可能

ループ内で条件式(If)を組み合わせることで、「指定条件を満たす行だけ転記」など、
業務に応じた細かい判定処理も実現できます。

・定期処理に組み込みやすい

スケジュール実行と組み合わせれば、毎日・毎週など定期的なExcel更新を完全自動化できます。
「夜間にループで転記→朝には最新データが完成」という仕組みも簡単に構築可能です。


✅ Power Automateにおけるループ処理の基本構造

Power Automateでは、ループ処理を行うために主に次のアクションを使います。

  • Apply to each(各要素に適用):データの配列や行を1件ずつ順番に処理する。
  • Do Until(条件を満たすまで繰り返す):特定の条件が成立するまでループを継続する。

Excel転記の場面では、**「Apply to each」**を使うケースが圧倒的に多くなります。

構成イメージは以下のとおりです。

  1. Excelファイルから全行データを取得する
  2. ループで1行ずつ読み取り
  3. 条件判定を行う(必要に応じて)
  4. 転記先Excelに書き込む

この流れを理解しておけば、あらゆる自動転記処理に応用できます。


✅ Power Automate(クラウド版)でループ転記を行う方法

クラウド版のPower Automateでは、Excel Online(Business)コネクタを利用してExcelファイルを操作します。
特にOneDriveやSharePoint上のExcelファイルを対象とする場合に最適です。

・ステップ1:転記元Excelの準備

  1. OneDrive上に「元データ.xlsx」を配置。
  2. 転記したい範囲を選択し、「テーブルとして書式設定」を実行。
  3. テーブル名を「SourceTable」に設定します。

テーブル化しておくことで、Power Automateが各行を認識しやすくなります。

・ステップ2:転記先Excelの準備

転記先となるExcelファイルも同様に、テーブルとして設定しておきます。
例:テーブル名を「TargetTable」にしておくとわかりやすいです。

・ステップ3:フローの作成とトリガー設定

  1. Power Automateポータルから「自動クラウドフロー」を新規作成。
  2. トリガーは「スケジュール」「手動実行」「ファイル更新時」など、業務に合わせて設定します。

・ステップ4:「テーブル内の行を一覧表示」でデータを取得

  1. 「Excel Online(Business)」の「テーブル内の行を一覧表示」を追加。
  2. 元データファイルとテーブル名(SourceTable)を指定します。
  3. このアクションが、ループの基礎となる配列データを生成します。

・ステップ5:「Apply to each」でループ処理を構築

  1. 「Apply to each」アクションを追加し、出力の「value」を対象に設定します。
  2. ループ内に「Excel Online(Business)」の「行を追加」アクションを配置します。
  3. 「行を追加」で、転記先ファイル・テーブルを指定し、対応する列に値をマッピングします。

例:

  • 元データの「顧客名」→転記先の「顧客名」
  • 元データの「金額」→転記先の「売上」

これで1行ずつループで転記されていきます。

参考:【PAD】Excel各行のセルを読み取る方法

・ステップ6:条件を加える(任意)

ループ内で条件式を追加すれば、
「金額が10万円以上のデータのみ転記」などの抽出も可能です。

例:
@greater(items('Apply_to_each')?['金額'],100000)

この式を「条件」アクションに設定し、
「はい」側の分岐に転記処理を配置すれば完了です。

参考:【Power Automate】Excel転記を条件付きで自動化する方法|効率化と正確性を両立


✅ Power Automate Desktop(PAD)でExcel転記をループ処理する方法

ローカル環境でのExcel操作は、Power Automate Desktopの出番です。
Excelを直接開き、セル操作や書式設定まで自動化できます。

・ステップ1:Excel起動と元データ取得

  1. PADで新しいフローを作成。
  2. 「Excelの起動」アクションを追加してExcelを開く。
  3. 「Excelワークブックを開く」で元データのファイルを指定。
  4. 「範囲から読み取り」アクションでデータを変数(例:dtSource)に格納します。

このdtSourceが、ループの基礎となるデータテーブルです。

・ステップ2:For Eachループで行ごとに処理

  1. 「For Each」アクションを追加し、対象を「%dtSource%」に設定。
  2. 各行のデータを変数(例:CurrentItem)として扱います。
  3. ループ内で必要な列を参照します(例:%CurrentItem[1]% など)。

・ステップ3:転記先Excelの指定と書き込み

  1. ループ内で「Excelワークブックを開く」アクションを追加(または既存インスタンスを利用)。
  2. 「セルに書き込み」または「範囲に書き込み」で、転記内容を指定。
  3. 動的に書き込むセルを制御する場合は、カウンタ変数を用意し、
    「A%Counter%」のようにして行位置を自動増加させます。

・ステップ4:保存と終了

ループ完了後、「Excelを保存」「Excelを閉じる」「Excelの終了」で後処理を行います。
これにより、Excelプロセスが残らず安定した実行が可能です。




✅ 実務でのループ転記の応用例

Power Automateのループ転記は、さまざまな現場で活用できます。
いくつか代表的なシナリオを紹介します。

・例1:複数シートへの自動転記

1つのExcelに複数のシートがあり、各部門のデータをそれぞれに転記するケース。
ループ内で条件式を使い、「部門名=営業部 → 営業シート」「部門名=経理 → 経理シート」と自動分岐できます。

・例2:複数ファイルへの転記

フォルダ内の複数Excelファイルに順番に書き込む。
「フォルダー内のファイル一覧を取得」アクションとループを組み合わせることで、一括処理が可能です。

・例3:日次更新データの自動集約

各担当者が作成した日次ファイルを1つのマスターファイルに自動転記。
ループと条件判定を組み合わせれば、「未入力除外」や「重複防止」も簡単に行えます。


✅ ループ転記がうまく動作しない時の原因と対策

・原因1:Excelが閉じていない(PAD)

ループ内でExcelを開くたびに閉じないと、複数プロセスが残ります。
解決策:ループ終了時または各サイクルの最後に必ず「Excelを閉じる」を追加しましょう。

・原因2:データ形式の不一致

Power Automateは数値と文字列を厳密に区別します。
Excel側のデータ形式が混在していると、比較式がエラーになります。
解決策:Excel内で「テキスト形式」に統一するか、「string()」関数で型変換します。

・原因3:ループ対象の範囲が誤っている

クラウド版の場合、テーブル化されていない範囲は認識されません。
必ず「テーブルとして書式設定」を行っておきましょう。

・原因4:ファイルのロック・競合

他ユーザーが同時にExcelを開いていると、Power Automateが書き込みできません。
実行前にファイルロック確認アクションを追加するのが安全です。


✅ 効率化・安定化のためのベストプラクティス

  1. ループ対象を最小限にする:全行処理ではなく、条件抽出(Filter array)後の配列にループをかける。
  2. 待機アクションを挟む:Excel書き込み後に1秒の待機を入れると安定性が向上。
  3. 変数名を明確にする:「CurrentRow」「TargetFile」など、可読性を重視するとメンテナンス性が上がる。
  4. エラーハンドリングを入れる:「エラー時は次のループへ進む」を設定し、処理停止を防ぐ。
  5. ログ記録を追加する:ループ回数や転記件数を別ファイルに出力しておくと、トラブル時に追跡が容易。

✅ まとめ:ループ転記を使いこなしてPower Automateの真価を引き出そう

  • Power Automateでは、「Apply to each」や「For Each」アクションでExcel転記をループ処理できる。
  • クラウド版はテーブル化+「行を追加」、Desktop版は「範囲読み取り+書き込み」が基本構成。
  • 条件分岐を組み合わせれば、データ抽出・仕分け・複数ファイル転記も自在に実装可能。
  • 安定化には、待機・終了処理・データ型統一・エラー対応の4点が重要。

Power Automateのループを使いこなせば、繰り返し作業のすべてを自動化できます。
単調なExcel転記を「1クリックで完結する仕組み」に変え、あなたの業務時間をもっと価値のある仕事に使いましょう。

-Power Automate, Power Automate × Excel