Notesへ戻る
Power Platformメモ
Power AutomateでExcelを操作する基本(OneDrive活用)
Power AutomateでOneDrive上のExcelファイルを読み込んだり行を追加したりする基本的な使い方を整理したメモです。
Power AutomateでExcelを操作する基本(OneDrive活用)
この記事の位置づけ
この記事は、Power Automateの初学者向け技術メモです。フローの動作は環境・コネクタ・バージョンによって変わることがあります。
実際のフローで動作を確認してください。
ざっくり言うと
Power AutomateでExcelを操作するには、Excel Online(Business)コネクタを使います。
ただし、操作対象のExcelファイルには事前にテーブルが設定されている必要があります。テーブルになっていないセル範囲は読み書きできません。
事前準備:Excelのテーブル設定
- Excelファイルを開く
- データが入っている範囲を選択
- 「挿入」→「テーブル」→OKをクリック
- テーブルに名前をつける(例:
申請データ)
テーブルの名前はPower Automateから指定するので、わかりやすい名前にしておきます。
主なExcel Online アクション
| アクション名 | 内容 |
|---|---|
| テーブルに行を追加する | 新しい行をテーブルに追加する |
| テーブルの行を一覧表示する | テーブルの全行(またはフィルタ後の行)を取得する |
| テーブルの行を取得する | キー列の値で1行を取得する |
| テーブルの行を更新する | 指定した行の値を更新する |
| テーブルの行を削除する | 指定した行を削除する |
テーブルに行を追加する
設定の流れ
- 「新しいステップ」→「Excel Online(Business)」→「テーブルに行を追加する」を選択
- 場所: OneDrive for Business(または SharePoint)
- ドキュメントライブラリ: OneDrive(または SharePointのライブラリ名)
- ファイル: 対象のExcelファイルを選択
- テーブル: 追加先のテーブル名を選択
- 各列の値を入力する
注意点
テーブルの列名と入力内容が一致している必要があります。列が追加・削除・名前変更された場合はフローの設定も更新が必要です。
テーブルの行を一覧表示する
設定の流れ
- 「テーブルの行を一覧表示する」を選択
- ファイルとテーブルを指定する
- 「フィルタークエリ」で絞り込みができる(例:
ステータス eq '未処理')
行の使い方
一覧表示の出力は配列になるため、Apply to eachと組み合わせて1行ずつ処理することが多いです。
SharePointリストと同様に、Apply to eachが自動挿入される場合があります。
Excelコネクタの制限の入口
| 制限 | 内容 |
|---|---|
| テーブルが必須 | テーブルになっていない範囲は操作不可 |
| ファイルが開いていると操作できないことがある | Excelで開いたまま操作するとエラーが出る場合がある |
| 大量データは遅い | 件数が多いと処理が遅くなる。SharePointリストの方が向く |
| Delegation非対応 | Power Appsからのアクセスでは大量件数に注意 |
SharePointリストとの使い分けの入口
| 状況 | 向いている選択 |
|---|---|
| 既存のExcelをそのまま使いたい | Excel(テーブル設定必要) |
| 新しく管理ツールを作る | SharePointリスト |
| 件数が増える可能性がある | SharePointリスト |
| Excelの数式・グラフを使いたい | Excel |
注意点
ExcelファイルはOneDriveまたはSharePointに保存されている必要があります。ローカルPC上のExcelには直接アクセスできません。
また、複数人が同時にExcelを開いている状態でPower Automateが書き込むと、競合エラーが起きることがあります。
重要なデータ管理には、SharePointリストかDataverseを使う方が安定して運用しやすい場面が多いです。