Power Automate Power Automate × Excel

【Power Automate】Excelのデータを取得する方法|自動化で業務効率を飛躍的に向上させる実践ガイド

多くの企業や個人が日々扱う業務データの中心にあるのが「Excel(エクセル)」です。
売上管理・在庫表・顧客リストなど、さまざまな情報がExcelに蓄積されています。

しかし、データの抽出や集計を手動で行うと、時間がかかるうえにミスの原因にもなります。
そこで注目されているのが、Microsoft Power Automate(パワーオートメイト)を使ってExcelのデータを自動取得する仕組みです。

この記事では、「Power AutomateでExcelのデータを取得する方法」を中心に、クラウド版とデスクトップ版それぞれの使い方、応用事例、安定稼働のコツまでを詳しく解説します。

✅ Power Automateとは?Excel業務を自動化できるツール

Power Automateは、Microsoftが提供する業務自動化(RPA)ツールです。
Excel、Outlook、Teams、SharePointなどMicrosoft 365の各アプリと連携でき、定型的な操作をノーコードで自動化できます。

特にExcelとの組み合わせでは、

  • データの取得
  • 転記
  • 条件判定
  • メール送信
    などの作業を自動化でき、日々の作業時間を大幅に削減します。

✅ Excelデータを取得する2つの方法

Power AutomateでExcelのデータを取得する方法は、大きく次の2種類に分かれます。

方法対応範囲特徴
クラウド版(Excel Online Business)OneDrive・SharePoint上のファイルWeb上で共有しているExcelからデータを取得
Power Automate Desktop(PAD)PCローカルのExcelファイルセル指定・複数範囲・シート操作に対応

クラウド上での共有データを扱うなら「Excel Online(Business)」、
PC上の業務用ファイルを扱うなら「Power Automate Desktop」を使うのが基本です。


✅ クラウド版でExcelデータを取得する方法(Excel Online Business)

クラウド版Power Automateでは、Excel Online(Business)コネクタを使用します。
この方法は、OneDriveやSharePointに保存されたExcelファイルを自動で読み取りたいときに最適です。


・前提:Excelを「テーブル化」しておく

Power AutomateでExcelデータを取得する際、テーブルとして認識されている必要があります。

手順:

  1. Excelファイルを開く
  2. 取得したい範囲を選択
  3. メニューの「挿入」→「テーブル」をクリック
  4. 「テーブル名」を設定(例:SalesTable
  5. 保存して閉じる

これでPower Automateがデータを「行と列」として認識できるようになります。


・手順①:フローを作成

  1. Power Automateのポータルを開く
  2. 「自動化されたクラウドフロー」を選択
  3. トリガーを設定(例:「スケジュール」または「手動で実行」)

・手順②:「テーブル内の行を一覧表示」アクションを追加

  1. 「Excel Online(Business)」を選択
  2. アクションで「テーブル内の行を一覧表示」を追加
  3. ファイルパスとテーブル名を指定

これで、指定したテーブルの全データをPower Automate内に取得できます。


・手順③:データをループで処理

Excelの行データは配列(リスト)として取得されるため、1件ずつ処理する場合はループが必要です。

設定方法:

  1. 「Apply to each」アクションを追加
  2. 入力に「value(テーブル内の行)」を指定
  3. ループ内で列名を参照して値を扱う

例:1行ずつ「氏名」と「金額」をTeamsに通知

氏名: @{items('Apply_to_each')?['名前']}
金額: @{items('Apply_to_each')?['金額']}

このように、Excelの各列を参照しながら処理を自動化できます。


・手順④:条件分岐やフィルターを設定

取得したデータをすべて使うのではなく、特定条件に合う行だけを抽出したい場合は「Filter array」を使用します。

例:「金額が10万円以上のデータだけ抽出」

@greater(items('Apply_to_each')?['金額'], 100000)

条件を満たす行だけ後続の処理(メール送信・書き込みなど)に渡すことが可能です。


・手順⑤:取得データの活用(通知・保存・転記)

クラウドで取得したデータは、他アプリと連携して活用できます。

  • Teamsへの自動通知
  • Outlookメールへの自動送信
  • 別のExcelファイルへの書き込み
  • SharePointリストへの登録

このように、Power Automateを中核に据えた“データ連携の自動パイプライン”が構築できます。


✅ Power Automate DesktopでExcelデータを取得する方法(セル・範囲指定)

ローカルPC上のExcelファイルを直接操作する場合は、Power Automate Desktop(PAD)を使います。
PADは「セル番地(A1、B2)」や「範囲指定(A1:D10)」で正確にデータを取得できるのが特徴です。


・ステップ①:Excelを起動

  1. アクション「Excelの起動」を追加
  2. 「既存のドキュメントを開く」を選択
  3. Excelファイルパスを指定して開く

・ステップ②:セルや範囲を指定して読み取る

単一セルを取得する場合

  1. 「Excelワークシートから読み取り」アクションを追加
  2. 「単一セル」を選択
  3. セルアドレス(例:A2)を指定
  4. 取得値を変数(例:%CellValue%)として保持

範囲を取得する場合

  1. 同アクションで「範囲(例:A1:D20)」を指定
  2. 出力をデータテーブル型変数(例:%ExcelData%)に設定

これにより、表全体をプログラム的に扱うことができます。


・ステップ③:データをループで処理

  1. 「For Each」アクションを追加
  2. 対象に %ExcelData% を指定
  3. 各行データを変数(例:%CurrentItem%)として参照

各列を取得する例:

%CurrentItem[0]% → A列の値  
%CurrentItem[1]% → B列の値  
%CurrentItem[2]% → C列の値

このように、Excelの行データを1件ずつ読み取って処理を進められます。


・ステップ④:条件判定と自動通知を組み合わせる

たとえば「在庫数が50未満ならメールで通知する」場合:

If %CurrentItem[2]% < 50 Then
    Outlookメールを送信:「在庫不足アラート」
End If

このように、Excelの値を条件として業務フローを完全自動化できます。




✅ 応用例:Power AutomateでのExcelデータ取得の実践シナリオ

実務では、Excelデータを取得して他アプリと連携することで、大幅な効率化が可能です。


・事例①:日次売上を自動でメール報告

  1. Power Automateで売上表を取得
  2. 合計金額を算出
  3. Outlookメールで「本日の売上:○○円」を自動送信

→ 担当者が手入力することなく、報告が自動化。

参考:【Power Automate活用事例】Outlookメールを自動化して業務効率を改善する方法


・事例②:在庫データをTeamsに自動通知

  1. Excelの在庫リストを取得
  2. 残数が一定以下の品目を抽出
  3. Teamsに「発注が必要な商品一覧」を自動投稿

→ 担当者全員がリアルタイムで在庫状況を把握可能。

参考:【ChatGPT】 Power Automateで会話を自動化|Teamsに自動返信!


・事例③:アンケート結果をSharePointに自動反映

  1. Excelで集めた回答データをPower Automateで取得
  2. 各行をSharePointリストに登録
  3. 自動でグラフ化・可視化

→ Excelデータをそのまま企業ポータルに連携。


✅ Power AutomateでExcelデータを扱う際の注意点

注意点内容
テーブル化が必須(クラウド版)Excel Onlineでは範囲指定ではなくテーブルを使用
Excelファイルは閉じておく(PAD)ファイルが開いたままだとアクセスエラーが発生
データ型の違いに注意文字列・数値・日付を適切に変換(int()ToString()
OneDriveパスの指定方法ドキュメント/ファイル名.xlsx の形式で指定
複数人編集時の競合同時編集を避けるか、読み取り専用で実行

これらの基本を押さえることで、安定したフローが構築できます。


✅ よくあるトラブルと対処法

症状原因対処法
値が取得されないテーブル外を指定テーブル範囲を再設定
エラーで停止するExcelが開きっぱなしPADで「Excelを閉じる」を追加
数値が文字として扱われるデータ型の不一致ToNumber()関数を使用
配列データの扱いが難しい構造理解不足「Apply to each」ループで個別処理
フローが遅い不要なループや書き込みフィルターを先に設定して最小化

✅ Power AutomateでExcelデータを取得するとできること

活用例説明
データ抽出条件に応じたデータのみ取得して通知
レポート作成Excelの値を自動集計・送信
データ転記他システム・他ファイルへ自動登録
アラート通知特定条件でTeams・メール通知
ダッシュボード連携Power BIやSharePointに自動更新反映

Power Automateは、単なるデータ取得ツールではなく、「データ活用の自動化基盤」として機能します。


✅ まとめ:Power AutomateでExcelデータ取得を自動化すれば作業効率が劇的に上がる

  • Power Automateでは、クラウド版とデスクトップ版のどちらでもExcelデータを取得可能。
  • クラウド版はテーブル単位でのデータ取得、PADはセルや範囲単位での精密操作に対応。
  • データを取得した後は、Teams通知・メール送信・他システム登録などへ自在に展開できる。
  • テーブル設定・データ型変換・エラーハンドリングを徹底すれば、安定的に運用可能。

Power Automateを活用することで、Excelは単なる表計算ツールではなく、
自動で情報を集め、判断し、動くシステム」に進化します。

Excelを開く時間すら短縮し、業務の質とスピードを両立させたい方は、
まず「データ取得の自動化」から始めてみましょう。

    -Power Automate, Power Automate × Excel