Power Automateでデータを「抽出」する方法:様々なソースから必要な情報を取り出す!
「Power Automateで自動化したいけど、まずは必要なデータをどこかから取り出さなきゃ…」「Webサイトから特定の情報を引っ張ってきたいけど、どうすればいいの?」「ExcelやSharePointのデータから、条件に合うものだけを抽出したい!」
Power Automate(パワー・オートメイト)を使って業務を自動化する上で、最も頻繁に行われる操作の一つが、様々なデータソースから必要な情報(データ)を「抽出」することです。データ抽出は、その後の自動化プロセス(通知、転記、レポート作成など)の起点となる、非常に重要なステップです。
Power Automateは、プログラミングの知識がなくても、直感的なアクションとコネクタを使って、多岐にわたるデータソースから情報を効率的に取り出すことができます。
本記事では、Power Automateでデータを抽出するための基本的な考え方、よく使われるアクションとコネクタ、そして具体的な手順について、様々なデータソースの例を挙げながら分かりやすく解説していきます。これを読めば、あなたのデータ活用の幅が大きく広がるでしょう。
データ抽出の基本的な考え方:トリガーとアクションの組み合わせ
Power Automateでデータを抽出する際の基本的なアプローチは、以下の2つのステップの組み合わせです。
「いつ」データを抽出するかを決める(トリガー)
データを抽出するタイミングを設定します。
イベント駆動型: 何らかの「イベント」が発生したときにデータを抽出する。
例:「新しいメールが届いたとき」「SharePointリストにアイテムが作成されたとき」「ファイルがOneDriveにアップロードされたとき」
時間駆動型: 決まった「時間」になったときにデータを抽出する。
例:「毎日午前9時に」「毎週月曜日に」
手動駆動型:ユーザーが「ボタンを押したとき」にデータを抽出する。
例:「特定のWebページを閲覧中にボタンを押す」
「どこから」「何を」抽出するかを決める(アクションとコネクタ)
トリガーの後に実行する具体的な抽出方法を設定します。
- コネクタ: データを抽出したいサービス(Excel、SharePoint、Webサイトなど)に対応するコネクタを選択します。
- アクション: そのコネクタが提供する「データを取得する」系のアクションを選択します(例: 「行を一覧表示する」「アイテムを取得する」「HTTPリクエストを送信する」)。
- フィルター: 抽出したいデータの条件を絞り込みます(例: 「ステータスが『完了』のアイテムのみ」)。
よく使われるデータ抽出のシナリオとアクション
Power Automateでデータを抽出する際の代表的なシナリオと、そこで使用する主要なアクションとコネクタをご紹介します。
表形式データからの抽出:Excel Online / SharePointリスト / データベース
最も一般的なデータ抽出のシナリオです。
Excel Online (Business) からデータを抽出
アクション: 「表に行を一覧表示」
使い方: Excel Onlineに保存された特定の「テーブル」(あらかじめExcelファイル内でテーブルとしてフォーマットされている必要あり)から、すべての行または条件に合う行のデータを抽出します。
抽出時のポイント
「ファイルの場所」「ドキュメントライブラリ」「ファイル」で対象のExcelファイルを指定。
「テーブル」で対象のテーブル名を指定。
「フィルタークエリ」:ODataフィルタークエリの形式で条件を指定できます(例: 列名 eq '値' や 価格 gt 100)。これにより、Power Automate側でデータを絞り込んで抽出するため、大量データから必要なものだけを取り出す際に効率的です。
「並べ替え順」:特定の列で並べ替えて抽出できます。
「上位の数」:抽出する行の数を制限できます。
SharePointリストからデータを抽出
アクション: 「アイテムを取得します」
使い方: SharePointリストから、すべてのアイテムまたは条件に合うアイテムのデータを抽出します。
抽出時のポイント
「サイトのアドレス」「リスト名」で対象のリストを指定。
「フィルタークエリ」:ODataフィルタークエリ形式で条件を指定できます(例: Status eq '完了' や Created ge '2025-01-01')。
「並べ替え順」:特定の列で並べ替えて抽出できます。
「上位の数」:抽出するアイテムの数を制限できます。
「インデックス付き列を使用」:大量のアイテムがあるリストでフィルタークエリを使用する場合、SharePointのインデックス付き列を設定しておくと、抽出パフォーマンスが劇的に向上します。
SQL Server (データベース) からデータを抽出
アクション: 「行を取得」
使い方: SQL Serverデータベースのテーブルから、条件に合う行のデータを抽出します。
抽出時のポイント
- 接続情報(サーバー名、データベース名、認証方法)を設定。
- 「テーブル名」で対象のテーブルを指定。
- 「フィルタークエリ(OData)」、「並べ替え」、「上位の数」などのオプションで抽出条件を細かく設定できます。
Webサイトからの抽出:HTML解析 / HTTPリクエスト
Webサイト上の情報を取得し、そこから特定のデータを抽出します。
Webスクレイピング(HTML解析)
アクション: 「Web ページからデータを抽出する (プレビュー)」または「Microsoft Edge (レガシ) からデータを抽出」 (デスクトップフローの機能)。
使い方: Webページを開き、Power Automate Desktopの「Webレコーダー」機能を使って、抽出したいデータの場所(テーブル、リスト、テキストなど)を視覚的に指定し、抽出ルールを記録します。記録されたルールに基づいてデータを抽出します。
抽出時のポイント: Power Automate Desktop(PAD)の機能であり、PCにインストールが必要です。サイトの構造変更に弱く、HTMLのXPathなどを理解しているとより安定した抽出が可能です。
注意点: サイトの利用規約に反するスクレイピングは避けるべきです。
Web APIからのデータ抽出(HTTPリクエスト)
アクション: 「HTTP」コネクタの「HTTP 要求の送信」アクション。
使い方: RESTful APIを提供するWebサービスからデータを抽出します。APIドキュメントを参照し、エンドポイントURL、メソッド(GETなど)、ヘッダー、認証情報などを設定します。
抽出時のポイント
- 「URI」:APIのエンドポイントURLを指定。
- 「メソッド」:通常は
GET。 - 「ヘッダー」:APIキーや認証トークンなどを設定。
- 「認証」:APIの種類に応じて、
Basic、OAuthなどを設定。
注意点: APIの知識が必要になります。APIから返されるJSONデータを「JSONの解析 (Parse JSON)」アクションで解析し、必要な情報を抽出します。
メールからの抽出:添付ファイル / 本文 / 件名 / 差出人
メールの内容から情報を抽出します。
メールの添付ファイルを抽出
- トリガー: 「新しいメールが届いたとき (V2)」または「共有メールボックスに新しいメールが届いたとき (V2)」(Outlookコネクタ)。
- アクション: トリガーの出力から、添付ファイルの情報(ファイル名、コンテンツ)を取得し、それをSharePointやOneDriveに保存するアクションに渡します。
- 抽出時のポイント: トリガーの「添付ファイルあり」を「はい」に設定。添付ファイルが複数ある可能性があるため、「Apply to each」ループを使って各添付ファイルを処理します。
メール本文や件名、差出人を抽出
- トリガー: 「新しいメールが届いたとき (V2)」(Outlookコネクタ)。
- アクション: トリガーの「動的なコンテンツ」から、直接「件名」「本文」「差出人」などの情報を取得し、後のアクションで利用します(例: Teams通知のメッセージに含める)。
- 抽出時のポイント: 本文がHTML形式の場合、余分なタグを除去するために「HTMLをテキストに変換する」アクションを挟むと読みやすくなります。
ファイルコンテンツからの抽出:PDF / テキストファイル / CSV
ファイルの中身から特定の情報を抽出します。
PDFからのテキスト抽出(OCR機能)
- アクション: 「テキストを PDF から抽出する」(Power Automate Desktop)または「フォーム処理モデルからデータを抽出する」(AI Builder)。
- 使い方: スキャンされたPDFや画像ファイルからテキストデータを抽出します。AI Builderのフォーム処理モデル(カスタムモデルを学習させる)を使えば、特定のフィールド(例: 請求書の金額、日付)を構造化データとして抽出できます。
- 抽出時のポイント: AI Builderはプレミアム機能であり、モデルの学習が必要です。デスクトップフローはPCにPower Automate Desktopのインストールが必要です。
テキストファイル/CSVファイルからのデータ抽出
- アクション: 「ファイルを読み取る (テキスト)」(デスクトップフロー)、「CSV ファイルを読み取る」(デスクトップフロー)。
- 使い方: PC上のテキストファイルやCSVファイルの内容を読み込み、文字列として取得したり、CSVの場合は行と列に分解してテーブル形式で扱ったりできます。
- 抽出時のポイント: デスクトップフローの機能です。
データ抽出後の処理:フローで活用する
抽出したデータは、様々な形で後のアクションで活用できます。
「動的なコンテンツ」の活用
抽出アクションの後に続くステップで、その抽出結果(例: Excelの「列名」、SharePointリストの「タイトル」)を「動的なコンテンツ」として選択し、後のアクション(メールの本文、Teamsのメッセージ、別のリストへの書き込みなど)に自動的に挿入できます。
「Apply to each」(繰り返し)アクション
抽出したデータが複数の行やアイテム(例: Excelの複数行、SharePointリストの複数アイテム)である場合、「Apply to each」アクションを使って、抽出された各アイテムに対して同じ処理を繰り返すことができます。
例: Excelから抽出した各行のデータを、それぞれSharePointリストの新しいアイテムとして登録する。
「作成」(Compose)アクションと「式」(Expression)
抽出したデータを一時的に保持したり、複雑な加工や計算を行ったりするために、「作成」(Compose)アクションと「式」(Expression)を組み合わせます。
例: 抽出した数値データを合計する、複数の列の値を結合して新しい文字列を生成する、日付の形式を変換するなど。
「条件」アクション(絞り込み)
抽出したデータの一部が特定の条件を満たす場合にのみ次の処理を進めるために、「条件」アクションでデータをさらに絞り込めます。
例: 抽出したタスクの「ステータス」が「未完了」の場合のみ、リマインダーを送信する。
データ抽出を効率化・安定化するためのヒント
フィルタークエリを最大限に活用する
データを抽出するアクション(例: Excelの「表に行を一覧表示」、SharePointの「アイテムを取得」)には、通常「フィルタークエリ」のオプションがあります。必要なデータだけを抽出元で絞り込むことで、Power Automateが処理するデータ量を減らし、フローのパフォーマンスを向上させられます。
データ型の整合性
抽出されたデータの型(テキスト、数値、日付など)と、次のアクションで期待されるデータ型が一致しているかを確認しましょう。必要に応じて、string(), int(), formatDateTime() などの式を使って型変換を行います。
エラーハンドリング
抽出元データが存在しない、抽出形式が期待と異なる、APIがタイムアウトするなど、データ抽出の段階でエラーが発生することがあります。このような場合に備えて、エラーハンドリング(「構成:実行条件」の変更や「スコープ」の利用)を設定し、エラー通知や再試行の仕組みを構築しておきましょう。
パフォーマンスの考慮
大量のデータを抽出・処理する場合、フローの実行時間やAPIリクエストの制限に注意が必要です。必要に応じて、フローを分割する、実行頻度を調整する、ページネーションを実装するといった対策を検討します。
まとめ
Power Automateにおけるデータ抽出は、自動化プロセスの出発点であり、その「心臓部」とも言える重要なステップです。Excel、SharePoint、Webサイト、メールなど、様々な場所から必要な情報を効率的に、そして正確に取り出す能力は、その後の自動化の品質と効果を大きく左右します。

