「データ整形や集計を自動化したい。でも、関数・Power Query・VBAマクロ・Power Automate のどれを使えばいいの?」
そんな風に手が止まってしまうこと、ありますよね。どれも「作業をラクにしてくれる」と聞くと、結局なにを覚えればいいのか分からなくなります。
ここで手段を間違えると、けっこう痛い目を見ます。関数を無理やりネストして数式が読めなくなったり、VBAを覚えたのにデータ整形にしか使わず学習時間が無駄になったり。せっかく自動化しても、本人しか直せない仕組みになって引き継げない、なんてことも起こります。
この記事では、4つの自動化手段を 処理量・繰り返し頻度・学習コスト・更新の手軽さ という4軸の早見表で整理します。さらに「毎月のCSV集計」「複数ファイルの結合」「社外データの取り込み」という具体的な業務シーンごとに、最適な手段を提示します。読み終えるころには、自分の業務にどれを使えばいいかがハッキリ決まっているはずです。
なお本記事は Windows 版 Excel と Microsoft 365 環境 を前提にしています。
Power Queryと関数・VBA・Power Automateの違い【結論】
先に結論からお伝えします。4つの手段は「ライバル」ではなく、得意分野がまったく違う 役割の違うツール です。
ざっくり言うと、それぞれの役割はこうなります。
- 関数(VLOOKUP等): セル単位の「計算・参照」をする
- Power Query: 表まるごとの「取り込み・整形・集計」をする
- VBAマクロ: Excelの操作そのものを「手続きとして自動化」する
- Power Automate: Excelの外も含めた「アプリ間の業務フロー」を自動化する
つまり、データを整形して集計するだけなら Power Query、計算結果を1セルで出したいなら関数、Excel操作を細かく自動化したいなら VBA、複数アプリをまたぐ作業なら Power Automate、というのが基本の住み分けです。
まずは全体像をつかむために、概要を比較表で見てみましょう。
| 比較項目 | 関数 | Power Query | VBAマクロ | Power Automate |
|---|---|---|---|---|
| 主な役割 | 計算・参照 | データ整形・集計 | Excel操作の自動化 | アプリ間の業務フロー |
| 得意な対象 | セル・小規模 | 大量・複数ファイル | Excel全般 | Excelの外まで |
| 学習コスト | 低い | 中くらい | 高い | 中くらい |
| 専門知識 | 数式のみ | GUI操作中心 | プログラミング | GUI操作中心 |
「Power Query と VBA はどっちも自動化でしょ?」と思いがちですが、Power Query が データ加工専用 なのに対し、VBA は Excelで何でもできる代わりに難しい というのが大きな違いです。
関数・Power Query・VBA・Power Automateの基本と特徴
それぞれの中身を、メリットとデメリットを添えて見ていきます。自分が「あ、これは使えそう」と感じるものを探しながら読んでみてください。
関数(VLOOKUP・SUMIF等)の特徴
関数は、みなさんが一番なじみのある手段ですよね。セルに =VLOOKUP(...) のように直接書く、あの数式です。
最大の強みは リアルタイム計算 です。参照元の数字を変えれば、結果が即座に更新されます。学習コストも一番低く、すでに使える人が多いのもポイントです。
=VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE)
→ A2の商品コードを商品マスタから探し、3列目(価格)を返す
一方で弱点もあります。データが数万行を超えると動作が重くなりがちです。また「不要な列を消して、日付の型をそろえて、グループごとに集計する」といった 複数ステップの整形 は、関数のネストでは手に負えません。手順が数式の中に埋もれて、他人が読み解けなくなるのもデメリットです。
なお XLOOKUP のような新しい関数は Microsoft 365 / Excel 2021 以降で使えます。VLOOKUP はどのバージョンでも使えます。
Power Query の特徴
Power Query(パワークエリ)は、Excel 2016 以降の Windows 版に標準搭載されているデータ加工ツールです。「データ」タブの「データの取得と変換」から使えます。
特徴は、取り込み → 整形 → 出力という手順を記録して、更新ボタン1つで何度でも再実行できる こと。一度作ってしまえば、来月も再来月も「更新」を押すだけで同じ集計が完成します。
やること(適用したステップとして記録される):
1. フォルダ内のCSVをすべて取り込む
2. 不要な列を削除する
3. 日付列の型を整える
4. 商品ごとに金額を合計する
→ 完成。来月は「更新」ボタンだけ
メリットは、大量データや複数ファイルの結合に強いこと、そして手順が「適用したステップ」として一覧表示されるので 後から修正・引き継ぎがしやすい ことです。VBAや数式を書かず、ほぼマウス操作だけで完結します。
デメリットは、最初の操作に少し慣れが必要なことと、Mac版Excelでは一部のコネクタ(フォルダー取り込みなど)が制限されている点です。
Power Query をまだ触ったことがない方は、Excel Power Query入門|コピペ集計を卒業する4つの自動化レシピ で基本操作から始めるのがおすすめです。
VBAマクロ の特徴
VBA(Visual Basic for Applications)は、Excel に標準搭載されているプログラミング言語です。「マクロ」と呼ばれるのも、このVBAで書かれた処理のことです。
最大の強みは 自由度 です。セルの書式設定、シートの追加、印刷、メール送信、ダイアログ表示まで、Excelでできる操作はほぼ何でも自動化できます。
Sub 月次レポート作成()
' シートを追加して、書式を整えて、印刷して、メールで送る
' …といった一連の操作をまるごと自動化できる
End Sub
ただし、いいことばかりではありません。プログラミングの学習コストが高く、習得には時間がかかります。書いた本人しか直せない 属人化 も起こりがちです。さらにマクロ有効ブック(.xlsm)が必要で、開くたびにセキュリティ警告が出ます。
ポイントは、データを整形・集計するだけならPower Queryの方が保守しやすい ということ。VBAは「Power Queryでは届かない細かいExcel操作」が必要なときに本領を発揮します。
Power Automate の特徴
Power Automate は、Microsoft のワークフロー自動化サービスです。クラウドで動く「Power Automate」と、パソコン上で操作を自動化する「Power Automate for desktop」があります。
得意分野は アプリ間の連携 です。たとえば「メールに添付ファイルが届いたら、自動でフォルダに保存する」「フォームの回答が入ったらTeamsに通知する」といった、Excelの外まで含めた業務フロー全体を自動化できます。
トリガー: 特定の差出人からメールが届いたら
アクション: 添付のCSVを共有フォルダに自動保存
→ あなたは何もしなくてもファイルが集まる
つまり Power Automate は「Excel単体の作業」よりも、複数のアプリをまたぐ繰り返し作業 に強いツールです。Microsoft 365 ライセンスに基本的なフローが含まれますが、一部の高度な連携(プレミアムコネクタ)は別ライセンスが必要です。
4軸で選ぶ使い分け早見表
ここからが本記事の中核です。4つの手段を 処理量・繰り返し頻度・学習コスト・更新の手軽さ の4軸で評価しました。自分の業務がどの軸を重視するかで、選ぶべき手段が見えてきます。
| 軸 | 関数 | Power Query | VBAマクロ | Power Automate |
|---|---|---|---|---|
| 処理量(大量データ) | △ | ◎ | ○ | ○ |
| 繰り返し頻度 | △(手作業が残る) | ◎(更新ボタン) | ◎(実行ボタン) | ◎(自動トリガー) |
| 学習コスト | ◎(低い) | ○(中くらい) | △(高い) | ○(中くらい) |
| 更新の手軽さ・保守 | ○ | ◎(ステップ可視化) | △(属人化しがち) | ○ |
表の見方を、軸ごとにかんたんに補足しますね。
- 処理量: 数万行を超える大量データなら、関数は重くなります。Power Query が一番得意です。
- 繰り返し頻度: 毎月・毎週など繰り返すなら、手作業が残る関数は不利。Power Query・VBA・Power Automate が有利です。
- 学習コスト: とにかく早く使いたいなら関数。VBAだけはプログラミングの習得が必要で、ハードルが高めです。
- 更新の手軽さ: 仕組みを後から直したり引き継いだりするなら、手順が見えるPower Queryが圧倒的にラクです。
この表から導ける、シンプルな判断の目安はこうです。
- 「1回だけの計算・参照」なら → 関数
- 「毎月くり返すデータ整形・集計」なら → Power Query
- 「Excelの細かい操作まで自動化したい」なら → VBAマクロ
- 「メールや他アプリをまたぐ作業」なら → Power Automate
迷ったときは、まず Power Query で解決できないか を考えるのがおすすめです。データ整形・集計の多くは Power Query でカバーでき、学習コストと保守のバランスが一番いいからです。
各ツールをさらに深く知りたい方は、Power Query 完全ガイド で全体像をまとめています。
業務シーン別・最適な自動化手段の選び方
軸で考えるのが難しければ、よくある業務シーンから逆引きするのが早道です。代表的な3つのケースで見ていきましょう。
毎月のCSV集計
「毎月、同じ形式のCSVをダウンロードして、いらない列を消して、集計表を作る」。この定番作業には Power Query が最適です。
一度「取り込み → 整形 → 集計」の手順を作ってしまえば、来月からは新しいCSVに差し替えて 更新ボタンを押すだけ で完成します。関数だと毎回コピペや数式の調整が必要ですが、その手作業がまるごと消えます。
集計結果を自動で最新化したい場合は、Power Queryの自動更新を設定する方法 も合わせて読むと、さらに手間が減りますよ。
複数ファイルの結合
「1つのフォルダに入った複数のExcelやCSVを、1つの表にまとめたい」。このケースも Power Query の独壇場です。
Power Query には「フォルダから取り込む」機能があり、フォルダ内のファイルを まとめて縦に結合 できます。ファイルが増えても、更新ボタンを押せば自動で取り込まれます。手作業でファイルを1つずつ開いてコピペ…という地獄から解放されます。
具体的な手順は Power Queryでフォルダ内の複数ファイルを結合する方法 で詳しく解説しています。
社外データの取り込み
「取引先からメールで届くCSVを、毎回保存してExcelで集計する」。ここは Power Automate と Power Query の合わせ技 が効果的です。
- Power Automate: 特定の差出人からメールが届いたら、添付ファイルを共有フォルダに自動保存する
- Power Query: そのフォルダを取り込んで、整形・集計する
こうすると「ファイルを保存する」という人の手作業すら自動化できます。Excel単体では届かない「メール → 保存」の部分を Power Automate が担当し、データ加工は Power Query が担当する。役割分担のお手本のような組み合わせです。
組み合わせて使うともっと強い
ここまで4つを比較してきましたが、実は 1つに絞る必要はありません。それぞれの得意分野を活かして組み合わせると、自動化のレベルが一気に上がります。
たとえば、こんな連携が定番です。
- Power Automate でメール添付を自動保存 → Power Query で集計 → 関数 で最終的な計算を1セルで表示
- Power Query で整形した表を土台に、VBA で印刷やメール送信だけを自動化
ポイントは「データ整形は Power Query、細かいExcel操作は VBA、アプリ連携は Power Automate」と、得意な部分だけを担当させる こと。1つのツールで無理に全部をやろうとすると、かえって複雑で壊れやすい仕組みになります。
そもそもPower QueryやPower Pivotといった「モダンExcel」の世界観を知りたい方は、モダンExcelとは?従来のExcelとの違いをやさしく解説 もぜひ読んでみてください。
なお、Google スプレッドシート中心で自動化を考えている方は、Power QueryとGAS・自動化ツールの使い分けガイド や、より大規模なデータ分析を見据えるなら Power Query・Power Pivot・Power BIの違い も判断の参考になります。
まとめ|まず何から始めるべきか
最後に、今日のポイントをコンパクトにおさらいします。
- 関数: セル単位の計算・参照。学習コスト最小だが繰り返し作業には不向き
- Power Query: 大量データの整形・集計が得意。保守しやすく繰り返し作業に最適
- VBAマクロ: Excel操作を何でも自動化できるが学習コストが高く属人化しやすい
- Power Automate: メールや他アプリをまたぐ業務フローの自動化に強い
そして、迷ったときの基本方針はシンプルです。まずは Power Query を試してみてください。データ整形・集計という、事務作業で一番多い悩みを、低めの学習コストでカバーできるからです。
「これは Power Query では届かないな」と感じたとき、初めて VBA や Power Automate を検討すればOKです。自分の業務シーンに合わせて、今日の早見表を判断のものさしにしてみてくださいね。
