こんにちは、SkillStack Lab運営者のスタックです。
毎月、各部署や各拠点から届くExcelファイルを1つずつ開き、同じ表へコピー&ペーストしていませんか。
このような定型的なファイル集計は、Power Queryの「フォルダーから」機能を使うことで、ファイルを1つずつ開かずにまとめられます。
ただし、Power Queryは形式がバラバラなExcelを何でも自動で直してくれる機能ではありません。
Microsoftも複数ファイルの結合について、基本的に同じスキーマを持つファイルを1つのテーブルへまとめる仕組みとして案内しています。
そのため、「先月まで動いていたのに今月は更新できない」「シート名が違うファイルだけエラーになる」「売上と売上額が別々の列になった」といった問題では、Power Queryのコードより先に元ファイルの構造を確認することが重要です。
この記事では、元情シス・現役管理部門長の視点から、Power Queryで複数ファイルを安全に結合する基本手順と、シート名・列名・ファイル形式が違う場合の対処法、翌月以降も壊れにくい運用方法まで解説します。
本番データでクエリを変更する前に、元ファイルと集計ブックを複製し、数件のテストファイルで結果を確認してください。特に経理・人事・売上など重要なデータでは、結合後の行数や合計値まで照合しましょう。
- 同じ構造のファイルは「フォルダーから」でまとめて結合できる
- 結合前に拡張子・フォルダーパスなどで対象ファイルを絞る
- Excelなら対象範囲を同じテーブル名に統一すると安定しやすい
- シート名や列名の違いを無理に位置で吸収しない
- 見出し表記の違いは結合前の変換で正規化する
- エラーをスキップする場合はデータ欠落を必ず確認する
- 翌月はファイル追加後に「すべて更新」して件数・合計を照合する
Power Queryで複数ファイルを結合する基本手順
最初に、もっとも壊れにくい基本形から作ります。
ここでは、各拠点から届く同じ形式のExcelファイルを1つの一覧へ縦方向に追加するケースを想定します。
STEP1|結合専用フォルダーを作る
まず、Power Queryで読み込むファイルだけを保存する専用フォルダーを作ります。
たとえば次のような運用です。
C:\月次売上\取込用\
このフォルダーには、集計対象となるファイル以外を極力入れないようにします。
バックアップ、作業途中のファイル、別帳票などが混在すると、翌月の更新時に想定外のファイルまで処理される原因になります。
STEP2|元ファイルの構造をそろえる
Power Queryによるフォルダー結合で最も重要なのがここです。
できる限り次の項目を統一してください。
- ファイル形式
- 対象となる表・テーブル
- 見出し行の位置
- 列名
- 列の意味
- 日付・数値などのデータ型
Microsoft公式でも、Power Queryのファイル結合は同じスキーマを持つファイルを1つの論理テーブルへまとめる用途として説明されています。
Microsoft公式「Combine files overview」
最も安定するのは、各Excelファイルの対象範囲を同じ名前の「Excelテーブル」にする方法です。
たとえば各拠点ファイルの売上表をテーブル化し、すべて「tblSales」という同じテーブル名にしておけば、Sheet1、東京店、4月売上などシート名が異なっても、結合対象をテーブル名で指定しやすくなります。
STEP3|「フォルダーから」で読み込む
- 集計用Excelを開く
- 「データ」タブを開く
- 「データの取得」を選ぶ
- 「ファイルから」→「フォルダーから」を選ぶ
- 結合専用フォルダーを指定する
- ファイル一覧を確認する
- 「データの変換」を選択する
いきなり「結合して読み込み」を実行するより、最初は「データの変換」でファイル一覧を確認する方法をおすすめします。
Microsoft公式でも、Power Query EditorでExtensionやFolder Pathなどを使い、必要なファイルだけへ絞り込んでから結合できます。
STEP4|結合前に対象ファイルを絞り込む
フォルダーへ接続すると、ファイル名だけでなく、拡張子、フォルダーパス、更新日時、Contentなどの情報が表示されます。
ここで結合対象を先に絞ります。
- Extensionで対象の拡張子だけ残す
- Folder Pathで対象フォルダーを限定する
- Nameでバックアップや対象外ファイルを除外する
- 必要に応じて更新日時などで対象を絞る

Power Queryでは、不要なデータをできるだけ早い段階で除外することが、処理を分かりやすくするうえでも重要です。
STEP5|サンプルファイルを選んで結合する
対象ファイルを絞ったら、Content列にある結合アイコン、または「ファイルの結合」を実行します。
Power Queryは、既定では一覧内の最初のファイルをサンプルとして解析し、そのファイルに対して設定した変換手順を他のファイルにも適用します。
サンプルファイルは選択できますので、最も標準的で正しい構造のファイルを選びましょう。
結合すると、Power Queryは自動的に次のような補助クエリを作成します。
- Sample File
- Transform Sample File
- Transform File関数
- 最終的な結合結果クエリ
サンプルファイルの変換内容を変更すると、その処理が各ファイルにも適用される仕組みです。
STEP6|元ファイル名を残しておく
実務では、結合後も「どのファイルから来た行なのか」が分かるようにしておくことをおすすめします。
標準のフォルダー結合では、元ファイル名を示す列を残せるため、最終確認が終わるまでは削除しない方が安全です。
たとえば集計結果に、次のような列を残します。
| Source.Name | 部署 | 売上 |
|---|---|---|
| 東京.xlsx | 営業1課 | 120000 |
| 大阪.xlsx | 営業2課 | 98000 |
更新後に「大阪ファイルのデータだけない」と気づいたとき、原因を追いやすくなります。
STEP7|翌月は追加して更新する
一度クエリを作れば、翌月以降は同じ構造のファイルをフォルダーへ追加し、Excelで「すべて更新」を実行します。
ただし、「更新が完了した=正しい集計になった」ではありません。
- 対象ファイル数
- 結合後の行数
- 部署・拠点数
- 売上や数量の合計
- 対象期間
- Source.Nameの種類
などを元データと照合してから利用してください。
スタック自動化で重要なのは「クリック数を減らすこと」だけではありません。月次集計なら、誰が更新しても同じチェックを行えるところまで手順化して、初めて実務で使いやすい仕組みになると考えています。
Power Queryで複数ファイルを結合できない主な原因
基本手順どおりに設定しても、元ファイルが変われば更新時にエラーになることがあります。


| 症状 | 主な確認箇所 |
|---|---|
| 一部ファイルだけ結合できない | 拡張子・対象表・見出し位置・破損・認証 |
| キーと一致する行が見つからない | シート名・テーブル名など対象オブジェクト |
| 列が見つからない | 列名の変更・削除・表記揺れ |
| 変換時にErrorになる | データ型と実際の値 |
| 不要な列が大量に増える | ファイルごとの列名・構造の違い |
| 今月だけ更新できない | 新しく追加されたファイルの構造 |
拡張子が混在している
フォルダーの中にExcel、CSVなど異なる種類のファイルが混在しているからといって、必ずその時点でエラーになるとは限りません。
ただしPower Queryの「ファイルの結合」は、サンプルファイルを解析して使用するコネクタや変換処理を決めます。
たとえばCSVを基準に作った変換処理をExcelブックへそのまま適用することはできません。
そのため、結合する前にExtension列で対象ファイル形式を絞るのが基本です。
CSVとExcelを両方取り込む必要がある場合は、それぞれ別クエリで読み込んで同じ列構造へ整形した後、最後に「追加」でまとめる方が処理を理解しやすくなります。
列名やデータ型が変わっている
前月まで「売上」だった列が「売上金額」に変われば、既存クエリの後続ステップが「売上」という列を参照できなくなり、更新エラーになる場合があります。
同様に、金額列へ「未定」「-」などの文字が入れば、数値型への変換でエラーになることがあります。
Microsoftも、元データのテーブル名・列名・データ型の変更はPower Query更新時の問題につながるため注意が必要と案内しています。
見出し行の位置が変わっている
4月ファイルでは1行目が見出しなのに、5月ファイルだけ上部へ「2026年5月実績」というタイトル行が追加されている場合も注意が必要です。
サンプルファイルで「1行目をヘッダーとして使用」していると、5月ファイルではタイトルが見出しとして扱われ、構造が変わってしまいます。
タイトルや注記は集計対象表の外へ出し、入力部分をExcelテーブルにしておくと、このようなレイアウト変更の影響を減らせます。
「エラーのあるファイルをスキップ」は慎重に使う
Power Queryのファイル結合ダイアログには、「Skip files with errors」、つまりエラーになるファイルを最終結果から除外するオプションがあります。
テスト用ファイルや、集計対象外であることが明確なファイルを一時的に除外する場面では便利です。
ただし、売上集計や予算集計で安易に使うのはおすすめしません。
たとえば10部署中1部署のファイルにエラーがあり、その1ファイルだけスキップされれば、Power Query上は残り9部署のデータを返せます。
エラーが出て止まるより、「一部データが欠落したまま正しそうな数字が完成する方が危険な業務もあります。
スキップ機能を使う場合の確認
- フォルダー内の対象ファイル数を確認する
- 出力結果のSource.Nameを確認する
- 全拠点・全部署が含まれているか確認する
- スキップした理由を記録する
- 重要な月次集計では欠落したまま確定しない
シート名が違うExcelファイルを結合する方法
各部署が自由にExcelファイルを作っていると、シート名だけが違うことがあります。
たとえば次のような状態です。
| ファイル | シート名 |
|---|---|
| 東京.xlsx | 東京営業所 |
| 大阪.xlsx | 大阪営業所 |
| 福岡.xlsx | 4月売上 |
サンプルファイルの変換処理で「東京営業所」という名前のシートを直接指定していれば、大阪.xlsxには同じ名前のシートがないため更新できません。


第一候補はシート名ではなくExcelテーブルを統一する
長期運用するのであれば、シート名の違いをM言語で無理やり吸収するより、各ファイルのデータ範囲をExcelテーブルにし、同じテーブル名を付ける方法をおすすめします。
たとえば、すべての入力ファイルで対象範囲を次の名前に統一します。
tblSales
すると、シート名は「東京営業所」「大阪営業所」のままでも、Power Query側では「tblSales」という同じオブジェクトを選択できます。
シートの見た目と、システムが参照するデータ範囲を分離できるため、担当者がシート名を変えた影響も受けにくくなります。
最初のシートを自動取得する方法は最後の手段
Excel.Workbookを使えば、Excelブック内にあるシート・テーブルなどを一覧として取得できます。
そこからKind="Sheet"などを条件に絞り込み、シート名に依存しない処理を作ることも可能です。
ただし、「各ファイルの最初のシートを無条件に読む」という設計はおすすめしません。
翌月、担当者がファイル先頭へ説明用シートを1枚追加しただけで、別の表を読み込んでしまうからです。
どうしてもシート名を統一できない場合は、
- 期待する見出しが存在する
- KindがSheetである
- 対象シートが1つだけ見つかる
など、シート名以外の条件で対象を一意に判定する設計にしてください。
列名・見出しが違うファイルを結合する方法
次に多いのが、同じ意味なのに見出しだけ違うケースです。
| ファイル | 入力されている列名 | 統一後 |
|---|---|---|
| 東京.xlsx | 売上 | 売上 |
| 大阪.xlsx | 売上額 | 売上 |
| 福岡.xlsx | 売上金額(税抜) | 売上 |
この場合、「列名は違うけれど位置は同じだから」と列番号だけを基準に結合するのは危険です。
翌月、途中に新しい列が追加されれば、異なる意味のデータを同じ列へ入れてしまう可能性があります。
基本は結合する前に列名を共通名称へ正規化することです。
Table.RenameColumnsで表記揺れを統一する
表記パターンが決まっているなら、サンプルファイルの変換処理などへ列名変更を追加できます。
Table.RenameColumns(
#"昇格されたヘッダー",
{
{"売上額", "売上"},
{"売上金額(税抜)", "売上"}
},
MissingField.Ignore
)
MissingField.Ignoreを指定すると、指定した旧列名が存在しない場合はその項目を無視できます。
同じファイル内に「売上」と「売上額」が両方存在するなど、変換後に同名列が重複するケースでは別の整理が必要です。表記揺れが増え続けている場合は、M言語を複雑化するより元フォーマットを統一する方が安全です。
列が増減するファイルはTable.Combineも候補
ファイルごとに「備考」などの任意列が存在し、列の増減自体を許容したいケースもあります。
Power Query MのTable.Combineは、複数テーブルを縦方向へ追加する関数です。
出力列を指定しない場合は入力テーブルに存在する列構造の和集合を使い、存在しない列にはnullが入ります。
Table.Combine(#"変換済みファイル"[変換後テーブル])
実際の変換後テーブル部分は、自分のクエリにあるテーブル型の列名へ置き換えます。
ただし、これは「売上」と「売上額」を同じ意味だと判断して統合してくれる機能ではありません。
列名が違えば別の列として扱われますので、意味が同じ列は先に名称を統一します。
新しい列が翌月追加されたときの考え方
標準のファイル結合ではサンプルファイルを基準に展開処理が作られるため、後から別ファイルだけに新しい列が増えても、その列が自動的に最終結果へ追加されない構成があります。
新しい列をどう扱うかは、業務ルールとして先に決めておきましょう。
| 新しい列 | 対応 |
|---|---|
| 勝手に追加された不要列 | 読み込まない |
| 来月以降も正式に使う列 | テンプレートとクエリを正式変更 |
| ファイルによって任意に存在する列 | Table.Combine等の動的構成を検討 |
何でも自動的に取り込む設計は便利に見えますが、知らない列が追加されたことにも気づきにくくなります。
業務上重要なデータでは、仕様変更を検知して止まることが、むしろ安全な場合もあります。
Power QueryとVBAはどちらで複数ファイルを結合するべきか
複数ファイルをまとめる方法として、Power QueryとVBAのどちらを使うか迷う方もいるでしょう。
| 作業 | 第一候補 |
|---|---|
| 同じ構造のCSV・Excelを毎月縦結合する | Power Query |
| 列削除・型変換・表記統一を繰り返す | Power Query |
| セル・シート・印刷・PDFまで細かく操作する | VBA |
| ファイルごとに複雑な画面操作が必要 | VBA等も検討 |
| 大量ファイルやExcel外のAPI処理まで行う | Python等も比較 |
Power Queryの「適用したステップ」は処理内容を画面から確認しやすいメリットがあります。
一方、高度なM言語を大量に書けばPower Queryでも十分ブラックボックス化します。
Power Queryだから属人化しないのではなく、できるだけ標準機能で作り、元データのルールと更新手順を残すことが重要です。
Power Query、VBA、Power Automate、Pythonなどの違いから確認したい方は、Excel自動化の具体例と手段の使い分けも参考にしてください。
Power Queryを壊れにくくする運用ルール
クエリを作る技術より、翌月以降も同じ状態でデータを受け取れる仕組みの方が重要です。
- 入力テンプレートを固定する
見出し、対象テーブル、必須列を決めます。 - 対象Excelテーブル名を統一する
シート名ではなくシステム用のテーブル名を固定します。 - 取込専用フォルダーを作る
処理対象外ファイルを混ぜないようにします。 - 列名を勝手に変更しない
正式な変更時はクエリ側も同時に改修します。 - Source.Nameを残す
どのファイルから来たデータか追跡できるようにします。 - 更新後に件数と合計を照合する
Power Queryの正常終了だけで正しさを判断しません。 - エラー時の戻し方を決める
更新できない場合に元の手作業へ戻せるようにします。
また、Power Queryではフォルダーパスなどをパラメーター化しておくと、保存場所の変更へ対応しやすくなる場合があります。
SharePoint上のファイルは接続方法も検討する
複数人で元ファイルを管理するため、SharePointへファイルを保存している会社も多いでしょう。
この場合、PCへ同期したローカルフォルダーだけに依存するのではなく、SharePoint Folderなど、利用環境に合ったPower Queryの接続方法も検討します。
Power QueryにはSharePointサイト内のファイルを取得する仕組みがあり、フォルダーパスなどで必要なファイルを絞り込めます。
SharePointなどクラウド上のデータでは、アクセス権限や認証情報の変更によって更新できなくなる場合があります。個人アカウントだけに依存したクエリにせず、担当者変更時の接続方法も決めておきましょう。
Power Queryで複数ファイルを結合する際のよくある質問
Power Queryを体系的に学びたい場合
今回のような標準的なフォルダー結合であれば、M言語を最初から暗記する必要はありません。
まず、ファイルの取得、フィルター、見出し設定、データ型、追加、マージ、更新という基本操作を理解し、それでも解決できない部分だけM言語を確認する順番がおすすめです。
複数ファイル結合だけでなく、Power Queryの追加・マージ・ピボット解除などを一通り確認したい方は、Power Queryの実務的な使い方をまとめた記事へ進んでください。
操作画面を見ながら体系的に学びたい方は、UdemyのExcelおすすめ講座を目的別に比較した記事で、Power Queryを扱う講座の選び方も紹介しています。
まとめ|複数ファイル結合は元データをそろえることが最重要


Power Queryを使えば、毎月同じ構造で届く複数のExcelやCSVを、ファイルを1つずつ開かずにまとめられます。
- 結合専用フォルダーを用意する
- 同じスキーマのファイルを基本とする
- ExtensionやFolder Pathで対象を先に絞る
- 正しいサンプルファイルを選ぶ
- Excelなら対象テーブル名を統一する
- 見出し表記は結合前に正規化する
- 列位置だけに依存した結合は避ける
- Source.Nameを残して元ファイルを追跡する
- 更新後は件数・合計値を照合する
Power Queryで複数ファイル結合を安定させる一番のコツは、高度なM言語を書くことではなく、入力ファイルのルールをできるだけ統一することです。
毎月発生するデータ整形をPower Queryへ任せられるようになると、「ファイルを開く・コピーする・貼り付ける」という作業を減らし、その後の確認や分析へ時間を使いやすくなります。
フォルダー結合だけでなく、マージやピボット解除まで含めてPower Queryを整理したい方は、次の記事へ進んでください。
\ Power Queryを実務で使う /
Power Queryの画面、コネクタ、利用できる設定はExcelのバージョンやOS、接続先によって異なる場合があります。企業データへ適用する場合は、勤務先の情報管理・アクセス権限・保存場所に関するルールも確認してください。








