自動化
PR

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

sanane
記事内に商品プロモーションを含む場合があります

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

こんな人にオススメ
  • Power Automate DesktopでExcelの表を読み取りたい
  • 決まったセルに値や数式を書き込みたい
  • フローを実行したのにExcelに結果が保存されていなかった
あわせて読みたい
Power Automateとは?できること・使い方・始め方を実例53本で解説
Power Automateとは?できること・使い方・始め方を実例53本で解説

先に結論|使うアクションは4つ

順番アクションつまずきやすい既定値
1Excel の起動既定は「空のドキュメントを使用」。既存のファイルは「次のドキュメントを開く」に変える
2Excel ワークシートから読み取る「範囲の最初の行に列名が含まれています」がオフ。見出しのある表ならオンにする
3Excel ワークシートに書き込む列は D のように英字で指定できる。= で始まる値は数式として入る
4Excel を閉じる既定は「ドキュメントを保存しない」。保存するなら「ドキュメントを保存」に変える

確認した環境:Windows 11 Home 26H2、Power Automate Desktop 11.2610.155.0、Microsoft 365 のExcel(デスクトップ版)。

試した表とフロー

C:\Users\Public\PADテスト\売上テスト.xlsx に、次の小さな表を用意しました。

ABC
1商品名数量単価
2りんご3120
3みかん580
4バナナ2150

この表を読み取り、D列に「金額」の見出しと数式を書き込んで、保存して閉じるフローを作ります。完成したフローは次のとおりです。

Excelの起動、Excelワークシートから読み取る、Excelワークシートに書き込む2つ、Excelを閉じるの5つのアクションのフロー

手順1:Excel の起動で既存のファイルを開く

アクションの一覧の検索欄に「Excel の起動」と入れると、「Excel」の下に見つかります。

アクションの検索でExcel の起動と入力すると、Excelの下にExcel の起動が表示される

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

Excel の起動の設定画面。Excel の起動の選択肢は空のドキュメントを使用と次のドキュメントを開く

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

次のドキュメントを開くを選び、ドキュメント パスに C:\Users\Public\PADテスト\売上テスト.xlsx を入れた画面。インスタンスを表示するはオン、読み取り専用として開くはオフ

開いたExcelは、生成された変数 ExcelInstance として、このあとのアクションで使います。

手順2:Excel ワークシートから読み取る

「Excel ワークシートから読み取る」を置くと、「Excel インスタンス」に %ExcelInstance% が自動で入ります。「取得」で読み取る範囲を選びます。

Excel ワークシートから読み取るの取得の選択肢。単一セルの値、セル範囲の値、選択範囲の値、ワークシートに含まれる使用可能なすべての値、名前付きセルの値
取得の選択肢読み取るもの
単一セルの値(既定)1つのセル(先頭列・先頭行で指定)
セル範囲の値指定した範囲
選択範囲の値Excelで選択している範囲
ワークシートに含まれる使用可能なすべての値データが入っている範囲すべて
名前付きセルの値名前を付けた範囲

今回は表全体を読むので「ワークシートに含まれる使用可能なすべての値」にしました。

見出しのある表は「範囲の最初の行に列名が含まれています」をオンにする

「詳細」を開くと、「範囲の最初の行に列名が含まれています」があり、最初はオフです。1行目が見出しの表なら、オンにします。

詳細の範囲の最初の行に列名が含まれていますは既定でオフ、オンにすると1行目を列名として読み取る比較

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

変数ExcelDataの既定のデータ型はデータテーブル、変数の値は3行, 3列

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

ExcelDataの中身。列名は商品名、数量、単価で、0行目りんご 3 120、1行目みかん 5 80、2行目バナナ 2 150

オフのまま読んだ場合は、見出しの行もデータの1行目として読み取られる想定です(この記事ではオフの結果は試していません)。

手順3:Excel ワークシートに書き込む

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

Excel ワークシートに書き込むの設定。書き込む値は金額、書き込みモードは指定したセル上、列はD、行は1

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

書き込む値に =B2*C2、列にD、行に2を入れた画面

手順4:Excel を閉じるで保存する

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

Excel を閉じるのExcel を閉じる前の選択肢。ドキュメントを保存しない、ドキュメントを保存、名前を付けてドキュメントを保存

既定の「ドキュメントを保存しない」のままだと、フローが最後まで動いても、書き込んだ内容はファイルに残りません。

実行した結果

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

保存後のExcel。D1に金額、D2のセルは数式 =B2*C2 で、表示は360

D3・D4にも同じ数式を入れたい場合は、行の番号を変えた書き込みを足すか、読み取った ExcelData の行数だけ繰り返す「For each」と組み合わせます。

うまくいかないとき

症状確認すること
書き込んだのにファイルが変わっていない「Excel を閉じる」の「Excel を閉じる前」が「ドキュメントを保存しない」のままになっていないか
見出しの「商品名」がデータに入ってしまう「詳細」の「範囲の最初の行に列名が含まれています」をオンにしたか
空のExcelが開いてしまう「Excel の起動」が「空のドキュメントを使用」のままになっていないか
Excel インスタンスが空でエラーになるアクションを「Excel の起動」より上に置いていないか。一覧からのドラッグで思った位置に入らないときは、一覧の項目をダブルクリックするとフローの最後に追加された

よくある質問

Q
Excelを開かずに読み書きできますか?

「Excel の起動」の「インスタンスを表示する」をオフにすると、Excelの画面を表示せずに動かせます(この記事ではオンのまま試しました)。

Q
読み取った表の行番号はいくつから始まりますか?

0から始まりました。1行目のデータ(りんご)が0行目です。

Q
列は数字で指定しないといけませんか?

「Excel ワークシートに書き込む」の「列」には、D のように英字を入れて書き込めました。

まとめ

  • Excelの自動化は起動 → 読み取り → 書き込み → 閉じるの4つのアクション
  • 既存のファイルは「Excel の起動」を「次のドキュメントを開く」にする
  • 見出しのある表は「範囲の最初の行に列名が含まれています」をオン(既定はオフ)
  • = で始まる値は数式として入る
  • 「Excel を閉じる」は既定が「ドキュメントを保存しない」。保存するなら変える

クラウド版のPower Automateで、OneDriveやSharePointのExcelの行を追加・取得する方法はこちらです。

あわせて読みたい
Power AutomateでExcelの行を追加・取得・更新する方法|テーブル必須の理由と256行制限も解説
Power AutomateでExcelの行を追加・取得・更新する方法|テーブル必須の理由と256行制限も解説

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

あわせて読みたい
Power Automateで ExcelをCSVに自動変換する方法|「CSVテーブルの作成」開設
Power Automateで ExcelをCSVに自動変換する方法|「CSVテーブルの作成」開設
記事URLをコピーしました