Power Automate Desktopで行数が変わるExcelデータを自動で読み取る方法

  • URLをコピーしました!

Power Automate Desktop(以下、PAD)でExcelデータを自動処理していると、
「データの行数が毎回違う…」
「最終行を自動で認識して読み取りたい」
という悩みを持つ方は多いです。

この記事では、Microsoft公式チャンネルでも紹介されている
「行数が変わるExcelデータを自動で読み取る」フロー構築方法 を、手順付きでわかりやすく解説します。


目次

🎯この記事でできること

  • Excelの最終行を自動で取得できる
  • 行数が変わっても正しくデータを読み込める
  • 保存せずにExcelを閉じる安全なフローが作れる

🧱 完成イメージ

実行ボタンを押すと、

  • 練習用Excelファイルが自動で開き、
  • 指定列(例:B列)を基準に最終行を検出し、
  • 必要な範囲のデータのみを変数に格納します。

つまり、毎回データの長さが違っても、正確に最終行まで取得できるようになります。


🧩 手順① 新しいフローを作成

  1. Power Automate Desktopを起動
  2. 左上の「新しいフロー」をクリック
  3. フロー名に「Excel_自動読み取り」など、わかりやすい名前を入力

これで新規フローの準備ができました。


⚙️ 手順② Excelを起動する

  1. 左パネルから「Excelの起動」アクションをドラッグ
  2. プロパティを次のように設定します:
項目設定内容
Excelの起動モード既存のファイルを開く
ファイルパス対象のExcelファイル(例:C:\data\sample.xlsx)
読み取り専用で開く✅ チェック(編集不要な場合)

💡 ポイント
読み取り専用で開くことで、誤ってファイル内容を書き換えるリスクを防げます。


📄 手順③ アクティブなワークシートを設定

  • アクティブなExcelワークシートの設定」を追加
  • 「シート名」に「Data」など対象のシート名を入力

これで、正しいシートを対象に操作できるようになります。


🔍 手順④ 指定列の最終行を自動で取得

ここが最大のポイントです!

  1. Excelワークシートから列における最初の空の行を取得」アクションを追加
  2. 次のように設定します:
項目設定内容
対象列B(データの入っている列)
出力変数名行の空白データ(例:%Row_Blank%)

このアクションで、「B列の一番下のデータの次の行番号」が自動的に取得されます。

つまり、
B列に8行目までデータが入っている場合 → 9が変数に入ります。


🧮 手順⑤ 最終行をもとにデータ範囲を指定

次に、Excelのデータ範囲を自動で設定します。

  1. Excelワークシートから読み取る」アクションを追加
  2. 以下のように範囲を指定します:
項目入力内容
先頭セルB5(データ開始位置)
最終セルE[%Row_Blank%-1](取得した変数から1を引く)

例:変数が「9」なら → E8 まで読み取る

  1. 「最初の行に列名が含まれている」にチェック
  2. 出力変数を「データ」などに変更(例:%ExcelData%)

💾 手順⑥ Excelを閉じる

  • Excelを閉じる」アクションを追加
  • 「変更を保存せずに閉じる」を選択

これでファイルを汚さずに安全に終了できます。


▶ 手順⑦ フローを実行して確認!

実行すると:

  • Excelが自動で開き、
  • 最終行を自動判定して、
  • データが変数 %ExcelData% に格納されます。

テーブル形式でデータが確認できれば成功です🎉


🧠 補足:複数シートを処理する場合

動画でも紹介されていたように、
1枚のシートだけでなく複数のシートを読み取りたい場合は、次のようにします。

  1. 「アクティブなワークシートの設定」と「ワークシートから読み取る」アクションをコピー
  2. シート名を変更して貼り付け
  3. 最後に「Excelを閉じる」を1番下に移動

これで、複数シートを順番に処理できます。


⚠️ 注意点(動画のコメントより)

  • 最終行判定列(B列)より下にコメントやメモを入力すると、誤ってそこまで読み取ってしまうことがあります。
    👉 運用時は、データ範囲外に余計な記述をしないよう注意!

💬 よくある質問(FAQ)

Q1. 列をB以外に変えたい場合は?
A. 「列における最初の空の行を取得」アクションの列指定を「C」「D」などに変更すればOKです。

Q2. 行数が増えても対応できますか?
A. はい。変数で最終行を動的に取得しているため、行数が変動しても正確に範囲を認識します。

Q3. 読み取り結果がずれる場合は?
A. 見出し行の有無を確認し、「最初の行に列名を含む」にチェックを入れてください。


📋 まとめ:行数が変わるExcelを自動で読み取る流れ

ステップアクション内容
1Excelを起動ファイルを開く
2ワークシート設定対象シートを指定
3最初の空の行を取得最終行+1を検出
4データを読み取る範囲を動的に指定
5Excelを閉じる保存せずに終了

この構成で、行数が変わるExcelでも安定して読み取れるフローが完成します。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次