Power Automate DesktopでExcelを操作する方法|開く・読み取る・書き込む・保存して閉じるまで

Power Automate Desktop(PAD)を使うと、Excelのファイルを開いて、表を読み取り、セルに書き込んで、保存して閉じるところまでを自動にできます。この記事では、Windows 11で実際に小さな売上表を使って試した手順と、既定のままだとつまずく設定を紹介します。
- Power Automate DesktopでExcelの表を読み取りたい
- 決まったセルに値や数式を書き込みたい
- フローを実行したのにExcelに結果が保存されていなかった

先に結論|使うアクションは4つ
| 順番 | アクション | つまずきやすい既定値 |
|---|---|---|
| 1 | Excel の起動 | 既定は「空のドキュメントを使用」。既存のファイルは「次のドキュメントを開く」に変える |
| 2 | Excel ワークシートから読み取る | 「範囲の最初の行に列名が含まれています」がオフ。見出しのある表ならオンにする |
| 3 | Excel ワークシートに書き込む | 列は D のように英字で指定できる。= で始まる値は数式として入る |
| 4 | Excel を閉じる | 既定は「ドキュメントを保存しない」。保存するなら「ドキュメントを保存」に変える |
確認した環境:Windows 11 Home 26H2、Power Automate Desktop 11.2610.155.0、Microsoft 365 のExcel(デスクトップ版)。
試した表とフロー
C:\Users\Public\PADテスト\売上テスト.xlsx に、次の小さな表を用意しました。
| A | B | C | |
|---|---|---|---|
| 1 | 商品名 | 数量 | 単価 |
| 2 | りんご | 3 | 120 |
| 3 | みかん | 5 | 80 |
| 4 | バナナ | 2 | 150 |
この表を読み取り、D列に「金額」の見出しと数式を書き込んで、保存して閉じるフローを作ります。完成したフローは次のとおりです。

手順1:Excel の起動で既存のファイルを開く
アクションの一覧の検索欄に「Excel の起動」と入れると、「Excel」の下に見つかります。

設定画面の「Excel の起動」は、最初は「空のドキュメントを使用」になっています。既存のファイルを使うときは「次のドキュメントを開く」に変えます。

「次のドキュメントを開く」にすると「ドキュメント パス」と「読み取り専用として開く」が増えます。ドキュメント パスにファイルの場所を入れます。

開いたExcelは、生成された変数 ExcelInstance として、このあとのアクションで使います。
手順2:Excel ワークシートから読み取る
「Excel ワークシートから読み取る」を置くと、「Excel インスタンス」に %ExcelInstance% が自動で入ります。「取得」で読み取る範囲を選びます。

| 取得の選択肢 | 読み取るもの |
|---|---|
| 単一セルの値(既定) | 1つのセル(先頭列・先頭行で指定) |
| セル範囲の値 | 指定した範囲 |
| 選択範囲の値 | Excelで選択している範囲 |
| ワークシートに含まれる使用可能なすべての値 | データが入っている範囲すべて |
| 名前付きセルの値 | 名前を付けた範囲 |
今回は表全体を読むので「ワークシートに含まれる使用可能なすべての値」にしました。
見出しのある表は「範囲の最初の行に列名が含まれています」をオンにする
「詳細」を開くと、「範囲の最初の行に列名が含まれています」があり、最初はオフです。1行目が見出しの表なら、オンにします。

オンにして実行すると、読み取った結果の変数 ExcelData は「3 行, 3 列」のデータテーブルになりました。

[表示]で中身を見ると、1行目の「商品名・数量・単価」が列名になり、データは3行です。行の番号は0から始まります(りんごが0行目)。

手順3:Excel ワークシートに書き込む
「Excel ワークシートに書き込む」では、「書き込む値」・「書き込みモード」(既定は「指定したセル上」)・「列」・「行」を指定します。列は D のように英字で入れられました。

このアクションをもう1つ置き(既存のアクションを選んでCtrl+C → Ctrl+Vで複製すると早いです)、D2に =B2*C2 を書き込むようにしました。

手順4:Excel を閉じるで保存する
最後に「Excel を閉じる」を置きます。「Excel を閉じる前」は最初「ドキュメントを保存しない」になっているので、書き込んだ内容を残したいときは「ドキュメントを保存」に変えます。

実行した結果
フローを実行してからファイルを開くと、D1に「金額」、D2に数式 =B2*C2 が入り、360と表示されていました。= で始まる値は、文字ではなく数式として書き込まれます。

D3・D4にも同じ数式を入れたい場合は、行の番号を変えた書き込みを足すか、読み取った ExcelData の行数だけ繰り返す「For each」と組み合わせます。
うまくいかないとき
| 症状 | 確認すること |
|---|---|
| 書き込んだのにファイルが変わっていない | 「Excel を閉じる」の「Excel を閉じる前」が「ドキュメントを保存しない」のままになっていないか |
| 見出しの「商品名」がデータに入ってしまう | 「詳細」の「範囲の最初の行に列名が含まれています」をオンにしたか |
| 空のExcelが開いてしまう | 「Excel の起動」が「空のドキュメントを使用」のままになっていないか |
| Excel インスタンスが空でエラーになる | アクションを「Excel の起動」より上に置いていないか。一覧からのドラッグで思った位置に入らないときは、一覧の項目をダブルクリックするとフローの最後に追加された |
よくある質問
- Excelを開かずに読み書きできますか?
「Excel の起動」の「インスタンスを表示する」をオフにすると、Excelの画面を表示せずに動かせます(この記事ではオンのまま試しました)。
- 読み取った表の行番号はいくつから始まりますか?
0から始まりました。1行目のデータ(りんご)が0行目です。
- 列は数字で指定しないといけませんか?
「Excel ワークシートに書き込む」の「列」には、D のように英字を入れて書き込めました。
まとめ
- Excelの自動化は起動 → 読み取り → 書き込み → 閉じるの4つのアクション
- 既存のファイルは「Excel の起動」を「次のドキュメントを開く」にする
- 見出しのある表は「範囲の最初の行に列名が含まれています」をオン(既定はオフ)
=で始まる値は数式として入る- 「Excel を閉じる」は既定が「ドキュメントを保存しない」。保存するなら変える
クラウド版のPower Automateで、OneDriveやSharePointのExcelの行を追加・取得する方法はこちらです。

ExcelのファイルをCSVに自動で変換する方法も紹介しています。






