Power Automate Power Automate × Excel

【Power Automate】Excelのセルの値を取得する方法|業務自動化に役立つ実践ガイド

Power Automateを使うと、Excelの値を自動で読み取って判断・転記・通知まで行うことができます。
たとえば「売上が一定以上ならメール通知」「入力された担当者名に応じて処理を分岐」など、セルの値取得はあらゆる自動化の起点となります。

この記事では、Power AutomateでExcelのセル値を取得する具体的な手順と、クラウド版・デスクトップ版(Power Automate Desktop:PAD)の両方の方法を詳しく解説します。
また、実務での応用例やトラブル対策も含め、滞在時間を意識した“使える内容”としてまとめました。

✅ Power AutomateでExcelの値を取得する目的

Excelは多くの企業で業務の中心にあるツールです。
Power Automateでセルの値を取得することで、次のような自動化が可能になります。

・主な活用シーン

  • Excelの条件を判定してフローを分岐
  • 入力済みデータを他システムに連携
  • 指定セルの数値をメールやTeamsに通知
  • Excel台帳から特定項目を読み取り、自動レポート化

つまり、「Excelから必要な情報を自動取得し、判断・実行・報告までつなげる」のがPower Automateの最大の強みです。


✅ Power AutomateでExcelの値を取得する2つの方法

Power AutomateでExcelを扱う方法は大きく分けて次の2つです。

方法対象特徴
クラウド版(Excel Online Business)OneDrive / SharePoint上のファイル複数人で共有可能。ブラウザで動作。
Power Automate Desktop(PAD)ローカルPC上のExcelアプリ「セルA1」などアドレス指定が可能。細かい制御に強い。

クラウド版は「オンライン共有ファイルの自動取得」、
デスクトップ版は「セル単位の正確な読み取り」に最適です。


✅ クラウド版Power Automateでセルの値を取得する方法

クラウド版では「Excel Online(Business)」コネクタを使用します。
ただし、直接セル番地(A1など)を指定するのではなく、「テーブル形式」で値を取得します。


・準備:Excelファイルをテーブル化

  1. OneDriveまたはSharePoint上にExcelファイルを配置。
  2. 対象範囲を選択して「テーブルとして書式設定」。
  3. テーブル名を設定(例:Table1)。

Power Automateはテーブル単位でデータを認識するため、このステップは必須です。


・手順1:Excelファイルの行を取得

  1. 「Excel Online(Business)」アクションの「テーブル内の行を一覧表示」を追加。
  2. ファイルパスとテーブル名を指定。
  3. 出力結果は配列データとして保持されます。

取得したデータは「value」配列の中に格納されるため、個別のセル値を参照できます。


・手順2:特定セル(列)の値を取得する

Power Automateでは、配列の中から特定の列の値を取得します。

例:

「A列:社員名」「B列:売上高」というテーブルがある場合に、最初の行の売上高を取得するには以下の式を使用します。

first(body('テーブル内の行を一覧表示')?['value'])?['売上高']

この式の意味:

  • first() … 最初の行を取得
  • ['売上高'] … 列名を指定してセル値を取得

複数行ある場合は、Apply to each(ループ)で1行ずつ処理します。


・手順3:条件に応じて処理を分岐

取得したセル値をもとに、次のように条件分岐を設定できます。

条件式の例:

@greater(int(first(body('テーブル内の行を一覧表示')?['value'])?['売上高']), 100000)

→ 「売上高が10万円を超える場合に通知する」フローを構築できます。

クラウド版はこのように、「Excel→判定→通知」という自動レポートフローを得意とします。


✅ Power Automate Desktopでセルの値を取得する方法

ローカルPC上のExcelを扱う場合は、Power Automate Desktop(PAD)が最適です。
PADでは、セル番地(A1、B2など)を直接指定して値を取得できます。


・ステップ1:Excelを起動する

  1. アクション「Excelの起動」を追加。
  2. 対象のExcelファイルを指定(パス入力または変数で指定)。
  3. 「既存のドキュメントを開く」にチェックを入れ、開く。

・ステップ2:セルの値を取得

  1. 「Excelワークシートから読み取り」アクションを追加。
  2. 「読み取りモード」を「単一セル」に設定。
  3. 「セル参照」にA1のような番地を入力。
  4. 読み取った値を変数に格納(例:%CellValue%)。

これで、セルA1の値を%CellValue%変数として利用できます。


・ステップ3:変数を使って後続処理を実行

取得した値をもとに、条件分岐や他アプリへの出力が可能です。

例:

If %CellValue% > 100000 Then
    Outlookメールを送信:「売上が10万円を超えました」
Else
    Excelにコメント追加:「未達成」
End If

このように、セルの値を判断基準として自動化処理を進められます。


・ステップ4:複数セルをまとめて取得

複数の値をまとめて取得する場合は「範囲の読み取り」を使用します。

  1. アクション「Excelワークシートから読み取り」を追加。
  2. 「範囲」にA1:C10などを指定。
  3. 出力をデータテーブル型変数に設定(例:%DataTable%)。

その後、For Eachループで1行ずつ処理することができます。

参考:【Power Automate】Excel転記をループ処理で自動化する方法|繰り返し作業を効率化




✅ 応用例①:セルの値に応じてTeamsに自動通知

・シナリオ

日報Excelにある「進捗率(セルD2)」が100%になったら、Teamsに「完了報告」を投稿。

・フロー概要

  1. PADでExcelを開く。
  2. セルD2の値を取得 → %Progress%
  3. 条件式:If %Progress% = 100
  4. True側で「Teamsにメッセージを送信」。
  5. Excelを閉じて保存。

→ 現場担当者が入力するだけで、上司に自動報告が届く仕組み。

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


✅ 応用例②:セルの値をメール本文に自動挿入して送信

・シナリオ

Excelで管理している請求リストから、顧客名と金額を自動取得し、メールで送信。

・手順

  1. PADで「Excelの範囲を読み取り」アクションを設定(例:A2~C2)。
  2. 顧客名 → %Customer%、金額 → %Amount% として変数格納。
  3. 「Outlookメールを送信」で本文を次のように指定:
本文:
いつもお世話になっております。
%sCustomer% 様へのご請求金額は %Amount% 円です。
  1. 自動的に宛先・件名・本文が埋め込まれて送信されます。

→ メール送信業務の自動化に直結する実践的な応用例です。


✅ 応用例③:セルの値を判定して別シートへ転記

・シナリオ

Excel台帳で「ステータス」が「完了」の行だけを別シートに自動コピー。

・手順

  1. 「範囲を読み取り」で全行データを取得。
  2. For Eachで各行をループ。
  3. 条件:「%CurrentRow[3]% = 完了」
  4. 条件一致時に「別シートの次の空行」に書き込み。

→ 集計・仕分け・レポート生成を自動で行える典型的な使い方です。


✅ Power Automateでセル値を取得する際の注意点

注意点内容
ファイルを閉じる処理を入れるPADではExcelを閉じずに残すと、次回実行でエラーになります。
数値と文字列の型に注意数値を比較する際は int()ToNumber() で変換。
クラウド版はテーブル必須テーブル化していないExcelは認識されません。
OneDriveのパスに注意フルパスではなく「/ドキュメント/ファイル名.xlsx」の形式が必要。
シート名の指定PADで複数シートある場合、「Excelワークシートをアクティブ化」で指定。

これらを押さえておくことで、安定したフローが構築できます。


✅ よくあるエラーと対処法

エラー内容原因対策
セルの値が取得できないExcelが閉じていない/指定セルが存在しないシートを明示指定+Excelをアクティブ化
数値比較が正しく動かないデータ型が文字列扱いint() または ToNumber() で型変換
クラウドで空白値になるテーブル範囲外を指定対象範囲を再確認し、テーブル化
フローが停止するExcelプロセスが残っているPADで「Excelの終了」を必ず最後に追加

✅ Power Automateでセル値を取得するとできること

自動化の種類実現できること
条件分岐セルの値を基準にIf処理を実行
通知数値や文字をTeams・メールで通知
転記指定条件に一致する行を別シートへ
集計Excelの値を他ファイルに集約
検証入力ミス・空欄の検出と警告

Excelのセル取得を起点に、「読み取る → 判断する → 実行する」という自動化の流れを構築できます。


✅ まとめ:セルの値を取得すればPower Automateは一気に実用化できる

  • Power AutomateでExcelのセル値を取得するには、「クラウド版」と「デスクトップ版」がある。
  • クラウド版はテーブル単位での取得、PADはセル番地指定での直接取得が可能。
  • セルの値を利用すれば、通知・判定・転記・メール送信など幅広い自動化が可能。
  • 型変換やエラーハンドリングを適切に設定することで、安定稼働するフローが構築できる。

Power Automateのセル取得は、単なるデータ操作ではなく、業務全体の自動化を支える“情報の起点”です。
日々のExcel業務の中から、「この値を自動で読み取れたら楽になる」というポイントを見つけ、まずは1つのフローから始めてみましょう。

    -Power Automate, Power Automate × Excel