目次
📌 テーマの背景
「Excelに保存されたデータを1件ずつWebシステムに登録したい。でも、毎回行数が違うからうまくいかない…」そんな悩み、ありませんか?
実は、Power Automate Desktop(以下PAD)なら、行数が可変のExcelデータにも柔軟に対応できます!今回はその方法を初めての人でもわかるように丁寧に解説します。
✅ ステップ1:Excelの最終行と最終列を自動で取得する
行数が固定でないExcelを扱う場合、以下のアクションを使うと便利です。
📥 使用アクション
- 「Excelワークシートから最初の空の行/列を取得」
これで、何行・何列目までデータがあるかを自動で判断できます。
🔧 設定方法
- 「Excelの起動」でExcelを開く
- 「最初の空の行を取得」→変数
FirstFreeRowに行数が入る - 「最初の空の列を取得」→変数
FirstFreeColumnに列数が入る - 行数/列数として使う値は
FirstFreeRow - 1とFirstFreeColumn - 1
✅ ステップ2:読み取る範囲を動的に設定
次に、データを読み取る「Excelワークシートから読み取る」アクションの設定です。
📍 設定のポイント
- 範囲の最初の行に列名が含まれています → ✅オン
- 最終行 →
%FirstFreeRow - 1% - 最終列 →
%FirstFreeColumn - 1%
これで、行数が変わっても問題なし!
✅ ステップ3:データを1件ずつ処理するFor Eachアクション
PADでは「データテーブル型変数」を使ってExcelデータを扱います。
読み取ったデータを、For Eachで1行ずつ取り出し、処理していきます。
💡 書き方の例
%CurrentItem['名前']%
このようにすれば、CurrentItem(現在の行)から「名前」列のデータを取得できます。
✅ ステップ4:フォームへの自動入力&ボタンクリック
PADでWebシステムにデータを入力する場合、次のような流れになります。
- ブラウザを起動
- 入力フォームが表示されるのを待つ(「Webページのコンテンツを待機」アクション)
- 「テキストフィールドに入力」アクションで値を入力
- 「Webページのボタンを押す」で登録完了!
🔍 入力アクションの詳細設定チェックポイント
- 「物理的にキー入力」→ ❌ オフ(誤入力防止)
- 「入力後にフォーカス移動」→ ❌ オフ(不要な待機回避)
✅ よくある質問(FAQ)
Q. Excelの行数が少ないとエラーになります…
A. FirstFreeRow - 1で取得した範囲が実際のデータ行を上回っていないか確認しましょう。例えばヘッダーだけでデータが0行の場合も考慮を。
Q. テーブルの列名が「Column1」などになってしまう…
A. 「読み取り」アクションの詳細設定で「範囲の最初の行に列名が含まれる」にチェックを入れましょう。
Q. 入力が遅い・タイムアウトする…
A. 「ページの読み込み待機」アクションを入れて、入力フォームが表示されるまで待つように設定するのがコツです。
🧩 まとめ
| 課題 | 解決方法 |
|---|---|
| 行数が毎回違う | 「最初の空の行/列を取得」で自動化 |
| データの扱い | データテーブル型変数+For Each |
| 入力の安定性 | ページ待機+詳細設定の調整 |
この手順に沿って作れば、行数が毎回変わるExcelでも安定してデータを転記できます。繰り返し作業から解放されたい方、ぜひ試してみてください!
