Power Automate DesktopでExcelのデータを1行ずつループ処理!For Eachアクション解説
- URLをコピーしました!
「Excelの一覧データを1件ずつ処理できたらいいのに…」「伝票や帳票に、データを自動で転記したい!」
そんな願いを無料で叶えてくれるツールが、**Power Automate Desktop(PAD)です。この記事では、PADの中でも超重要なアクション「For Each(フォーイーチ)」**を使って、Excelのデータを1行ずつ処理する手順を実際の画面操作をイメージしながら詳しく解説します!
目次For Eachアクションとは?
For Eachアクションとは、リストや表(=データテーブル)など、複数のデータを1件ずつ繰り返し処理できるアクションです。
例えば、こんなExcelデータがあるとします:
店舗コード店舗名地域001イエローマート新宿東京002グリーンフーズ大阪大阪003レッドフラワー京都京都このデータを1行ずつ読み込み、メッセージで表示する例を通して、使い方を解説します。
実際の操作ステップ:Excelの全データを1行ずつ表示してみよう
目的「店舗マスター」シートのデータを1行ずつ表示する。
Step 1. Excelから範囲を読み取るまずはExcelファイルを読み込みます。
- 「Excelの起動」アクションを追加
- Excelファイルのパスを指定して、ファイルを開きます。
- 「Excelワークシートから範囲を読み取り」アクションを追加
- 範囲指定:A2:C4(ヘッダーなしのデータ部分)
- 結果保存先変数:dt_StoreList(データテーブル型)
補足:ヘッダー(列名)も含めたい場合は、範囲をA1からにすればOK。
Step 2. For Eachアクションで1行ずつ処理次に、読み込んだデータをループ処理します。
- 「For Each」アクションを追加
- 処理対象の値:%dt_StoreList%
- カレントアイテム変数:CurrentRow(※自動で設定される)
- For Each内に**「メッセージを表示」アクション**を追加
- メッセージ:店舗名:%CurrentRow[1]%
- これは、2列目(インデックス1)にある「店舗名」を表示する指定です。
配列は0から始まるので、CurrentRow[0] → 店舗コード、CurrentRow[1] → 店舗名、CurrentRow[2] → 地域 です。
Step 3. 実行して確認!フローを保存して実行すると、次のように表示されます:
メッセージ1:店舗名:イエローマート新宿 メッセージ2:店舗名:グリーンフーズ大阪 メッセージ3:店舗名:レッドフラワー京都データの件数が増えても、自動で1行ずつ処理されます!
応用編:伝票テンプレートに1件ずつ転記したい
目的上のようなデータを1行ずつ、テンプレートExcelに転記していき、1件ずつ印刷やPDF保存する処理へ応用可能。
転記の基本構成(例)- Excelテンプレート(伝票.xlsx)を開く
- CurrentRow[0]~CurrentRow[2]の値を指定セルに書き込む
- A2:店舗コード
- B2:店舗名
- C2:地域
- 「名前を付けて保存」やPDF化アクションで個別保存
- 次のループへ
このようにFor Eachを軸に組むことで、「1件ずつテンプレートに転記→保存→繰り返し」という業務も簡単に自動化できます!
エラーになりやすいポイント
よくあるミス対処法データテーブルが空範囲指定が間違っていないか確認(ヘッダー行含めない)CurrentRow[1]が空白列数・順番がExcelと一致しているか確認Excelが開かないファイルパスのミス or Excelが既に開いている可能性よくある質問(FAQ)
Q1. 1行のデータを個別に扱いたいときはどうすれば?A. CurrentRow[0], CurrentRow[1] のようにインデックス指定で取り出して変数に入れると便利です。個別操作しやすくなります。
Q2. データが50行あっても大丈夫?A. 問題ありません。For Eachは行数に応じて自動で繰り返します。100行でも1000行でも同じフローで処理可能です。
Q3. 空白行があるとどうなりますか?A. 空白行もCurrentRowとして扱われます。必要であればIfアクションで空白チェックを入れてください。
Power Automate for desktopとは? Excel よかったらシェアしてね!- URLをコピーしました!
- 【実例つき】Power Automate DesktopのアクションでExcelを操作する方法
- Power Automate Desktopで受注数量5以上だけを別ファイルに自動転記する方法