複数のExcelファイル間でのデータ転記作業を、クラウドを使って完全に自動化できたらどれほど便利でしょうか。
Microsoft 365環境を使っているなら、Power Automateを活用することでExcelからExcelへの自動転記フローを構築できます。
Power AutomateはVBAのようなプログラミング知識がなくても、GUI(グラフィカルユーザーインターフェース)を使って自動化フローを作成できるMicrosoftのクラウド自動化サービスです。
ExcelファイルをOneDriveやSharePointに置いておくだけで、定時実行・条件トリガー・複数ファイル間のデータ同期など高度な自動化が実現できます。
本記事では、Power AutomateでExcelからExcelへ転記する方法を、フローの作成手順・クラウド連携の設定・データ同期の実装まで詳しく解説していきます。
Power AutomateでExcelからExcelへ転記を自動化できる理由とその仕組み
それではまず、Power AutomateがどのようにExcelとの連携を実現しているのか、その仕組みと特徴について解説していきます。
Power Automateは、Microsoft 365のクラウドサービス群を連携させる「iPaaS(Integration Platform as a Service)」の一種です。
Excel Online(OneDrive・SharePoint上のExcel)に対してデータの読み書きを行うコネクタが標準搭載されており、コードを書かずにExcelのデータを操作するフローを作れます。
Power AutomateによるExcel転記自動化の主な特徴
・ノーコードで自動化フローを構築できる(プログラミング不要)
・クラウド上で実行されるためPCの電源が切れていても動作する
・定時実行・フォーム回答時・メール受信時など多様なトリガーに対応している
・複数のExcelファイル間でのデータ転記・同期が実現できる
・SharePointリストやTeams・Outlookなど他のサービスとも連携できる
Power AutomateとVBAマクロの違いと使い分け
Power AutomateとVBAマクロはどちらもExcelの転記を自動化できますが、得意な場面が異なります。
VBAマクロはローカルのExcelファイルを対象に、複雑なロジックや大量データ処理を高速に実行するのに向いています。
一方、Power AutomateはクラウドのExcelファイルを対象に、複数ファイル間の連携や、PCを起動せずに自動実行したい場合に優れています。
| 比較項目 | VBAマクロ | Power Automate |
|---|---|---|
| 対象ファイル | ローカル・クラウド両方 | クラウド(OneDrive・SharePoint) |
| 実行タイミング | PC操作時のみ | クラウドで常時・定時実行可能 |
| プログラミング | VBA(コード記述が必要) | GUI操作(ノーコード) |
| 複数ファイル連携 | やや複雑 | 得意 |
| 他サービスとの連携 | 限定的 | 豊富(Teams・Forms・Outlookなど) |
Power Automateを使うために必要な前提条件
Power AutomateでExcelを操作するためには、いくつかの前提条件を満たしている必要があります。
まず、Microsoft 365(または旧Office 365)のサブスクリプションが必要です。
個人向けのMicrosoft 365 PersonalやFamilyプランでも基本的なPower Automateの機能は利用できます。
次に、操作対象のExcelファイルがOneDriveまたはSharePointに保存されている必要があります。
ローカルのCドライブなどに保存されたExcelファイルは直接操作できないため、あらかじめクラウドに移動しておきましょう。
さらに、Power AutomateのExcelコネクタはExcelのテーブル(リスト)機能を使ってデータを操作するため、転記元・転記先のExcelファイルにテーブルが設定されている必要があります。
ExcelファイルにテーブルをあらかじめEU設定しておく重要性
Power AutomateでExcelを操作する際の重要な前提として、データ範囲をテーブル(構造化参照)として定義しておくことが挙げられます。
テーブルの作成方法は、Excelでデータ範囲を選択→「挿入」タブ→「テーブル」をクリックするだけです。
テーブルには名前を付けておくことで、Power Automateのフロー設定時に対象テーブルを指定しやすくなります。
テーブル名は「挿入」→「テーブル」→テーブルが選択された状態で「テーブルデザイン」タブ→「テーブル名」欄から変更できます。
Power AutomateでExcelからExcelへ転記するフローの作成手順
続いては、Power Automateで実際にExcelからExcelへデータを転記するフローの具体的な作成手順を確認していきます。
手順を追って設定することで、初めてPower Automateを使う方でもフローが完成できるでしょう。
Power Automateにサインインしてフローを新規作成する
Power Automateのフロー作成は、Webブラウザから行います。
Power Automateでフローを新規作成する手順
1. ブラウザで「https://make.powerautomate.com」にアクセスする
2. Microsoft 365アカウントでサインインする
3. 左側メニューの「作成」をクリックする
4. フローの種類を選択する
・インスタントクラウドフロー:手動でボタンを押して実行するフロー
・スケジュール済みクラウドフロー:定時・定期実行するフロー
・自動化クラウドフロー:特定のイベントをトリガーにして実行するフロー
5. フロー名を入力して「作成」をクリックする
転記のフローを定期的に自動実行させたい場合は「スケジュール済みクラウドフロー」を選び、毎日・毎週などの実行スケジュールを設定します。
Excelコネクタで転記元のデータを読み取るアクションの設定
フロー内でExcelのデータを読み取るには、「Excel Online (Business)」コネクタの「表内の行を一覧表示」アクションを使います。
転記元Excelのデータを読み取るアクション設定手順
1. フロー編集画面で「新しいステップ」をクリック
2. 検索ボックスに「Excel」と入力して「Excel Online (Business)」を選択
3. 「表内の行を一覧表示」アクションを選択する
4. 「場所」でOneDriveまたはSharePointを選択する
5. 「ドキュメントライブラリ」「ファイル」「テーブル」をそれぞれ選択する
(ファイルを選択するとそのファイル内のテーブル一覧が表示される)
「表内の行を一覧表示」アクションを実行すると、指定したテーブルの全行データが配列として取得されます。
このデータを次のアクションで転記先Excelに書き込む処理につなげていきます。
転記先のExcelに行を追加するアクションの設定
転記先のExcelにデータを書き込むには、「Excel Online (Business)」コネクタの「表に行を追加」アクションを使います。
転記先Excelに行を追加するアクション設定手順
1. 「新しいステップ」→「Excel Online (Business)」→「表に行を追加」を選択
2. 転記先ExcelファイルとテーブルをそれぞれEU指定する
3. 各列に対して転記元から取得したデータをマッピングする
(動的なコンテンツから「表内の行を一覧表示」で取得した各列の値を選択)
4. 「表に行を追加」アクションの前に「Apply to each」ループを追加して
一覧表示で取得した全行に対して繰り返し処理を設定する
「Apply to each」は、前のアクションで取得した配列データの各要素に対して処理を繰り返すためのループコントロールです。
これにより、転記元テーブルの全行を転記先テーブルに1行ずつ追加する処理が実現できます。
Power Automateによるデータ同期と条件付き転記の実装方法
続いては、Power Automateを使ったより高度なデータ同期と条件付き転記の実装方法を確認していきます。
単純な全件転記だけでなく、特定の条件を満たすデータだけを転記したり、転記済みのデータを除外したりといった実用的な処理も実現できます。
「条件」コントロールで特定のデータだけを転記する方法
Power Automateでは「条件」コントロールを使うことで、特定の条件を満たす行だけを転記先に書き込む処理が実装できます。
「Apply to each」ループの中に「条件」コントロールを追加し、「はいの場合」のブランチにのみ「表に行を追加」アクションを配置します。
条件として設定できる例としては、「ステータス列の値が”承認済み”と等しい」「売上金額が10000以上」「登録日が今日以降」などが挙げられます。
条件の設定は動的なコンテンツから列の値を選択し、比較演算子(等しい・含む・以上・以下など)を選択するだけで完了するため、コード不要で柔軟な条件分岐が実現できるでしょう。
重複転記を防ぐためのデータ同期設計の考え方
転記フローを定期実行する場合、同じデータが複数回転記されないように重複チェックの仕組みを組み込むことが重要です。
代表的な方法として、転記元のデータに「転記済みフラグ」列を設けておき、転記後に「行の更新」アクションでフラグを「済」に変更する方法があります。
次回の転記フロー実行時には、フラグが「済」でない行だけを転記対象にすることで、重複転記を確実に防げます。
もうひとつの方法として、転記先のテーブルに一意のIDキー列を設け、転記前に「表内の行を一覧表示」で転記先の既存IDを取得し、まだ存在しないIDの行だけを転記する設計も有効でしょう。
Power AutomateのフローをTeamsやメールで通知と連携させる方法
転記フローが完了したときにTeamsやメールで完了通知を受け取れるようにすると、転記が正常に行われたかどうかをリアルタイムで確認できます。
フローの最後に「Microsoft Teams」コネクタの「メッセージを投稿する」アクションや、「Office 365 Outlook」コネクタの「メールの送信」アクションを追加するだけで通知設定が完了します。
通知メッセージには「転記件数」や「実行日時」などの動的コンテンツを含めることで、転記結果の確認がより手軽になるでしょう。
また、転記中にエラーが発生した場合の通知フローを別途設定しておくことで、問題の早期発見と対応が可能になります。
Power Automateのフロー運用と管理のベストプラクティス
続いては、Power Automateのフローを安定して長期運用するためのベストプラクティスを確認していきます。
フローを作って終わりではなく、運用・管理・改善のサイクルを回すことが大切です。
フローのテスト実行と動作確認の方法
作成したフローを本番運用する前に、必ずテスト実行を行い動作を確認しましょう。
Power Automateのフロー編集画面右上にある「テスト」ボタンをクリックすると、フローを手動でテスト実行できます。
テスト実行後は、各アクションの左側に表示されるチェックマーク(成功)やバツマーク(失敗)で、どのステップで問題が起きたかを確認できます。
失敗したアクションをクリックすると詳細なエラーメッセージが表示されるため、原因の特定と修正が行いやすくなっています。
フローの実行履歴で転記の成否を定期チェックする方法
Power Automateでは、フローの実行履歴を確認することで過去の転記処理が正常に完了したかどうかを追跡できます。
フローの詳細画面下部にある「28日間の実行履歴」セクションには、各実行の日時・ステータス(成功・失敗)・実行時間が一覧表示されます。
定期的にこの履歴を確認する習慣をつけることで、フローが静かに失敗し続けている状況を早期に発見できるでしょう。
実行履歴のメール通知を設定しておけば、失敗時に自動でアラートが届くため、見落としを防げます。
フローのプランと実行制限について知っておくべきこと
Power Automateの利用にはプランごとに実行回数や機能の制限があります。
無料プランでは1日あたりの実行回数が制限されており、頻繁に実行するフローには有料プランが必要になる場合があります。
Microsoft 365のサブスクリプションに含まれる標準のPower Automateは、基本的なフロー実行には対応していますが、高度なコネクタや大量実行には上位プランが必要です。
フローを設計する前に、利用しているMicrosoft 365プランに含まれるPower Automateの制限を公式ドキュメントで確認しておくことをおすすめします。
まとめ
本記事では、Power AutomateでExcelからExcelへ転記する方法として、フローの作成手順・クラウド連携の設定・データ同期の実装・フロー運用のベストプラクティスまでを詳しく解説してきました。
Power AutomateはVBAのようなコードを書かずに、GUI操作だけでExcel間の転記フローを構築できる強力なツールです。
クラウド上で動作するため、PCの電源が入っていなくても定時実行され、複数ファイル間のデータ同期や他のMicrosoft 365サービスとの連携も容易に実現できるでしょう。
フローの作成前にExcelファイルのテーブル設定とOneDrive・SharePointへの移動を済ませておくことが、スムーズなフロー構築への近道です。
重複転記防止・エラー通知・実行履歴の定期確認といった運用管理の仕組みも合わせて整備することで、長期間安定して動作するExcel転記自動化システムが完成するでしょう。
Power Automateを活用したExcel転記の自動化で、繰り返しのデータ作業から解放され、より重要な業務に集中できる環境を整えていきましょう。