パワークエリの使い方|複数ファイル結合・マージ・ピボット解除を実務解説

パワークエリによるデータ処理の自動化イメージ

こんにちは、SkillStack Lab運営者のスタックです。

毎月届く複数のCSVやExcelファイルを開き、コピーして1つの集計表へ貼り付ける作業に時間を取られていませんか。

結論から言うと、同じ形式のデータを繰り返し取得・結合・整形する業務には、Power Queryが向いています。

最初に処理手順を作れば、翌月以降は元ファイルを差し替えたり追加したりして、クエリを更新することで同じ処理を再実行できます。

一方、セルへの細かな入力制御、帳票の連続作成、ボタン操作、Outlookとの連携などは、VBAやPower Automateの方が適している場合があります。

この記事では、複数ファイルの結合、VLOOKUPの代わりになるマージ、ピボット解除、日付型の設定、行数が増える原因、更新できない場合の確認点まで、実務で使う順番に整理します。

先に結論
  • 毎月同じ形式のファイルをまとめる:フォルダーから結合する
  • 明細へマスタ情報を追加する:クエリをマージする
  • 月別に横へ並んだ表を分析する:列のピボットを解除する
  • 帳票作成や細かなセル操作を自動化する:VBAなど別の方法も比較する
この記事で分かること
  • Power QueryとVBAの違い
  • 複数のCSV・Excelファイルを結合する手順
  • マージ後に行数が増える原因と防ぎ方
  • 更新エラーや属人化を防ぐ運用ルール
目次

Power Queryとは?実務で向いている作業

Power Queryは、複数のデータソースから情報を取得し、不要な行や列の削除、データ型の変更、結合、集計などを行うためのデータ準備機能です。

Excelでは、主に「データ」タブの「データの取得と変換」から利用します。表示される名称や利用できるコネクタは、Excelのバージョン、OS、契約プランによって異なる場合があります。

Microsoft LearnでPower Queryの概要を確認する

比較項目Power QueryVBA
得意な処理データの取得・結合・整形セル・シート・帳票などの操作
処理の作り方画面操作を中心に手順を設定VBAコードを記述
翌月以降の実行元データを差し替えて更新マクロを実行
高度な調整M言語を編集する場合があるVBAコードを編集する
向いている例CSV結合、マスタ結合、表記統一帳票作成、PDF保存、入力制御
データの取得と整形に向くPower Queryとセル操作に向くVBAの違い

Power Queryは「コードを一切使わない機能」とは限りません

一般的な結合や整形は画面操作で設定できますが、すべての処理は内部的にM言語として記録されています。複雑な条件や動的な設定では、高度なエディターでM言語を調整する場合があります。

複数ファイルをフォルダーから一括結合する方法

Power Queryの代表的な用途が、同じ形式で作られた複数ファイルの一括結合です。

各支店から届く売上データや、毎月出力するCSVを1つの一覧へまとめる作業に向いています。

  1. 結合専用のフォルダーを作る
    処理対象以外のファイルが混ざらない場所を用意します。
  2. 同じ構造のファイルを保存する
    列名、列数、データ型、対象となるシートやテーブルの構造をそろえます。
  3. フォルダーを指定する
    Excelの「データ」から「データの取得」「ファイルから」「フォルダーから」の順に進みます。
  4. 結合と変換を選ぶ
    ファイル一覧を確認し、「結合と変換」または同等のメニューを選びます。
  5. サンプルファイルを基準に処理を設定する
    不要な列の削除、見出し設定、データ型の変更などを行います。
  6. 結果を読み込む
    問題がなければ、ワークシートまたはデータモデルへ読み込みます。
  7. 翌月以降はファイルを追加して更新する
    同じフォルダーへ新しいファイルを保存し、クエリを更新します。
月別のCSVファイルをフォルダーから取得して1つの表へ結合する流れ

Microsoft Learnで複数ファイルの結合方法を確認する

ファイル結合で失敗しやすいポイント

  • 列名が「売上」「売上額」のように統一されていない
  • CSVとExcelなど、異なる種類のファイルが混ざっている
  • 見出しより上にタイトルや空白行が追加されている
  • 対象外の一時ファイルやバックアップファイルが混ざっている
  • Excelファイル内の対象シートやテーブル構造が異なる
  • 数字の列へ文字や記号が入力されている

ファイル結合では、必ずしもすべての列が完全一致していなければ読み込めないわけではありません。

ただし、構造が異なるファイルを混ぜると、意図しない列が追加されたり、値が空白になったり、変換エラーが発生したりします。社内で入力フォーマットを統一しておくことが重要です。

VLOOKUPの代わりにクエリをマージする

売上明細へ商品マスタの名称や単価を追加するときは、Power Queryの「クエリのマージ」を利用できます。

マージは、2つの表に共通する商品ID、社員番号、取引先コードなどを基準にして、必要な列を横方向へ追加する処理です。

VLOOKUP関数とPower Queryのマージを使ったマスタ結合の違い
  1. 2つの表をクエリとして取り込む
    明細データとマスタデータをそれぞれPower Queryへ読み込みます。
  2. 基準となるクエリを選ぶ
    商品名などを追加したい明細側のクエリを開きます。
  3. クエリのマージを選ぶ
    「ホーム」タブなどからマージを実行します。
  4. 共通キーを選択する
    両方の表で商品IDなどの列を選びます。複数列を使う場合は、同じ順番で指定します。
  5. 結合方法を選ぶ
    明細側の全行を残す場合は、一般的に左外部結合を選びます。
  6. 必要な列だけ展開する
    結合されたテーブルから、商品名や単価など必要な列を選びます。
  7. 行数と合計金額を確認する
    マージ前後で件数や集計結果が変わっていないか確認します。

Microsoft Learnでクエリのマージを確認する

比較項目検索関数Power Queryのマージ
結果の反映数式としてシート上で計算クエリ更新時に結果を作成
元データの変更再計算で結果が変わる更新すると再取得・再変換される
複数列での結合補助列が必要になる場合がある複数のキー列を指定できる
向いている場面シート上で結果を随時確認したい定型的なデータ加工を繰り返す

マージ後に行数が増える原因

マージ後に明細の行数が増えた場合は、結合先のマスタに同じキーが複数存在していないか確認してください。

たとえば、商品マスタに商品ID「A001」が2行ある場合、明細側の「A001」1行に対して、マスタ側の2行が紐づく可能性があります。

マスタ側のキー重複によってマージ後の行数が増える原因と対策
マージ前後で確認すること
  • マスタ側のキーが一意になっているか
  • マージ前後の明細行数が一致しているか
  • 売上や数量などの合計が一致しているか
  • 一致しなかった行に空白が発生していないか
  • 全角・半角、前後の空白、データ型がそろっているか

重複行を機械的に削除する前に、同じキーが複数存在する理由も確認してください。

価格改定履歴や所属履歴など、複数行あることが正しいマスタもあります。その場合は、適用日や有効フラグを条件にして、必要な1行へ絞り込む設計が必要です。

ピボット解除で横持ちデータを縦持ちへ変換する

「商品名・4月・5月・6月」のように月が横へ並んだ表は、人が読むには分かりやすい一方、集計や分析には扱いにくい場合があります。

Power Queryの「列のピボット解除」を使うと、月別の列を「月」と「金額」の2列へまとめられます。

月別に横へ並んだ表を商品・月・金額の縦持ちデータへ変換する流れ
  1. 固定したい列を選ぶ
    商品コード、商品名、部署名など、縦持ちにしても残す列を選びます。
  2. その他の列のピボット解除を実行する
    月別列など、今後増える可能性がある列を縦方向へ変換します。
  3. 列名を変更する
    「属性」を「年月」、「値」を「売上金額」など、内容が分かる名前へ変更します。
  4. データ型を設定する
    年月、金額、数量などの型を確認します。

毎月新しい月の列が追加される表では、「月の列をすべて選ぶ」より、商品コードなどの固定列を選んで「その他の列のピボット解除」を使う方が、更新後の列追加にも対応しやすくなります。

日付の変換エラーをデータ型とロケールで防ぐ

CSVから取り込んだ日付が文字列として認識されると、年月の抽出、期間計算、ピボットテーブルでのグループ化が正しく動かないことがあります。

Power Queryでは、列見出しの左側に表示されるアイコンから、テキスト、整数、小数、日付、日時などのデータ型を指定できます。

Power Queryでテキスト型の列を日付型へ変更する操作
症状主な原因確認方法
日付型へ変換するとエラーになる日付以外の文字が混ざっているエラー行を抽出して元データを確認する
月と日が逆になる地域設定の解釈が異なるロケールを指定して型を変更する
空白がエラーになる空文字や特殊な記号が含まれている置換やトリミング後に型を設定する
数字が文字列になる通貨記号やカンマが混ざっている不要文字を取り除いて数値型へ変換する

「01/02/2026」のように地域によって月日を逆に解釈できるデータは、単に日付型へ変更するだけでは誤変換される可能性があります。

その場合は「ロケールを使用して型を変更」などの機能を使い、元データがどの地域形式で作られているかを指定してください。

Microsoft LearnでPower Queryのデータ型を確認する

Power Queryが更新できないときの確認点

最初は動いていたクエリが翌月に更新できなくなった場合、コードよりも元ファイルや保存場所の変更が原因になっていることがあります。

  • 保存場所:参照しているファイルやフォルダーが移動・改名されていないか
  • 列名:元データの列名が変更・削除されていないか
  • ファイル構造:対象シート、テーブル、見出し行の位置が変わっていないか
  • データ型:数字列へ文字や記号が混ざっていないか
  • 認証情報:SharePointやWebなどへの接続権限が切れていないか
  • 不要ファイル:一時ファイルや異なる形式のファイルが混ざっていないか
  • 適用したステップ:途中の列削除や列名変更で参照先がなくなっていないか

出力されたテーブルへ手入力列を混ぜない

Power Queryから読み込んだ結果は、更新時に再作成されます。出力テーブルへ直接入力したメモや補足列は、更新によって消えたり、行との対応がずれたりする可能性があります。

手入力情報を残したい場合は、社員番号や商品IDなどのキーを持つ別テーブルで管理し、Power Queryでマージする方法を検討してください。

Power Queryが向かない業務

Power Queryはデータの取得と変換に強い機能ですが、Excel業務のすべてを自動化できるわけではありません。

自動化したい業務検討したい方法理由
セル入力に応じて即座に処理する関数・VBAPower Queryは更新を実行して結果を作るため
取引先別の帳票を連続作成するVBAセル、シート、印刷、PDF操作に向くため
Web画面やメールも操作するPower AutomateExcel以外のアプリ操作が必要なため
大量ファイルやAPIを処理するPythonExcelの外にある処理を設計しやすいため
複数人で承認や履歴を管理するSaaS権限、履歴、ワークフローが必要なため

Power Query、VBA、Power Automate、Python、SaaSのどれを選ぶか迷う場合は、Excel自動化の方法と具体例を比較した記事で、業務別の判断基準を確認してください。

Power Queryを属人化させない運用ルール

画面操作だけで作ったクエリでも、作成者しか更新方法を知らなければ属人化します。

実務へ導入する場合は、少なくとも次の情報を残してください。

クエリと一緒に残す管理情報
  • クエリの目的と出力先
  • 元ファイルを保存するフォルダー
  • 必要な列名とファイル構造
  • 更新する担当者と更新頻度
  • 更新前後に確認する件数と合計値
  • エラーが発生した場合の確認手順
  • 処理を止めて手作業へ戻す方法
  • 最終確認日と変更履歴

「削除された列1」「変更された型2」のようなステップ名が増えると、後から見た人が処理を理解しにくくなります。

重要なステップには「不要列を削除」「商品マスタを結合」など、処理内容が分かる名前を付けましょう。

本番更新の前には、テスト用ファイルを使い、行数、金額、日付範囲、重複件数などを確認してください。

Power Queryを効率よく学ぶ方法

Power Queryは、公式ドキュメントや無料記事だけでも基本操作を学べます。

一方、複数ファイルの結合やマージは、取り込むファイルの状態によって表示される画面やエラーが変わります。

私も最初は書籍を中心に学びましたが、実務に近い複雑なデータを扱った際に、画面操作と処理のつながりを理解しにくいと感じることがありました。

操作画面を見ながら学びたい人は、動画講座を使い、講師と同じ練習データを自分のExcelで動かす方法が向いています。

書籍と動画講座でPower Queryの操作を学ぶ場合の違い

講座を選ぶときは、次の内容が含まれているか確認してください。

  • Excelのバージョンと講座画面が大きく違わないか
  • 複数ファイルのフォルダー結合を扱っているか
  • 追加とマージの違いを説明しているか
  • ピボット解除とデータ型を扱っているか
  • 更新エラーの原因と確認方法を学べるか
  • 演習用のCSVやExcelファイルが付属しているか

Excel、Power Query、ピボットテーブルなどを動画で体系的に学びたい方は、実務向けUdemyのExcel講座を比較した記事で、自分に合う講座の選び方を確認してください。

Power Queryのよくある質問

Power Queryはプログラミング不要ですか?

一般的な列削除、フィルター、追加、マージ、ピボット解除は、主に画面操作で設定できます。

ただし、処理は内部的にM言語で記録されています。画面上の機能だけで対応できない変換では、M言語を編集する場合があります。

追加とマージは何が違いますか?

追加は、同じ列構造のデータを縦方向へ積み上げる処理です。月別ファイルや支店別ファイルを1つにまとめる場合に使います。

マージは、共通のキーを使って別の表から列を横方向へ追加する処理です。売上明細へ商品名や単価を追加する場合に使います。

マージすると行数が増えるのはなぜですか?

結合先のマスタに同じキーが複数存在すると、1つの明細行へ複数のマスタ行が紐づき、結果の行数が増えることがあります。

マージ前にキーの重複を確認し、必要に応じて適用日や有効フラグで対象行を絞ってください。

元ファイルを追加すれば自動で反映されますか?

フォルダーを参照するクエリでは、同じ構造のファイルを対象フォルダーへ追加し、クエリを更新することで反映できます。

ファイル構造や列名が変わった場合は、クエリの修正が必要になることがあります。

Power QueryがあればVBAは不要ですか?

不要になるとは限りません。

データの取得・結合・整形はPower Query、セル・シート・印刷・帳票などの操作はVBAというように、処理の目的で使い分けます。

Power Queryで元データは変更されますか?

通常の取得・変換処理では、Power Query内でデータを加工し、読み込み元ファイルを直接上書きするものではありません。

ただし、出力されたテーブルは更新時に再作成されるため、結果表へ直接入力したデータが失われないよう注意してください。

まとめ|Power Queryは繰り返すデータ整形に使う

Power Queryで定型的なデータ処理を自動化し分析時間を確保する流れ

Power Queryは、同じ形式のデータを繰り返し取得・結合・整形する業務に向いています。

  • 同じ構造の複数ファイルはフォルダーから結合する
  • 別表から項目を追加するときはマージを使う
  • マージ前後の行数と合計値を確認する
  • 横持ちデータはピボット解除で縦持ちへ変換する
  • 日付や数値はデータ型とロケールを確認する
  • 出力テーブルへ手入力情報を混ぜない
  • 更新方法とエラー時の確認手順を残す

最初から複雑な月次決算や給与データを対象にするのではなく、失敗しても元の手作業へ戻せる小さな集計から試してください。

操作画面を見ながらPower Queryを学びたい方は、Excel講座の対象レベル、演習データ、更新日、Power Queryの対応範囲を比較しましょう。

Power Queryを動画で体系的に学ぶ

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次