公開日:
複数のCSVファイルを1つにまとめる方法|Excel・Power Queryで結合する手順
毎月、東京・大阪・名古屋の営業所から売上CSVが届く。3つのファイルを開き、1つのExcel表にコピーして集計していると、貼り付け忘れや見出し行の混入が心配になります。
CSVの列構成が同じなら、ExcelのPower Queryを使って複数ファイルの行を縦に追加し、1つの表にまとめることができます。設定後は、対象フォルダーの内容を更新して再読み込みする運用も可能です。
この記事では、少数のCSVを手動でまとめる場合と、Power Queryで一括結合する場合の手順を、架空の売上データで説明します。
結論:数ファイルなら手作業、毎月繰り返すならPower Query
| 状況 | 向いている方法 |
|---|---|
| 2〜3ファイルを一度だけまとめたい | Excelで開き、見出しを除いてコピー・貼り付け |
| 毎月10ファイル以上など繰り返し届く | Power Queryの「フォルダーから」で結合 |
| 列名・列数がバラバラ | 先に列構造を確認・そろえる |
ここでいう結合は、同じ列のデータを下方向へ追加する操作です。別のマスターから商品名を検索して列を増やす「キーによる結合」とは異なります。
例:営業所別の売上CSVをまとめる
今回は、次の3ファイルを想定します。
| ファイル名 | データ行数 | 列 |
|---|---|---|
| 東京営業所.csv | 150 | 売上日、商品コード、売上金額 |
| 大阪営業所.csv | 120 | 売上日、商品コード、売上金額 |
| 名古屋営業所.csv | 80 | 売上日、商品コード、売上金額 |
見出し行を除いたデータ合計は 350行 です。各CSVで列名・列順・値の意味が同じであることを前提にします。
方法1:少数のCSVを手動でまとめる
- 結合先の新しいExcelブックを作り、見出し行を1行用意します。
- 1つ目のCSVを開き、見出しを除いたデータ行をコピーします。
- 結合先の表の最終行の下へ貼り付けます。
- 残りのCSVも同じ順番で貼り付けます。
- 最終行数、列のずれ、重複した見出しがないか確認します。
頻度が低く、ファイル数も少ない場合には十分です。ただし、作業者やファイル数が増えると貼り付けミスが起きやすくなります。
方法2:Power Queryでフォルダー内のCSVを一括結合する
Windows版Excelの一般的な操作例です。バージョンによってメニュー表示は異なります。
1. CSVだけを入れた専用フォルダーを作る
対象の3つのCSVを1つのフォルダーに入れます。結合した結果のExcelやバックアップなど、対象外のファイルを同じフォルダーに置かないようにします。
2. Excelで「フォルダーから」を選ぶ
空のExcelブックで[データ]→[データの取得]→[ファイルから]→[フォルダーから]を選び、CSVを入れたフォルダーを指定します。
3. 「結合して変換」を選ぶ
ファイル一覧を確認し、[結合して変換]などの選択肢からPower Queryエディターへ進みます。サンプルファイルの解釈、区切り記号、見出し行が正しいかを確認してください。
4. データ型と列構造を確認する
商品コードを数値として読み込むと、00125 が 125 に変わることがあります。商品コードは文字列、売上日は日付、売上金額は数値など、列の意味に合わせて型を確認します。
取込プレビューで先頭ゼロが既に消えている場合は、自動の型変換ステップを見直してください。数値化した後にテキストへ変えても、元の0は戻りません。
5. 読み込み、行数を確認する
[閉じて読み込む]でExcelの表として出力します。今回の例なら、見出しを除くデータ行数が 150+120+80=350行 になっているか確かめます。
翌月以降はどうする?
新しいCSVを対象フォルダーへ入れ、Excelの[すべて更新]などでクエリを更新します。Power Queryは、その時点で対象となるフォルダー内のファイルを読み直します。
注意: 前月のCSVをフォルダーに残したまま翌月のCSVを追加すると、前月分も結合対象に残ります。毎月分だけの表にしたいのか、累計表にしたいのかを決め、フォルダーの中身や期間フィルターを管理してください。
結合できない・結果がずれるときの確認項目
| 症状 | 確認すること |
|---|---|
| 列がずれる | CSVごとの列名・列順・区切り文字 |
| 商品コードの先頭0が消える | 自動型変換とテキスト列設定 |
| 同じデータが2回入る | 対象フォルダーの重複ファイル、前月分の残置 |
| 行数が足りない | フィルター、エラー行、対象外ファイルの扱い |
| 日付が文字列のまま | 日付列の型設定と元の表記 |
行数が合っていても、同じ注文が重複していたり、金額列が文字列になっていたりすることがあります。結合作業と結合後のデータ品質確認は別工程です。
よくある質問
列の順番が違うCSVもまとめられますか?
列名が同じなら調整できる場合はありますが、列名・列数・内容が異なると単純な一括結合で意図しない結果になります。最初は同一形式のCSVを使い、異なる形式は個別に変換するのが安全です。
CSVをテキストエディターでそのまま連結してもよいですか?
各ファイルの見出し行、文字コード、列構造、引用符付きの改行などを正しく扱わないと、CSVとして不正なデータになり得ます。手作業での単純なファイル連結はおすすめしません。
結合後に重複や空欄をチェックできますか?
Excelのフィルターや条件付き書式で確認できます。チェック項目をまとめたい場合は、Excel/CSVデータ品質チェッカーのLPで、対応する検証内容を確認してください。このツール自体が複数CSVを結合するという意味ではありません。
まとめ
同じ列構造のCSVを1つにまとめるなら、単発の少数ファイルは手作業、毎月繰り返すならPower Queryのフォルダー結合が便利です。大切なのは対象ファイルの範囲、データ型、最終行数、重複を確かめること。結合を自動化しても、確認が不要になるわけではありません。
参考:Microsoft サポート「複数のファイルを含むフォルダーからデータをインポートする (Power Query)」
画面の名称や操作は、Officeのバージョンや表示幅などによって異なる場合があります。
