毎月おなじ作業をしている。
システムからCSVを落とす。不要な行を消す。列を並べ替える。取引先名の表記を揃える。前月ぶんとくっつける。ピボットで集計する。
30分。毎月やっている。
「マクロを組めば早いのでは」と思う。ただ、VBAを書くのは腰が重いし、書いたあと誰も直せなくなる。
その中間に、Power Queryがある。 コードを書かずに、手順を記録して、毎月ボタン1つで再現できる。
この記事は育ちます。公開後も、会話パート・トーク・補足を足していきます。
公開 2026-10-24 / 最終更新 2026-10-24(公開)
水深 — Power Queryは何をする道具か
Excelに標準で入っている機能だ。データタブの「データの取得と変換」のあたりにある。
やることは3つに分けられる。
- 取得 CSV、Excel、フォルダ、データベースから読む
- 変換 いらない行を消す、列を分ける、表記を揃える、集計する
- 読み込み 結果をシートかピボットに出す
このうち、変換の手順が全部記録される。ここが肝心なところになる。
画面で「この列を削除」「この列を分割」と操作すると、右側に手順が1行ずつ積み上がっていく。
翌月、新しいCSVに差し替えて「更新」を押すと、同じ手順が上から順に実行される。
VBAとの違い
似たことはVBAでもできる。違いを並べる。
| Power Query | VBA | |
|---|---|---|
| 書き方 | 画面の操作 | コードを書く |
| 手順の見え方 | 一覧で見える | コードを読む |
| 途中の確認 | 各ステップの結果が見られる | 実行しないと分からない |
| 直すとき | 該当ステップをクリック | コードを探す |
| できること | データの整形が中心 | 何でもできる |
| 動く場所 | Excel、Power BIなど | Excel |
いちばん大きいのは、途中が見えることだと思う。
VBAは、実行して結果が変だったとき、どこで壊れたか分からない。Power Queryは、手順を1つずつクリックすれば、その時点でのデータの状態が表示される。
デバッグが目で見てできる。 これは初めて触る人にとって、かなり大きい。
そして、引き継ぎやすい。コードが読めない人でも、手順の名前は読める。「削除された列」「置き換えられた値」「グループ化された行」と日本語で並ぶ。

よく使う操作、10個
実務でこれだけ覚えれば足りる、という範囲を挙げる。
① 不要な行の削除
上から◯行削除、空白行の削除、重複の削除。
② 1行目をヘッダーにする
システムから出したCSVは、上に説明行が入っていることがある。それを消して、次の行を見出しにする。
③ 列の削除・並べ替え
使わない列を消す。順番を変える。
④ 値の置換
「株式会社」を「(株)」に揃える、など。表記ゆれをここで潰す。
⑤ 列の分割
区切り文字で分ける。「東京都渋谷区…」を分ける、氏名を姓と名に分ける。
⑥ 型の変更
文字列、数値、日付を指定する。ここで日付を正しく指定しておくと、あとで楽になる。
⑦ フィルター
条件に合う行だけ残す。
⑧ 列の追加
計算列を足す。条件列(IFのようなもの)も画面で作れる。
⑨ グループ化
取引先ごとの合計、月ごとの件数。ピボットに近いことがここでできる。
⑩ クエリのマージ/追加
- マージ 2つの表を、キーで横につなぐ(VLOOKUPに相当)
- 追加 2つの表を、縦に積む(12か月ぶんをつなぐ)
⑩がいちばん強い。VLOOKUPを1件ずつ探すのではなく、まとめて突き合わせるので速い。
フォルダ内の全ファイルをまとめる
Power Queryでいちばん感動したのがこれだった。
「フォルダから」を選ぶと、指定したフォルダの中の全ファイルを、1つの表にまとめられる。
- 部署ごとに提出された12個のExcel
- 月ごとに分かれたCSV
- 支店ごとの売上ファイル
これを全部読んで、縦に積む。ファイルを1つ足せば、更新するだけで反映される。
いままで手で開いてコピーしていた作業が、消える。
条件は、ファイルの形が揃っていること。列の順番や見出しが違うと、そこで崩れる。
だから提出フォーマットを配るところから始める。これは前にFAXの話で書いたのと同じで、入力の形を揃えるのが先になる。
手順を、あとから直せる
もうひとつの利点。
3か月後に「この列も必要になった」となったとき。
手順の一覧から、該当するステップをクリックする。その時点の状態が表示される。列を削除したステップなら、削除する列の指定を変えるだけでいい。
そして、その後のステップは自動で再実行される。
VBAなら、コードを読み直して、該当箇所を探して、書き換えて、動かしてみる、という手順になる。Power Queryは、直したいところをクリックするだけだ。
注意しておくこと
いいことばかり書いたので、詰まるところも書く。
① ファイルのパスが変わると壊れる
「Cドライブの◯◯フォルダ」と記録されている。ファイルを移動すると、そこで止まる。
対策は、「データソース設定」からパスを変える。または、最初から共有フォルダの決まった場所に置く。
② 列名が変わると壊れる
「取引先名」という列を削除する手順が記録されている。元のCSVで列名が「取引先」に変わると、見つからずエラーになる。
システム側の仕様変更で起きる。エラーメッセージに列名が出るので、原因は分かりやすい。
③ 重いファイルでは時間がかかる
数十万行を扱うと、更新に数分かかることがある。それでも手作業よりは速い。
④ 変換したデータは、元に戻せない
Power Queryは元ファイルを書き換えない。読み込んで、加工して、新しい表を出すだけ。これは安全な設計だが、「元ファイルを直したい」用途には使えない。
⑤ 日本語の情報が、まだ少ない
VBAに比べると、調べたときに出てくる情報が少ない。エラーの原因を探すのに時間がかかることがある。

VBAを使うべき場面
じゃあVBAはいらないのかというと、そうではない。
Power Queryが向く
- データを読んで、整えて、集計する
- 複数ファイルをまとめる
- 毎月同じ形のデータを処理する
VBAが向く
- Excelの操作そのものを自動化する(シートを作る、印刷する、保存する)
- メールを送る、他のアプリを動かす
- 入力画面を作る
- 帳票を1枚ずつPDFにする
データの整形はPower Query、Excelの操作はVBA。 この線で分けると、両方の得意なところが使える。
そして実務では、組み合わせることも多い。Power Queryでデータを整えて、VBAで印刷・保存する、という形になる。
最初にやってみるなら
いちばん手応えのある入口は、「フォルダから複数ファイルをまとめる」だと思う。
手順はこうなる。
- データタブ →「データの取得」→「ファイルから」→「フォルダから」
- フォルダを選ぶ
- 「データの変換」を押す(「結合」より先に、中身を見る)
- 不要な列を消して、1行目をヘッダーにして、型を指定する
- 「閉じて読み込む」
30分くらいで、毎月の作業が1回消える。
そして一度作れば、来月は更新ボタンを押すだけになる。
手順が残る、ということ
最後に、この道具の本質だと思うところを書く。
手作業には、手順が残らない。
毎月やっている人の頭の中にはあるが、どこにも書かれていない。だから引き継ぎのときに「まず不要な行を消して、それから…」と口で説明することになる。
このブログの最初のほうで、引き継ぎの話を書いた。前任者から渡されたのは、口頭とノートだけだったという話だ。
Power Queryは、手順そのものが成果物になる。ファイルを渡せば、手順も一緒に渡る。
自動化の価値は、速くなることだけではないと思う。やっていることが目に見える形で残ること。引き継ぎのときに、それがいちばん効く。
航路 — 書かずに、残す
整理する。
- Power Queryは、データの取得・変換・読み込みを、画面の操作で行う道具
- 変換の手順が1行ずつ記録され、翌月は更新ボタンで再現できる
- VBAとの最大の違いは、途中の状態が目で見られること
- よく使うのは、不要行の削除・列の分割・値の置換・型の変更・グループ化・マージ/追加
- フォルダ内の全ファイルを1つの表にまとめられるのが強い
- 詰まるのは、パスの変更、列名の変更、情報の少なさ
- データの整形はPower Query、Excelの操作はVBA
- いちばんの価値は、手順が成果物として残ること
「マクロを組むほどでもないが、毎月やっている」という作業が、いちばん多いと思う。
そこに合う道具が、Excelの中にもとから入っていた。使われていないだけだった。
30分の作業を月1回。年6時間。それが数分になる。しかも手順が残る。試してみる価値は、じゅうぶんにあると思う。
M言語という、裏側
Power Queryは画面の操作で使えるが、裏ではM言語というコードが生成されている。
「詳細エディター」を開くと、それが見られる。
書けなくても問題ない。ただ、読めると便利な場面がある。
- 手順が多すぎて、画面で追うのが大変なとき
- 他の人が作ったクエリを理解したいとき
- 同じ処理を、別のクエリにコピーしたいとき
コードは、こういう形をしている。
let
ソース = Csv.Document(File.Contents(“C:\data\売上.csv”)),
昇格されたヘッダー数 = Table.PromoteHeaders(ソース),
削除された列 = Table.RemoveColumns(昇格されたヘッダー数,{“備考”})
in
削除された列
日本語で書かれているので、なんとなく読める。「ソースを読んで、ヘッダーを昇格して、列を削除する」と書いてある。
VBAより読みやすいと思う。手順が上から順に並んでいて、それぞれに名前が付いているからだ。
使い回せる形にする
同じような処理を複数のファイルでやるなら、工夫できる。
① パラメーターを使う
ファイルのパスや、対象年月を「パラメーター」として外に出す。
これをやっておくと、毎月の指定を1か所変えるだけで済む。クエリの中身を触らなくていい。
② クエリをコピーする
作ったクエリは、右クリックでコピーできる。別のブックに貼り付けることもできる。
③ 途中で分岐させる
1つのクエリを途中まで作って、そこから「参照」で2本に分ける。共通部分を1回だけ書けばよくなる。
たとえば、「CSVを読んで整える」までを共通にして、そこから「月次集計」と「取引先別集計」に分ける。元の整形を直せば、両方に反映される。
Power Query と ピボットの組み合わせ
前に書いたピボットの話とつながる。
- Power Query データを整える(縦持ちにする、複数ファイルをまとめる、表記を揃える)
- ピボット 整ったデータを、切り口を変えて見る
この2つを組み合わせると、関数をほとんど書かずに月次資料ができる。
とくに、横持ちの表を縦持ちに変換する機能が強い。
「列のピボット解除」という操作がある。月ごとに列が並んだ表を選んで、これを押すと、縦持ちのリストに変わる。
| 部署 | 月 | 金額 |
|---|---|---|
| 営業 | 4月 | 100 |
| 営業 | 5月 | 120 |
この形になれば、あとはピボットで自由に集計できる。
手作業で縦持ちに直していた作業が、ボタン1つで終わる。 ここがいちばん感動するところだと思う。
どこから手をつけるか
「毎月やっている作業」を1つ選んで、そこだけやってみるのがいいと思う。
選ぶ基準は、
- 毎月やっている(1回きりなら手でやったほうが速い)
- 手順が決まっている(毎回判断が入るものは向かない)
- 元データの形が同じ(列が毎回変わると壊れる)
この3つを満たす作業が、たぶん1つはある。
そして、最初の1回は手作業より時間がかかる。それは覚悟しておく。2回目から回収が始まる。
年に12回やる作業なら、3か月で元が取れる計算になる。
引き継ぎのときに、何を渡すか
最後に、この記事を書いた動機の話を。
このブログの最初のほうで、引き継ぎについて書いた。前任者から渡されたのは口頭とノートだけで、資料はゼロだった、という話だ。
あのとき欲しかったのは、マニュアルではなかったと思う。マニュアルは書いた時点で古くなる。
欲しかったのは、動くものだった。
Power Queryで作ったクエリは、動くし、手順が読める。「なぜこの列を消しているのか」は書かれていないが、「消している」という事実は残る。
マニュアルに「不要な列を削除します」と書いてあっても、どの列かは分からない。クエリには、列名が書いてある。
手順が成果物になるというのは、そういうことだと思う。引き継ぐ相手に、説明ではなく、実物を渡せる。

この記事は、まだ書きかけです
この記事は、公開してから足していく形にしています。調べたことを書いた本文がまず先にあって、あとから「聞き手と話し手の会話」「あとで思い出したこと」「読んだ人から教わった補足」が積もっていきます。
だから、同じURLでも半年後には別のものになっているはずです。もし一度読んだことがある記事なら、下の更新ログだけ見てください。増えたところが分かります。
更新ログ
- 2026-10-24 公開(本文のみ。会話パートはこれから足します)
