excel

【Excel】エクセルのデータを結合する方法(複数ファイルを統合・合体・まとめる)

複数ExcelファイルをPower Queryで統合する方法
当サイトでは記事内に広告を含みます

複数のExcelファイルに分かれた売上、顧客一覧、作業記録などを一つにまとめたい場面は少なくありません。

手作業でコピーして貼り付ける方法でも結合できますが、ファイル数が増えると転記漏れ、列ずれ、重複データが起こりやすくなります。

Excelでは、目的に応じてコピーと貼り付け、Power Query、数式、VBAを使い分けることで、複数ファイルのデータを正確に統合できます。

同じ列構成の表を縦につなぐ場合はPower Queryが便利です。

別シートや別ファイルの項目を照合して集める場合は、XLOOKUP関数やVLOOKUP関数が役立ちます。

元データを変更した後も更新したい場合は、手入力ではなく更新可能な仕組みを選びましょう。

この記事では、複数のExcelファイルを統合、合体、まとめる代表的な方法を、サンプルデータと操作の考え方を交えて解説します。

 

複数ExcelファイルをPower Queryで統合する方法

ファイル名 1行目の見出し 統合後の扱い
東京.xlsx 日付・商品・売上 行を追加
大阪.xlsx 日付・商品・売上 行を追加
名古屋.xlsx 日付・商品・売上 行を追加

それではまず、複数ファイルの表を一つの一覧へ結合するPower Queryについて解説していきます。

同じ形式のファイルを定期的にまとめるなら、Power Queryによるフォルダー統合が最も再利用しやすい方法です。

統合する前に、各ブックの1行目を同じヘッダーにそろえ、不要なタイトル行や空白行を除いておくことが大切です。

例として、各ファイルの1行目を「日付」「商品名」「数量」「売上金額」とします。

見出しの表記が「売上」と「売上金額」のように異なると、Power Queryでは別列として扱われる可能性があります。

 

フォルダーへ元ファイルを集める準備

まずは統合対象のExcelファイルだけを一つのフォルダーへ保存します。

続いては、ファイル構成をそろえる準備を確認していきます。

フォルダー内に関係のないブック、バックアップファイル、途中保存のファイルが混ざっていると、それらも読み込まれるため注意が必要です。

各ファイルの1行目には必ず見出しを置き、2行目以降にデータを入力します。

ヘッダーがある表として整えることで、列名を基準に内容を確認しやすくなります。

月ごとの売上をまとめるなら、Jan.xlsx、Feb.xlsxのような名前でも問題ありませんが、ファイル名に年月や拠点名を含めると後から元データを追跡しやすくなります。

結合後にファイル名の情報も必要なら、Power Queryで作成されるName列を残しておく方法が便利です。

【操作のポイント】統合対象だけを専用フォルダーへ入れ、すべてのファイルで列の順序とヘッダー名をそろえます。

 

フォルダーからの結合操作

続いては、Excelのデータタブからフォルダーを指定して結合する操作を確認していきます。

新しいブックを開き、データタブのデータの取得からファイルから、フォルダーからを選択します。

複数ExcelファイルをPower Queryで統合する方法

参照画面で元ファイルを保存したフォルダーを指定すると、Excelはフォルダー内のファイル一覧を表示します。

一覧を確認してから結合および変換データを選ぶと、サンプルファイルを基準にした結合画面が表示されます。

ここで読み込むシートまたはテーブルを指定し、問題がなければ結合を実行します。

データの取得は元ファイルを直接書き換える機能ではないため、元データを保ちながら集計用ブックを作成できます。

結合後はPower Queryエディターで列名、データ型、空白行を確認し、閉じて読み込むを選択します。

【操作のポイント】一覧に不要なファイルがないかを確認してから、結合および変換データを選択します。

 

更新とエラーの確認方法

続いては、統合後の更新とエラー確認について解説していきます。

新しい月のファイルを同じフォルダーへ追加した後は、統合先の表を右クリックして更新を選ぶだけでデータを取り込めます。

この仕組みなら、毎月のコピーと貼り付けを繰り返す必要がありません。

ただし、列が追加された、シート名が変わった、パスワードが設定されたといった変更があると、更新時にエラーになることがあります。

更新エラーが出たときは、まず追加したファイルの見出し行、シート名、保存形式を既存ファイルと比較しましょう。

読み込んだ件数と各元ファイルの件数を照合すると、途中でデータが欠けていないか確認できます。

統合件数の確認例です。

統合後の件数 = 東京ファイルの明細数 + 大阪ファイルの明細数 + 名古屋ファイルの明細数

【操作のポイント】ファイルを追加した後は、統合先で更新を実行し、行数とエラー列を確認します。

 

コピーと貼り付けによるデータの合体

日付 商品名 売上金額
2026/08/01 商品A 12,000
2026/08/02 商品B 8,500

続いては、少ない件数のファイルを手作業で合体させる方法を確認していきます。

一度だけ統合したい場合や、数ファイルだけを扱う場合はコピーと貼り付けでも対応できます。

ただし、見出しを重複して貼り付けないこと、貼り付け先の最終行を間違えないことが重要です。

 

貼り付け先の表を作る手順

まず、統合先となる新規ブックに、元ファイルと同じヘッダーを1行目へ入力します。

続いては、貼り付け先の表を整える方法について解説していきます。

サンプルではA1に日付、B1に商品名、C1に売上金額を入力し、2行目以降を明細の入力範囲にします。

1行目のヘッダーは統合先に一度だけ配置し、各元ファイルからは2行目以降をコピーするのが基本です。

表の途中に空白行があると、Ctrlキーと下矢印キーによる最終行の移動が途中で止まる場合があります。

空白行を作らず、表として連続した範囲にしておくと操作ミスを減らせます。

【操作のポイント】貼り付け先の1行目には共通ヘッダーだけを置き、明細は2行目から追加します。

 

複数ブックから明細を追加する操作

続いては、元ファイルの明細を下へ追加する操作を確認していきます。

元ブックで2行目から最終行までを選択し、CtrlキーとCキーでコピーします。

コピーと貼り付けによるデータの合体

統合先ブックでは、既存データの最終行の次のセルを選択し、CtrlキーとVキーで貼り付けます。

たとえば統合先のデータが10行目まであるなら、A11を選択して貼り付けます。

貼り付けるたびにA列から始まる位置を選ぶことで、列ずれを防げます。

同じ操作を残りのファイルにも繰り返し、最後に行数を確認します。

【操作のポイント】コピー元では見出しを除き、貼り付け先では最終行の次のA列セルを選択します。

 

重複データと書式の整理

続いては、結合後に発生しやすい重複や書式の整理について解説していきます。

同じデータが複数回貼り付けられた可能性がある場合は、データタブの重複の削除を利用できます。

日付、商品名、伝票番号など、重複判定に使う列を選んで実行します。

売上金額だけで重複を判断すると、別取引まで削除するおそれがあるため、識別できる複数列を選ぶことが安全です。

貼り付け後に日付表示や金額表示がばらつくときは、列全体を選択して表示形式を統一します。

金額列を数値としてそろえるには、対象列を選択してホームタブの桁区切りスタイルを適用します。

日付列は文字列ではなく日付形式になっているかも確認しましょう。

【操作のポイント】重複削除を実行する前に、元ファイルを別名保存して復元できる状態にします。

 

XLOOKUP関数で別ファイルの情報を結合する方法

A列 顧客ID B列 顧客名 C列 都道府県
C001 山田商店 東京都
C002 鈴木株式会社 大阪府

続いては、共通するIDを使って別ファイルの情報を横方向に結合する方法を確認していきます。

明細表に顧客名を追加したい、商品コードから商品単価を表示したい場合には、XLOOKUP関数が適しています。

この方法はデータを縦に追加するのではなく、キーとなる値を照合して必要な列を取得する仕組みです。

 

XLOOKUP関数の基本構文

それではまず、XLOOKUP関数の構文について解説していきます。

=XLOOKUP(検索値,検索範囲,戻り範囲,”見つからない場合”)

検索値には、統合先の表にある顧客IDや商品コードを指定します。

検索範囲には、参照先ファイルのID列を指定し、戻り範囲には取得したい顧客名や単価の列を指定します。

検索範囲と戻り範囲は同じ行数にそろえる必要があります。

サンプルで統合先のA2に顧客IDがあり、別ブックのA列にID、B列に顧客名がある場合を考えます。

=XLOOKUP(A2,[顧客一覧.xlsx]顧客!$A$2:$A$100,[顧客一覧.xlsx]顧客!$B$2:$B$100,”未登録”)

この数式では、A2のIDを顧客一覧のA2からA100で検索し、同じ行のB列にある顧客名を返します。

【操作のポイント】検索に使うID列には、前後の空白や全角半角の違いがないように整えます。

 

別ファイルを参照する数式の入力

続いては、別ファイルを参照する数式の入力方法を確認していきます。

統合先と参照先のブックを両方開いた状態で、顧客名を表示したいセルを選択します。

XLOOKUP関数で別ファイルの情報を結合する方法

XLOOKUP関数を入力し、検索範囲と戻り範囲を指定する場面で、参照先ブックのシートをクリックして範囲をドラッグします。

Excelが自動的にブック名、シート名、絶対参照を含む数式を作成するため、手入力より参照ミスを減らせます。

入力後にEnterキーを押し、先頭行で正しい顧客名が返ることを確認します。

先頭セルで結果を確認してからオートフィルを実行すると、大量行への誤った数式コピーを防げます。

【操作のポイント】参照先ブックを開いて範囲をクリック指定し、数式は先頭セルで確認してから下へコピーします。

 

エラー表示と参照先の管理

続いては、XLOOKUP関数のエラーと参照先管理について解説していきます。

該当するIDが見つからないときに空白や未登録と表示したい場合は、第4引数に表示内容を指定します。

検索値が見つからない原因には、IDの入力間違い、数値と文字列の違い、参照範囲の不足などがあります。

数式で別ブックを参照している場合、元ファイルの名前や保存場所を変更するとリンクの確認が必要になることがあります。

共有環境では、参照先ファイルを安易に移動せず、フォルダー構成を固定すると管理しやすくなります。

旧バージョンのExcelでXLOOKUP関数が利用できない場合は、VLOOKUP関数またはINDEX関数とMATCH関数の組み合わせを検討します。

【操作のポイント】見つからない場合の表示を設定し、元ファイルの保存場所とファイル名を固定します。

 

Power Queryで列を追加して統合する設定

受注番号 顧客ID 顧客名
1001 C001 山田商店
1002 C002 鈴木株式会社

続いては、Power Queryで二つの表をキー列により結合し、必要な情報を追加する設定を確認していきます。

受注一覧と顧客一覧のように、別々の表を顧客IDで照合して顧客名や住所を追加したいときは、クエリのマージを使います。

受注データ.xlsx – Excel  ● □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示 ヘルプ
貼り付け | フォント B 罫線 配置 | データの取得 クエリと接続 
fx =Table.NestedJoin(…)
A B C
1 受注番号 顧客ID 顧客名
2 1001 C001 山田商店
3 1002 C002 鈴木株式会社
顧客ID列を選択してクエリをマージ

 

マージする二つのテーブルの準備

それではまず、マージ前に整えるテーブルについて解説していきます。

受注一覧と顧客一覧は、それぞれExcelのテーブルとして読み込むか、Power Queryでクエリとして作成します。

両方の表に顧客IDのような共通キーがあり、同じ形式で入力されていることを確認します。

片方が数値、もう片方が文字列では照合できないことがあるため、Power Query上でデータ型を合わせます。

顧客IDが重複している顧客一覧では、意図しない複数行が結合される可能性があります。

マスターデータ側のIDは原則として一意にし、重複がないか確認しましょう。

【操作のポイント】二つの表で共通キーを用意し、データ型とIDの重複を事前に確認します。

 

クエリのマージと列の展開

続いては、クエリのマージと列の展開を確認していきます。

Power Queryエディターで受注一覧のクエリを選択し、ホームタブのクエリのマージを選びます。

上側に受注一覧、下側に顧客一覧を指定し、両方の表で顧客ID列をクリックします。

通常は左外部結合を選ぶと、受注一覧のすべての行を残しながら、顧客一覧から一致した情報を追加できます。

マージ後に作られる表の列にある展開ボタンを選択し、顧客名、都道府県など必要な項目だけにチェックを入れます。

【操作のポイント】受注データを残したい場合は左外部結合を選び、展開する列を必要最小限に絞ります。

 

更新可能な統合表の運用

続いては、更新可能な統合表の運用について解説していきます。

元の受注一覧や顧客一覧を更新した後、統合先ブックで更新を実行すれば、結合済みの表も最新内容へ反映できます。

更新を前提にするなら、統合結果の表へ直接入力しないことが重要です。

直接入力した値は更新時に消える場合があるため、修正すべき内容は元データ側で直します。

Power Queryは処理手順を記録して再実行する仕組みです。

一度設定すれば、同じ種類のデータ結合を短時間で繰り返せます。

【操作のポイント】修正は原則として元データで行い、統合表は更新結果を確認する用途にします。

 

VBAで複数ファイルを一括統合する仕組み

処理順 処理内容
1 フォルダー内のファイルを取得
2 各ファイルの2行目以降をコピー
3 統合シートの最終行へ追加

続いては、VBAを使ってフォルダー内のブックを一括統合する仕組みを確認していきます。

毎回同じルールで大量のファイルを処理し、細かな条件分岐も必要な場合は、VBAによる自動化が選択肢になります。

 

VBAを使う前の注意点

それではまず、VBAで統合する前の注意点について解説していきます。

マクロを含むブックはExcelマクロ有効ブック形式で保存する必要があります。

不明な出所のマクロは有効化せず、社内ルールやセキュリティ設定を確認したうえで使用しましょう。

VBAは強力ですが、誤った範囲指定で既存データを上書きするおそれがあるため、必ずコピーで検証します。

【操作のポイント】統合先ブックは必ずバックアップを作り、テスト用フォルダーで動作を確認します。

 

フォルダー内の明細を追加するコード

続いては、各ファイルの1行目をヘッダー、2行目以降を明細として統合するコードを確認していきます。

Sub MergeFiles()
    Dim folderPath As String, fileName As String
    Dim srcBook As Workbook, srcSheet As Worksheet
    Dim dstSheet As Worksheet, lastRow As Long, srcLastRow As Long

    folderPath = "C:\ExcelData\"
    Set dstSheet = ThisWorkbook.Worksheets("統合")

    fileName = Dir(folderPath & "*.xlsx")
    Do While fileName <> ""
        Set srcBook = Workbooks.Open(folderPath & fileName)
        Set srcSheet = srcBook.Worksheets(1)
        srcLastRow = srcSheet.Cells(srcSheet.Rows.Count, "A").End(xlUp).Row
        lastRow = dstSheet.Cells(dstSheet.Rows.Count, "A").End(xlUp).Row + 1
        srcSheet.Range("A2:D" & srcLastRow).Copy dstSheet.Range("A" & lastRow)
        srcBook.Close SaveChanges:=False
        fileName = Dir
    Loop
End Sub

このコードは、指定フォルダーにあるxlsxファイルを順番に開き、各ファイルのA列からD列の2行目以降を統合シートへ追加します。

統合先のシート名、フォルダーパス、コピーする列範囲は、実際の環境に合わせて変更します。

【操作のポイント】コード内のフォルダーパス末尾には、必ず円記号またはバックスラッシュ相当の区切りを含めます。

 

実行後に確認する項目

続いては、マクロ実行後に確認したい項目について解説していきます。

まず、統合シートの行数が想定件数と一致しているかを確認します。

次に、各ファイルのヘッダーが重複していないか、空白行やエラー値が混入していないかを確認します。

ファイル名を記録する列を追加しておくと、問題が起きたデータの出所を確認しやすくなります。

【操作のポイント】実行後は行数、重複ヘッダー、元ファイルとの対応関係を必ず確認します。

 

まとめ 複数ファイルを統合・合体・まとめるエクセルのデータ結合方法

目的 適した方法
同じ形式の複数ファイルを縦にまとめる Power Queryのフォルダー結合
少数のファイルを一度だけ合体する コピーと貼り付け
IDで別表の情報を追加する XLOOKUP関数またはクエリのマージ
条件付きで大量ファイルを処理する VBA

エクセルのデータを結合する方法は、単純に複数ファイルを縦へつなぐのか、共通IDを使って横へ情報を追加するのかによって選び方が変わります。

定期的に同じ形式のファイルを統合するなら、更新できるPower Queryが特に便利です。

一度きりの作業で件数が少なければコピーと貼り付けでも対応できますが、見出しの重複と貼り付け位置には注意しましょう。

別ファイルから顧客名や単価を取得する場合は、XLOOKUP関数を使うと、元データとの対応を保ちながら表を完成させられます。

大量処理や独自のルールが必要な場合は、検証とバックアップを行ったうえでVBAも活用できます。

最も重要なのは、結合前に各ファイルのヘッダー、列順、データ型、IDの形式をそろえることです。

目的に合う方法を選び、更新後の件数確認まで行うことで、複数のExcelデータを安全かつ効率的にまとめましょう。