「社内ではExcel、でも取引先との共有はGoogleスプレッドシート… このデータのコピペ、なんとかならないの?」
日々の業務で、ExcelとGoogleスプレッドシート、両方を使っている方は多いのではないでしょうか?
特に、社内システムから出力されたExcelデータを、外部共有のためにGoogleスプレッドシートに転記する作業。
手作業でコピペを繰り返していませんか?
単純な作業に見えても、件数が増えれば時間はかかるし、コピペミスも起こりがち。
「たったこれだけの作業なのに時間がもったいない!」と感じている方も少なくないはずです。
その面倒なコピペ作業、Power QueryとPower Automateで自動化できます!
今回はメールで受け取ったExcelファイルのデータを、自動でGoogleスプレッドシートに同期する方法をご紹介します。
動画で見たい方はコチラ
全体の設計
PowerQueryとPowerAutomateの使い分け
今回も活躍するのは、業務改善の強力な味方
Power QueryとPower Automateです。
- Power Query: 今回は、送信されるExcelファイルの中身を事前に整理するために使用します。
- Power Automate: メール受信をきっかけに、Excelデータの取得からGoogleスプレッドシートへの書き込みまで、一連の流れを自動化します。
この2つを組み合わせることで
「メールで届いたExcelデータを、指定のGoogleスプレッドシートに自動で反映させる」という
仕組みが実現可能です。
完成イメージ

今回の仕組みを導入すると、以下の流れが自動で実行されます。
- メール受信: 特定の条件(件名や送信者など)を満たすメールがGmailに届きます(Excelファイルが添付されている想定)。
- Power Automate起動: メール受信をトリガーとして、Power Automateのフローが自動で開始されます。
- データ処理: Power Automateが添付されたExcelファイルの内容を読み取り、処理します。
- スプレッドシート更新: 処理されたデータが、Googleスプレッドシートの指定されたシートに自動で書き込まれます。
つまり、あなたがやることは、送られてきたメールを確認することだけ!
面倒なファイルのダウンロード、コピペ、アップロードといった作業は一切不要になります。
Power Queryでの前処理
Power Automateでスムーズに処理を進めるために
送信されるExcelファイルの事前準備を行います。
Power Queryを使って
顧客データが含まれるExcelファイルを事前に以下のように処理します。
- データ読み込み: 元となる顧客リストをPower Queryに読み込みます。
- データ分割 (参照): Power Queryの「参照」機能を利用し、元のクエリを複製。これにより、元データに変更があっても、他のクエリに自動で反映されるようになります。
- ステータスごとにフィルター: 複製したクエリそれぞれにフィルターをかけ、「新規」「既存」「休眠」のステータスを持つ顧客データのみを抽出します。
- Excel出力: フィルター後のデータを、それぞれ「新規」「既存」「休眠」という名前のシートに出力します。

なぜ前処理が必要?
Power Automateだけでもデータ抽出は可能ですが、Power Queryで事前にデータを整理・分割しておくことで、
- Power Automate側のフロー構築がシンプルになる
- 処理速度が向上する可能性がある
- データの整合性を保ちやすくなる
といったメリットがあります。
送信側で一手間加えるだけで、自動化全体の効率と安定性が格段に向上するのです。