Excel業務を自動化したいとき、よくあるニーズのひとつが「特定セルにデータを書き込む」という処理です。
手作業で行っていた入力や転記をPower Automateで自動化すれば、入力ミスを防ぎつつ、処理スピードも大幅に向上します。
この記事では、「Power AutomateでExcelに書き込む方法」を中心に、セルを指定して値を入力する具体的な手順を解説します。
クラウド版・デスクトップ版(Power Automate Desktop)の両方の使い方と、実務でよくある応用パターンもあわせて紹介します。
目次
- ✅ Power AutomateでExcelを書き込む仕組みとは?
- ✅ Excel Online(クラウド)でセルに書き込む基本構成
- ・前提準備
- ✅ 例①:指定セル(列)にデータを書き込む方法(クラウド版)
- ・実行フロー概要
- ✅ 例②:既存のセルを上書き更新する方法(クラウド版)
- ・手順
- ✅ Power Automate Desktopでセルを直接指定して書き込む方法
- ・ステップ1:Excelを起動する
- ・ステップ2:セルに書き込む
- ・ステップ3:複数セルへ連続書き込み
- ・ステップ4:保存と終了
- ✅ 応用例①:条件によって書き込み先セルを変える
- ✅ 応用例②:Excelの最終行を検出して自動で追記
- ✅ 応用例③:書き込み後に自動で計算や保存を実行
- ✅ よくあるトラブルと対処法
- ✅ 実務での利用シーン例
- ✅ Power AutomateでのExcel書き込みを安定させるコツ
- ✅ まとめ:Power Automateでセル指定書き込みを使いこなすとExcel業務が変わる
✅ Power AutomateでExcelを書き込む仕組みとは?
Power Automateには、Excelデータを操作する2つの方法があります。
| 種類 | 特徴 | 主な用途 |
|---|---|---|
| Power Automate(クラウド版) | OneDrive・SharePoint上のExcelファイルを操作 | データ追加・一覧取得・条件書き込み |
| Power Automate Desktop(PAD) | PC上のExcelアプリを直接操作 | セル指定・書式設定・複雑な自動化 |
つまり、クラウド上で共有しているファイルを扱うならクラウド版、
ローカルPCで実際にExcelを開いて操作するならデスクトップ版を使います。
✅ Excel Online(クラウド)でセルに書き込む基本構成
クラウド版のPower Automateでは、主に「Excel Online(Business)」コネクタを使用します。
ただし、セル単位での直接指定はできず、「テーブル形式での書き込み」が基本です。
・前提準備
- ExcelファイルをOneDriveまたはSharePoint上に配置。
- 書き込みたい範囲を選択して、テーブルとして書式設定。
- テーブル名を付けて保存(例:
Table1)。
テーブル化することで、Power Automateがセルを「行」「列」として認識できるようになります。
✅ 例①:指定セル(列)にデータを書き込む方法(クラウド版)
ここでは、フォーム入力やメールデータなどをExcelの特定列に自動で書き込む例を見てみましょう。
・実行フロー概要
- トリガー:「フォーム回答を受け取ったとき」
- アクション:「Excel Online(Business)→ 行を追加」
- 各列に入力内容をマッピング
設定例:
- テーブル名:
Table1 - 列名:
日付、名前、金額
| 列名 | Power Automateでの設定値 |
|---|---|
| 日付 | utcNow() (実行日) |
| 名前 | 動的コンテンツ > 回答者名 |
| 金額 | 動的コンテンツ > 入力金額 |
これにより、実行のたびに新しい行が追加され、指定セルに自動で値が書き込まれます。
✅ 例②:既存のセルを上書き更新する方法(クラウド版)
行追加ではなく、既存セルを更新したい場合には「行を更新」アクションを使用します。
・手順
- 「Excel Online(Business)」の「行を一覧表示」アクションで全データを取得
- 条件式(例:社員ID = 1001)で該当行を抽出
- 「行を更新」アクションで特定列(セル)に新しい値を指定
設定例:
- 条件:
@equals(items('Apply_to_each')?['社員ID'], '1001') - 更新列:「出勤日数」→
add(int(items('Apply_to_each')?['出勤日数']), 1)
これにより、既存セルを特定して書き換えることが可能になります。
✅ Power Automate Desktopでセルを直接指定して書き込む方法
クラウド版はテーブル単位ですが、Power Automate Desktop(PAD)なら「A1」「B5」などセルを明示的に指定できます。
このため、シート内の特定場所へ正確に値を入力する処理に最適です。
・ステップ1:Excelを起動する
- アクション「Excelの起動」を追加。
- 既存のブックを開く場合:「ドキュメントを開く」にファイルパスを指定。
- 空白ファイルを新規作成する場合は「空のドキュメントを作成」に設定。
・ステップ2:セルに書き込む
- 「Excelワークシートに書き込み」アクションを追加。
- 書き込みたいセルを「
A1」「B2」のように入力。 - 値を「テキスト」または「変数」で指定。
例:
| セル | 書き込む値 |
|---|---|
| A1 | "日付" |
| B1 | "売上高" |
| A2 | %CurrentDate% |
| B2 | %SalesValue% |
PADでは、「%変数名%」を使用して値を動的に設定できます。
・ステップ3:複数セルへ連続書き込み
複数データを1行ずつ書き込みたい場合、「For Eachループ」を使います。
例:
- 変数
%ExcelDataTable%に元データを保持。 - 「For Each CurrentItem in ExcelDataTable」アクションを配置。
- 「セルに書き込み」アクションで動的セルを指定。
セル位置を可変にするには、次のような変数式を利用します。
"A" & %RowCounter%
ループごとに行番号が増加し、順番に書き込みが行われます。
・ステップ4:保存と終了
最後に「Excelを保存」「Excelを閉じる」「Excelの終了」を追加しておきます。
これを入れ忘れるとExcelがバックグラウンドで残り、次のフローでエラーの原因になります。
参考:【Power Automate】複数のExcelに転記する方法|大量データの自動分配と業務効率化
✅ 応用例①:条件によって書き込み先セルを変える
製造日や取引先など、条件によって異なるセルに書き込みたい場合は、If分岐を活用します。
例:
If 取引先 = "A社" → セル"B2"に書き込み
If 取引先 = "B社" → セル"C2"に書き込み
PADでは次のように設定します。
- 「If」アクションで条件を設定
- True側に「Excelワークシートに書き込み」アクションを配置
- False側に別セルの書き込みを設定
条件式の記述例:
%ClientName% = "A社"
これにより、顧客別の報告書や自動帳票作成にも対応できます。
参考:【Power Automate】Excel転記を条件付きで自動化する方法|効率化と正確性を両立
✅ 応用例②:Excelの最終行を検出して自動で追記
書き込み先を毎回指定するのではなく、「最後の行の次に自動追加したい」ケースも多いでしょう。
PADで最終行を検出するには次の手順を使います。
- 「Excelの最終使用行を取得」アクションを追加
→ 結果を変数(例:%LastRow%)に格納 - 書き込みセルを
"A" & %LastRow% + 1のように指定
これで、毎回新しいデータを最終行の下に追記できます。
✅ 応用例③:書き込み後に自動で計算や保存を実行
Power Automateでは、書き込んだ後の処理も自動化できます。
- 「セルの値を読み取り」アクションで入力結果を確認
- 「Excelに数式を書き込む」アクションで自動計算
- 「PDFとして保存」アクションで帳票を出力
例:
セルC2に "=A2+B2" を書き込む
→ Excelで自動計算
→ ファイル名を日付付きで保存
これにより、報告書・請求書・日報などを完全自動生成できます。
✅ よくあるトラブルと対処法
| トラブル | 原因 | 対処法 |
|---|---|---|
| セルに書き込まれない | Excelが閉じていない/指定が間違い | 「Excelをアクティブ化」→「シート選択」を追加 |
| ファイルがロックされる | 同時アクセスまたは未保存 | 実行前にファイルを閉じる/コピー処理を追加 |
| 値が正しく入力されない | 変数の型が不一致 | 数値→文字列の変換に ToString() を使用 |
| 行ずれが起きる | 動的セル指定の式が誤り | 行番号変数を初期化・インクリメントで制御 |
✅ 実務での利用シーン例
| シーン | 内容 |
|---|---|
| 売上データ登録 | システムから取得した売上データをExcelに自動転記 |
| 生産日報記録 | 製造実績や稼働時間を指定セルに入力して保存 |
| メール内容集計 | Outlookの件名や送信者をExcel台帳に自動記録 |
| 在庫更新 | システム出力CSVをもとに在庫表を自動更新 |
| レポート出力 | 書き込んだExcelをPDF変換して自動送信 |
特に、「毎日同じ形式のExcelにデータを入力する」業務では、Power Automate Desktopが非常に効果的です。
✅ Power AutomateでのExcel書き込みを安定させるコツ
- セル指定は明示的に行う
「A1」「B2」など固定セル指定が基本。動的指定は変数制御で明確化。 - 書き込み前にシートをアクティブにする
「Excelワークシートをアクティブ化」でエラー防止。 - エラーハンドリングを設定
ファイル使用中などのエラー時は「Try-Catch」構文で再試行。 - 自動保存を組み込む
最後に「Excelを保存」アクションを必ず入れる。 - ログを残す
成功・失敗ログを別ファイルに記録して、トラブル時の確認を容易に。
✅ まとめ:Power Automateでセル指定書き込みを使いこなすとExcel業務が変わる
- Power Automateでは、クラウド版で「テーブル単位」、Desktop版で「セル単位」の書き込みが可能。
- PADなら「A1」など明示的なセル指定に対応し、柔軟な自動化が実現。
- 条件分岐・最終行検出・ループ処理を組み合わせることで、実務レベルの自動入力が可能。
- 書き込み後に計算・保存・通知を組み合わせることで、完全なExcel自動化フローを構築できる。
Power Automateを使えば、毎日の入力作業を「人が操作するExcel」から「自動で更新されるExcel」に変えられます。
セル指定の書き込みをマスターすれば、Excel業務の自動化レベルが一気に上がるでしょう。