← 手順一覧へ戻る
Power Automate DesktopExcelよく使う

Excelの表を読み取り、1行ずつ処理する

Excelの見出し付き表を読み込み、各行の先頭列を順番に表示します。

画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。

実行前に確認

  • Windows版ExcelがインストールされたPCで使います。例の C:\PA フォルダーと入力ファイルを先に用意してください。
  • %CurrentRow[0]% の0は、読み取り後のデータテーブルの先頭列を指すインデックスです。Excelシートの行・列番号は1から数えます。先頭行に見出しがない表では「先頭行を列名」を無効にします。

1使うアクション

  1. アクション 1Excel の起動
  2. アクション 2Excel ワークシートから読み取る
  3. アクション 3For each
  4. アクション 4メッセージを表示%CurrentRow[0]% を表示
  5. アクション 5EndFor each の終わり
  6. アクション 6Excel を閉じる

表で見る入力と処理結果

架空データ

氏名が入った表を読み取り、見出しを除いた2人の名前を順番に表示します。

Desktop:Excelブック/ワークシート
C:\PA\名簿.xlsx の、保存時にアクティブにした対象シート

以下は手順に沿った期待値です。実際のPower Automate・Excel環境で実行して確認した結果ではありません。セルや行の着目箇所には「●」を付けています。

読み取り前の表

表示範囲・使用範囲は A1:A3。A1 が見出し、A2:A3 が氏名です。
行A:氏名
1氏名
2● 佐藤
3● 鈴木
↓ 処理する行・列/設定

使用範囲 A1:A3 を %ExcelData% へ読み取り、先頭行を列名として扱います。For each 内では %CurrentRow[0]% を表示します。

期待する表示

Excelへの書き戻しはありません。メッセージを1件ずつ表示します。
処理順元のセル表示する値
1A2● 佐藤
2A3● 鈴木
結果の見方

「佐藤」「鈴木」の順に表示します。元の A1:A3 は変更せず、Excelを保存せずに閉じます。

  • 氏名という見出しは %ExcelData% の列名になるため、繰り返し対象のデータは2行です。
  • %CurrentRow[0]% の 0 はデータ行内の先頭列のインデックスです。Excelのセル位置は A列・1行目のように1から数えます。

図で見る処理のイメージ

概念図

Excelの見出し付き表を読み込み、各行の先頭列を順番に表示します。

  1. 読み取り前

    氏名列:佐藤、鈴木

  2. 1行ずつ

    CurrentRow で現在の行を受け取る

  3. 表示

    佐藤 → 鈴木の順で表示

結果の例

表の各行を個別に扱う基本形ができます。

設定例に沿った成功時の概念図です。実際の画面や実行結果ではなく、成功・配信を保証するものではありません。

設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。

2実際の設定内容

入力する値・操作手順を確認する4ステップの設定と確認方法
  1. 1

    Excel の起動:既存ドキュメント C:\PA\名簿.xlsx を開き、出力を ExcelInstance にします。対象表のシートを保存時にアクティブにしておきます。

  2. 2

    読み取り:Excelインスタンスは %ExcelInstance%、取得は「ワークシートからすべての使用可能な値」。先頭行を列名として扱い、出力を ExcelData にします。

  3. 3

    For each:反復処理する値を %ExcelData%、現在の項目を CurrentRow にします。内側のメッセージへ %CurrentRow[0]% を入れます。

  4. 4

    End の後で %ExcelInstance% を「ドキュメントを保存しない」で閉じます。

Microsoft公式ページで確認する

設定を確認できる公式資料