複数のExcelファイルに分かれた売上表、顧客リスト、勤怠データなどを、1つのブックへまとめたい場面は少なくありません。
コピーと貼り付けでも対応できますが、シート構成や列順が異なると、転記漏れや重複が起きやすくなります。
用途に合わせてシートの移動、Power Query、数式、VBAを使い分けることで、結合や統合の作業を正確かつ効率的に進められます。
同じ形式のデータを1枚に縦方向へ集める場合はPower Query、シートをそのまま1つのファイルへ集約する場合はシートの移動またはコピーが便利です。
複数ブックの数値を連動させたい場合は外部参照や数式、毎月同じ処理を繰り返す場合はVBAが候補になります。
この記事では、複数のエクセルファイルやシートを1つのブックにまとめる方法について、データの結合と統合の違いから実務的な操作手順まで解説していきます。
複数ファイルを1つのブックへまとめる基本操作
| 元ファイル | シート名 | まとめ先 |
|---|---|---|
| 東京支店.xlsx | 売上 | 集計ブック.xlsx |
| 大阪支店.xlsx | 売上 | 集計ブック.xlsx |
それではまず、複数のブックにあるワークシートを1つのブックへ集める基本操作について解説していきます。
移動またはコピーによるシート集約
元の表のレイアウトを崩さずにまとめたいときは、シート見出しを使った移動またはコピーがわかりやすい方法です。
コピー元とコピー先のブックを両方開き、コピーしたいシート見出しを右クリックします。
表示されたメニューから「移動またはコピー」を選び、移動先ブックとしてまとめ先のファイルを指定しましょう。
元ファイルにも同じシートを残す場合は、「コピーを作成する」にチェックを入れてから実行します。
シート単位でコピーすると、セルの値だけでなく、書式、列幅、印刷設定、数式も基本的には引き継がれます。
ただし、他シートを参照する数式や名前の定義がある場合は、コピー後に参照先が意図どおりか確認することが大切です。
【操作のポイント】コピー先ブックを先に保存しておくと、移動先の選択ミスを防ぎやすくなります。
新しいブックへのシートコピー
複数ファイルから必要なシートだけを抜き出して新しいブックを作る場合にも、同じ操作を利用できます。
「移動またはコピー」画面で移動先ブックを「新しいブック」にすると、選択したシートを含む新規ブックが作成されます。
支店別の月次報告書から売上シートだけを集めるような作業では、不要なシートを持ち込まずに済むため便利です。
コピー後はシート名が重複していないかを確認し、「東京」「大阪」「名古屋」のように識別しやすい名称へ変更すると管理しやすくなります。
同じ名前のシートが既にある場合、Excelは末尾に番号を付けることがあります。
番号だけでは内容を判別しにくいため、地域名、部署名、対象月を含むシート名に整えることをおすすめします。
シート名の例として、2026年4月 東京支店、2026年4月 大阪支店のように命名すると、並べ替えや確認がしやすくなります。
【操作のポイント】コピー後のシートは、元ブックとのリンクが残っていないか数式バーで確認しましょう。
ファイル形式と保存先の確認
シートをまとめたあとに保存する際は、ファイル形式にも注意が必要です。
通常の表計算ファイルなら.xlsx形式で問題ありませんが、マクロを含むブックでは.xlsm形式を選ぶ必要があります。
.xlsx形式で保存すると、VBAマクロは保存されないため、警告が表示された場合には内容を確認しましょう。
また、元ファイルを上書きしないよう、統合後のファイルは別名で保存するのが安全です。
作業開始前に元データのバックアップを残しておけば、結合ミスがあっても元の状態へ戻せます。
共有フォルダーで運用する場合は、保存先とファイル名のルールもチーム内で統一しておくと、最新版の取り違えを減らせます。
【操作のポイント】保存後にブックを閉じて開き直し、全シートが表示されるか確認すると安心です。
複数シートのデータを1枚へ結合する手順
| 日付 | 商品 | 売上 | 拠点 |
|---|---|---|---|
| 2026/04/01 | 商品A | 12,000 | 東京 |
| 2026/04/01 | 商品B | 8,500 | 大阪 |
続いては、複数シートの明細データを1枚の一覧表へ結合する手順を確認していきます。
列見出しをそろえる事前準備
複数の表を縦に結合する前に、各シートの列見出しと並び順をそろえる必要があります。
たとえば、東京シートが「日付、商品、売上」、大阪シートが「商品、日付、売上」という構成では、そのまま貼り付けると列の意味がずれてしまいます。
1行目をヘッダーとして、「日付」「商品名」「数量」「売上」「拠点」などの項目名を統一しましょう。
結合対象の全シートで、1行目を見出し行にそろえることが正確な統合の土台です。
不要な空白行、途中の小計行、結合セルがあると後の集計で不具合が起きることがあります。
データだけが連続する表へ整形してから結合を始めると、フィルターやピボットテーブルも使いやすくなります。
結合前の確認項目は、列数、列順、見出し名、日付の表示形式、数値列の形式、空白行の有無です。
【操作のポイント】見出しの表記ゆれは、売上と売上高のような小さな違いでも統合時の別項目につながります。
コピーと貼り付けによる縦方向の結合
データ量が少なく、今回だけまとめればよい場合は、コピーと貼り付けで結合できます。
まず統合用シートを作成し、1行目へ共通のヘッダーを入力します。
次に、各元シートの2行目以降をコピーし、統合用シートの最終行の次へ順番に貼り付けます。
サンプルでは1行目がヘッダーなので、東京シートと大阪シートのデータは2行目から選択します。
ヘッダーまで毎回貼り付けると同じ見出しが途中に混ざるため、データ部分だけを追加する操作が重要です。
貼り付け後には拠点列を追加し、どのシートの明細かが分かるように東京、大阪などの情報を入力しておくと分析に役立ちます。
同じ値を下方向へ入力する場合は、入力後にオートフィルを使うと作業時間を短縮できます。
【操作のポイント】貼り付け先は表の最終行の直下を選び、途中へ挿入して既存データをずらさないようにします。
テーブル化による結合後の管理
結合した一覧は、範囲内のセルを選択してCtrlキーとTキーを押し、テーブルへ変換すると管理しやすくなります。
テーブル化すると見出しにフィルターが付き、データの追加時に書式や数式を自動で引き継げます。
テーブル名は「tbl_売上統合」のように内容が分かる名前へ変更しておくと、Power Queryや数式から参照するときに便利です。
データが追加されるたびに範囲を指定し直す必要がなくなる点も、テーブル化の大きなメリットです。
統合後のデータを集計の元にするなら、通常のセル範囲よりテーブル形式が向いています。
テーブル化後は、売上列を昇順または降順に並べ替えたり、拠点列で東京だけを抽出したりできます。
【操作のポイント】結合後にテーブル化する前には、表の途中に空白列や空白行がないか確認しましょう。
Power Queryによる複数Excelファイルの統合
| フォルダー | 対象ファイル | 出力先 |
|---|---|---|
| 月次売上 | 東京.xlsx、大阪.xlsx | 統合データシート |
続いては、毎月増える複数のExcelファイルをPower Queryで統合する方法を確認していきます。
フォルダーへ対象ファイルを集める準備
Power Queryで複数ファイルをまとめる場合は、統合したいExcelファイルを専用フォルダーへ保存します。
フォルダー内の全ファイルが読み込み対象になるため、関係のないバックアップファイルや完成版を混在させないことが大切です。
各ファイルの表は、列見出し、列順、データ型をできるだけ同じ形式にそろえます。
たとえば全ファイルで1行目を「日付、商品、売上」とし、2行目から明細を開始する構成が扱いやすいでしょう。
Power Queryは同じ形の表を繰り返し追加する作業に強く、月次ファイルの統合に適しています。
ファイル名へ年月や拠点名を含めておくと、後からデータの出所を確認しやすくなります。
保存例として、2026年4月 東京.xlsx、2026年4月 大阪.xlsxのように命名し、同一フォルダーへ配置します。
【操作のポイント】統合対象のブックにパスワードが設定されている場合は、読み込み時に認証が必要になることがあります。
フォルダーからのデータ取得
統合先ブックで「データ」タブを開き、「データの取得」から「ファイルから」「フォルダーから」を選択します。
対象ファイルを保存したフォルダーを指定すると、フォルダー内のファイル一覧が表示されます。
内容を確認したら「結合して変換」を選択し、見本として使うファイルと対象シートまたはテーブルを指定します。
Power Queryエディターが開いたら、不要な列の削除、列名の修正、日付や数値のデータ型の確認を行いましょう。
確認が終わったら「閉じて読み込む」を選択すると、統合結果を新しいワークシートへ出力できます。
元フォルダーへ翌月分のファイルを追加した後は、統合表上で右クリックして「更新」を選ぶだけで、データを取り込めます。
【操作のポイント】結合前にプレビューで列名を確認し、不要な隠しファイルや一時ファイルが含まれていないか確認します。
更新とエラー行の確認
Power Queryの統合では、更新のたびに新しいファイルが追加されるため、重複データへの注意が必要です。
すでに取り込み済みのファイルをフォルダー内へ残したまま再度保存すると、同じ明細が二重に読み込まれる可能性があります。
更新後の件数を前月と比較し、想定より極端に増減していないか確認しましょう。
エラーが表示された場合は、列名の違い、日付として認識できない文字、数値列に含まれる記号などが原因になりやすいです。
エラー行は削除する前に、元ファイル側の入力ミスや表の形式変更を確認することが重要です。
クエリの設定を一度作れば、翌月以降は同じ手順を繰り返さずに済みます。
【操作のポイント】更新結果の行数と合計金額をチェックする習慣を付けると、取り込み漏れを早く発見できます。
数式による別シートと別ブックの参照
| A列 | B列 | C列 |
|---|---|---|
| 商品A | 東京売上 | 大阪売上 |
| 商品A | =東京!C2 | =大阪!C2 |
続いては、元データをコピーせず、数式で別シートや別ブックの値を参照する方法を確認していきます。
同じブック内のシート参照
同じブックの別シートにあるセルを参照する基本の数式は、シート名とセル番地を組み合わせます。
=東京!C2
この数式は、東京というシートのC2セルに入力された値を表示します。
シート名に空白や記号が含まれる場合は、シート名をシングルクォーテーションで囲みます。
=’東京 支店’!C2
数式を入力する際に、等号を入力したあと参照先シートをクリックし、対象セルを選択すれば、手入力せずに正しい参照式を作成できます。
参照式は元セルの内容が変わると自動で更新されるため、集計用シートを作るときに便利です。
ただし、参照元シートを削除すると数式はエラーになるため、シート名の変更や削除には注意しましょう。
【操作のポイント】最初のセルに数式を入れたら、フィルハンドルを下へドラッグしてオートフィルを実行します。
別ブックを参照する外部参照
別のExcelファイルを参照する場合は、参照先ブックを開いた状態で数式を作成すると確実です。
集計用ブックのセルで等号を入力し、参照元ブックの対象シートとセルをクリックします。
たとえば売上.xlsxの東京シートにあるC2セルを参照すると、次のような外部参照になります。
='[売上.xlsx]東京’!$C$2
参照元ブックを閉じた後は、ファイルの保存場所を含む長い参照式へ変わることがあります。
外部参照は、元ブックを更新すれば集計ブックにも変更を反映できる一方、ファイル名や保存場所を変えるとリンク切れが起きやすい仕組みです。
共有フォルダー内で運用する場合は、ファイルの移動や名称変更をルール化しておくとよいでしょう。
【操作のポイント】リンクの編集はデータタブのリンク管理から確認できる場合があります。
SUM関数とSUMIF関数による統合集計
複数シートの合計だけを1枚に表示したいときは、SUM関数やSUMIF関数を使う方法があります。
東京シートと大阪シートの売上がそれぞれC2にある場合、2つの数値を合計する数式は次のとおりです。
=SUM(東京!C2,大阪!C2)
同じ位置にある複数シートのセルを対象にする場合は、3D参照も利用できます。
=SUM(東京:大阪!C2)
この式は、東京シートから大阪シートまでの間にあるシートのC2セルを合計します。
一方、商品名などの条件で集計する場合は、SUMIF関数やSUMIFS関数を使うと柔軟です。
明細を1枚へ結合するのではなく、必要な集計値だけ表示したい場合に数式参照が役立ちます。
【操作のポイント】3D参照は途中のシートも集計対象になるため、シートの並び順を意識して使いましょう。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 商品 | 東京 | 大阪 | 合計 |
| 2 | 商品A | 12000 | 8500 | 20500 |
VBAによる複数ブックの一括結合
| 処理順 | 実行内容 |
|---|---|
| 1 | 指定フォルダーのExcelファイルを取得 |
| 2 | 各ブックの2行目以降を統合シートへ追加 |
続いては、同じ結合作業を何度も行う場合に便利なVBAによる一括結合を確認していきます。
VBAを使う場面と注意点
毎月や毎週のように同じ形式のExcelファイルを結合するなら、VBAで処理を自動化すると効率的です。
たとえば指定フォルダー内のすべての.xlsxファイルから、売上シートの明細だけを統合ブックへ追加する処理を作成できます。
ただしVBAは、ファイル名、シート名、列構成が想定と異なるとエラーになる場合があります。
最初はコピーしたテスト用ファイルで動作を確認し、本番データへ実行する前にバックアップを取りましょう。
マクロを保存するブックは.xlsm形式で保存し、信頼できるファイルだけで利用することも重要です。
VBAは大量ファイルの反復処理に向いていますが、単発の少量データならPower Queryや手動コピーの方が管理しやすい場合もあります。
【操作のポイント】VBAの実行前には、統合シートの既存データを残すか消去するかを決めておきます。
フォルダー内ファイルを結合するマクロ
次のコードは、指定フォルダーにあるExcelファイルを開き、各ブックの先頭シートにある2行目以降のデータを「統合」シートへ追記する例です。
サンプルデータでは、各元シートの1行目がヘッダーであることを前提としています。
Sub 複数ファイルを結合する()
Dim folderPath As String
Dim fileName As String
Dim srcBook As Workbook
Dim srcSheet As Worksheet
Dim dstSheet As Worksheet
Dim lastRow As Long
Dim dstRow 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)
lastRow = srcSheet.Cells(srcSheet.Rows.Count, "A").End(xlUp).Row
dstRow = dstSheet.Cells(dstSheet.Rows.Count, "A").End(xlUp).Row + 1
If lastRow >= 2 Then
srcSheet.Range("A2:C" & lastRow).Copy dstSheet.Cells(dstRow, "A")
End If
srcBook.Close SaveChanges:=False
fileName = Dir
Loop
End Sub
folderPathには対象ファイルを保存しているフォルダーのパスを指定します。
RangeのA2:Cは、A列からC列までが結合対象である例です。
実際の表に合わせて列の範囲を変更し、先頭行のヘッダーをコピーしないようA2から開始することがポイントです。
【操作のポイント】統合先の1行目には、あらかじめ元データと同じヘッダーを入力しておきましょう。
実行後のデータチェック
VBAを実行した後は、単に処理が終わったことだけでなく、内容が正しいか確認する必要があります。
まず統合後の最終行を確認し、元ファイルごとの明細件数を合計した数と一致するかを見比べます。
次に、売上などの数値列をSUM関数で合計し、元ファイルの合計値と照合します。
重複したヘッダー、空白行、同じ明細の二重登録がないかもフィルターで確認しましょう。
自動化では処理速度だけでなく、件数と合計値による検証をセットにすることが欠かせません。
エラーが出たときは、対象フォルダーに一時ファイルが入っていないか、シート名や列構成が変更されていないかを確認します。
【操作のポイント】処理のたびに統合シートを空にする場合は、ヘッダー行を削除しないよう範囲を指定します。
統合後の重複確認と集計の管理
| 伝票番号 | 商品 | 判定 |
|---|---|---|
| A-1001 | 商品A | 重複なし |
| A-1001 | 商品A | 要確認 |
続いては、結合や統合のあとに行いたい重複確認と集計データの管理を確認していきます。
重複データの確認
複数ファイルをまとめると、同じ伝票番号や顧客番号を含む明細が重複することがあります。
データタブの「重複の削除」を使うと、指定した列を基準に重複行を削除できます。
ただし削除は元に戻しにくいため、事前に別シートへコピーを作るか、フィルターや条件付き書式で候補を確認してから実行するのが安全です。
伝票番号がA列にあり、2行目からデータが始まる場合は、条件付き書式でCOUNTIF関数を使う方法もあります。
=COUNTIF($A$2:$A2,A2)>1
この数式を条件付き書式へ設定すると、同じ伝票番号が2回目以降に現れた行を目立たせられます。
重複の判断には、商品名だけでなく伝票番号、日付、顧客番号など複数の条件を考慮することが重要です。
【操作のポイント】重複の削除を実行する前に、どの列の組み合わせを同一データと見なすか決めましょう。
ピボットテーブルによる集計
統合した明細データを地域別、月別、商品別に集計したい場合は、ピボットテーブルが便利です。
統合表のセルを選択し、「挿入」タブから「ピボットテーブル」を選択します。
行に商品、列に拠点、値に売上を配置すると、商品別かつ拠点別の売上集計を短時間で作成できます。
元データをテーブル化しておけば、新しい明細を追加した後に更新するだけで、ピボットテーブルの範囲にも反映されます。
複数ファイルを1つにまとめる目的が分析なら、統合後にピボットテーブルを作る流れが効果的です。
集計値が意図どおりかを確認するため、元の合計とピボットテーブルの総計を照合することも忘れないようにしましょう。
【操作のポイント】ピボットテーブルを更新した後は、フィルター条件が残っていないか確認します。
更新しやすいファイル運用
統合ブックを長期的に使う場合は、ファイル構成と更新担当を明確にしておくことが大切です。
元データ用フォルダー、統合ファイル用フォルダー、バックアップ用フォルダーを分けると、誤って統合済みのファイルを再読込する事故を減らせます。
Power Queryを使う場合は、対象フォルダーへ入れるファイルの形式を固定します。
VBAを使う場合は、マクロの処理対象、実行手順、更新後の確認方法を簡単に記録しておくと、担当者が変わっても運用しやすくなります。
更新日、更新者、対象期間、取り込んだファイル数を管理用シートへ記録すると、後から原因を追いやすくなります。
結合方法そのものだけでなく、再現できる運用ルールを整えることがデータ管理の品質につながります。
【操作のポイント】統合ブックの更新前後で合計金額と件数を記録し、差異があれば元データを確認しましょう。
まとめ 複数のエクセルファイルやシートを1つのブックにまとめる方法
複数のExcelファイルやシートを1つのブックにまとめる方法は、目的とデータ量によって選ぶことが重要です。
シートの見た目をそのまま集約したい場合は、移動またはコピーを使うと手軽に対応できます。
明細データを1枚の一覧へ結合したい場合は、列見出しをそろえたうえでコピーと貼り付け、またはPower Queryを使う方法が向いています。
定期的に増える複数ファイルを統合するなら、更新だけで反映できるPower Queryが特に便利です。
別ブックの数値を連動させたいときは外部参照やSUM関数を使い、毎回同じ結合処理を行うときはVBAによる自動化を検討しましょう。
結合後は、重複データ、件数、合計値を必ず確認し、テーブルやピボットテーブルを活用すると分析しやすくなります。
元データのバックアップを残し、ファイル名と保存場所のルールを決めながら、正確で更新しやすい統合ブックを作成していきましょう。