複数CSVの結合は、先に「列構成が同じか」を確認するのが最重要です。列数や列名が違うファイルを無理に縦結合すると、後で静かに列ずれが起きます。

この記事では、列構成がそろっているかを先に確認したうえで、ExcelのPower Queryを使ってフォルダー内のCSVをまとめて結合し、翌月以降はファイルを追加して更新するだけで済むようにする手順を整理します。対象は、月別CSVを毎回コピー&貼り付けで1つにまとめているケースです。

先に結論

  • 結合前に、全ファイルの見出し名・列数・文字コードがそろっているか確認する。
  • Power Queryの「フォルダーから」で結合し、どのファイル由来かがわかる列を残す。
  • 結合後の行数が、各ファイルのデータ行数の合計と一致するか確認する。

手順1:結合するCSVを1つのフォルダーに集める

  1. C:\data\月次売上\ のような専用フォルダーを作り、結合するCSVだけを入れる。
  2. 元ファイルのバックアップは別のフォルダーに置く。
  3. 結合結果を保存するExcelブックは、このフォルダーの外に保存する。同じフォルダーに置くと、更新のたびに結合対象へ紛れ込むおそれがあります。

手順2:列構成と文字コードがそろっているか確認する

各CSVをメモ帳などで開き、1行目(見出し行)を見比べます。

確認項目 ずれの例 対処
見出し名 売上金額 と 売上額 どちらかの名前にそろえる
列数 1月は6列、2月は7列 追加された列の意味を確認し、全ファイルでそろえてから結合する
文字コード UTF-8とShift_JISが混在 一方に統一して保存し直す

見出し名が1文字でも違うと、結合結果では別の列として扱われ、空欄だらけの列ができる原因になります。

手順3:Power Queryでフォルダー内のCSVを結合する

  1. Excelで新しいブックを開き、[データ]→[データの取得]→[ファイルから]→[フォルダーから]を選ぶ。
  2. 手順1のフォルダーを指定すると、ファイルの一覧が表示される。
  3. [結合]→[データの結合と変換]を選ぶ。
  4. [ファイルの結合]画面でサンプルにするファイルを選び、「元のファイル」(文字コード)と「区切り記号」を確認する。日本語が文字化けしている場合は、文字コードを「65001: Unicode (UTF-8)」または「932: 日本語 (シフト JIS)」に切り替える。
  5. [OK]を押すとPower Queryエディターが開く。先頭に Source.Name 列(元のファイル名)が追加されていることを確認する。この列は照合に使うので削除しない。
  6. 0始まりのコードなどがある列は、列見出しのデータ型アイコンをクリックして「テキスト」に変更する。
  7. [ホーム]→[閉じて読み込む]を選ぶと、結合結果がシートに出力される。

メニュー名や画面の構成は、Excelのバージョンによって異なる場合があります。

手順4:結合結果を照合する

  1. 各CSVのデータ行数(見出しを除く)を記録する。PowerShellなら次の1行でファイルごとの行数を一覧にできます。
   Get-ChildItem "C:\data\月次売上\*.csv" | ForEach-Object { "{0}: {1}" -f $_.Name, @(Import-Csv $_.FullName).Count }
  1. 結合結果のシートで[挿入]→[ピボットテーブル]を選び、Source.Name を「行」と「値」に入れて、ファイルごとの件数を出す。
  2. ファイルごとの件数と総件数が、1で記録した行数と一致するか確認する。
  3. 列数も確認する。想定より列が多い(空欄だらけの列がある)場合は見出し名が違うファイルが、想定より少ない場合はサンプルファイルにない列が落ちている可能性があります。

翌月以降の更新

新しい月のCSVを同じフォルダーに追加し、結合結果のブックで[データ]→[すべて更新]を押します。更新後は手順4の照合をもう一度行います。ピボットテーブルの Source.Name 一覧を見れば、同じ月のファイルを二重に置いていないかも確認できます。

よくある失敗

  • フォルダーに古い版のCSVや関係のないファイルが残っていて、結合対象に含まれてしまう。
  • 文字コードが異なるファイルが混ざっていて、一部のファイルだけ文字化けする。
  • 「売上_9月.csv」と「売上_9月 (1).csv」のように同じ月のファイルを二重に置き、データが重複する。

このページでは扱わないこと

列構成が異なる2つの表を、キー列で横に突き合わせる結合(VLOOKUPやマージ)は扱いません。また、1つのCSVを複数に分ける作業は逆方向の作業なので、別のページで扱います。

次に確認するページ

  • 1つのCSVを分けたい:大きなCSVを指定行数ごとに分割する方法/CSVを列の値ごとに分割する方法|店舗・担当者・月別に切り出す
  • 結合後に二重取込の行を消したい:Excel・CSVで完全一致の重複だけ安全に削除する方法

参考

  • Microsoft Power Query: Combine files overview

確認日: 2026-09-28

おすすめの記事