Power Automateを使うと、Excelの値を自動で読み取って判断・転記・通知まで行うことができます。
たとえば「売上が一定以上ならメール通知」「入力された担当者名に応じて処理を分岐」など、セルの値取得はあらゆる自動化の起点となります。
この記事では、Power AutomateでExcelのセル値を取得する具体的な手順と、クラウド版・デスクトップ版(Power Automate Desktop:PAD)の両方の方法を詳しく解説します。
また、実務での応用例やトラブル対策も含め、滞在時間を意識した“使える内容”としてまとめました。
目次
- ✅ Power AutomateでExcelの値を取得する目的
- ・主な活用シーン
- ✅ Power AutomateでExcelの値を取得する2つの方法
- ✅ クラウド版Power Automateでセルの値を取得する方法
- ・準備:Excelファイルをテーブル化
- ・手順1:Excelファイルの行を取得
- ・手順2:特定セル(列)の値を取得する
- ・手順3:条件に応じて処理を分岐
- ✅ Power Automate Desktopでセルの値を取得する方法
- ・ステップ1:Excelを起動する
- ・ステップ2:セルの値を取得
- ・ステップ3:変数を使って後続処理を実行
- ・ステップ4:複数セルをまとめて取得
- ✅ 応用例①:セルの値に応じてTeamsに自動通知
- ・シナリオ
- ・フロー概要
- ✅ 応用例②:セルの値をメール本文に自動挿入して送信
- ・シナリオ
- ・手順
- ✅ 応用例③:セルの値を判定して別シートへ転記
- ・シナリオ
- ・手順
- ✅ Power Automateでセル値を取得する際の注意点
- ✅ よくあるエラーと対処法
- ✅ Power Automateでセル値を取得するとできること
- ✅ まとめ:セルの値を取得すればPower Automateは一気に実用化できる
✅ 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ファイルをテーブル化
- OneDriveまたはSharePoint上にExcelファイルを配置。
- 対象範囲を選択して「テーブルとして書式設定」。
- テーブル名を設定(例:
Table1)。
Power Automateはテーブル単位でデータを認識するため、このステップは必須です。
・手順1:Excelファイルの行を取得
- 「Excel Online(Business)」アクションの「テーブル内の行を一覧表示」を追加。
- ファイルパスとテーブル名を指定。
- 出力結果は配列データとして保持されます。
取得したデータは「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を起動する
- アクション「Excelの起動」を追加。
- 対象のExcelファイルを指定(パス入力または変数で指定)。
- 「既存のドキュメントを開く」にチェックを入れ、開く。
・ステップ2:セルの値を取得
- 「Excelワークシートから読み取り」アクションを追加。
- 「読み取りモード」を「単一セル」に設定。
- 「セル参照」に
A1のような番地を入力。 - 読み取った値を変数に格納(例:
%CellValue%)。
これで、セルA1の値を%CellValue%変数として利用できます。
・ステップ3:変数を使って後続処理を実行
取得した値をもとに、条件分岐や他アプリへの出力が可能です。
例:
If %CellValue% > 100000 Then
Outlookメールを送信:「売上が10万円を超えました」
Else
Excelにコメント追加:「未達成」
End If
このように、セルの値を判断基準として自動化処理を進められます。
・ステップ4:複数セルをまとめて取得
複数の値をまとめて取得する場合は「範囲の読み取り」を使用します。
- アクション「Excelワークシートから読み取り」を追加。
- 「範囲」に
A1:C10などを指定。 - 出力をデータテーブル型変数に設定(例:
%DataTable%)。
その後、For Eachループで1行ずつ処理することができます。
参考:【Power Automate】Excel転記をループ処理で自動化する方法|繰り返し作業を効率化
✅ 応用例①:セルの値に応じてTeamsに自動通知
・シナリオ
日報Excelにある「進捗率(セルD2)」が100%になったら、Teamsに「完了報告」を投稿。
・フロー概要
- PADでExcelを開く。
- セルD2の値を取得 →
%Progress%。 - 条件式:
If %Progress% = 100 - True側で「Teamsにメッセージを送信」。
- Excelを閉じて保存。
→ 現場担当者が入力するだけで、上司に自動報告が届く仕組み。
参考:【ChatGPT】 Power Automateで会話を自動化|Teamsに自動返信!
✅ 応用例②:セルの値をメール本文に自動挿入して送信
・シナリオ
Excelで管理している請求リストから、顧客名と金額を自動取得し、メールで送信。
・手順
- PADで「Excelの範囲を読み取り」アクションを設定(例:A2~C2)。
- 顧客名 →
%Customer%、金額 →%Amount%として変数格納。 - 「Outlookメールを送信」で本文を次のように指定:
本文:
いつもお世話になっております。
%sCustomer% 様へのご請求金額は %Amount% 円です。
- 自動的に宛先・件名・本文が埋め込まれて送信されます。
→ メール送信業務の自動化に直結する実践的な応用例です。
✅ 応用例③:セルの値を判定して別シートへ転記
・シナリオ
Excel台帳で「ステータス」が「完了」の行だけを別シートに自動コピー。
・手順
- 「範囲を読み取り」で全行データを取得。
- For Eachで各行をループ。
- 条件:「%CurrentRow[3]% = 完了」
- 条件一致時に「別シートの次の空行」に書き込み。
→ 集計・仕分け・レポート生成を自動で行える典型的な使い方です。
✅ 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つのフローから始めてみましょう。