列や見出しが少しずつ違うExcelファイルを毎月まとめたい

部署・取引先ごとに列名や配置が違うファイルを、共通項目へ対応付けて一つにまとめる方法と限界を整理します。

「ほぼ同じ表」でも、A部署は「売上日」、B部署は「計上日」、C部署は見出しが2行目から始まる。こうした違いがあると、単純なファイル結合は途中で止まります。

違いを無理に一つの処理へ押し込むより、形式ごとの変換を用意し、最後に共通の列へそろえて結合する方が保守しやすくなります。

先に結論

入力形式を統一できるなら、それが最も簡単です。統一できない場合は、ファイル形式を数種類へ分類し、列名の対応表と必須項目を決めてからPower QueryやVBAで変換します。未知の形式を黙って取り込まず、停止または確認一覧へ出す設計が必要です。

まず「違いの種類」を数える

ファイル数ではなく、形式の種類が難易度を左右します。

  • 列名だけが違い、意味は同じ
  • 不要な説明行や小計行の位置が決まっている
  • ファイル名から部署や取引先を判別できる
  • 必須項目と任意項目を分けられる
  • 形式が変わったときに気づく確認方法を用意できる

共通の完成形と、形式別の変換を分ける

先に完成形の列を決め、「売上日」「計上日」を共通の「日付」へ対応させます。存在しない列は空欄にするのか、取込エラーにするのかも列ごとに決めます。

新しい形式が届いた際に、既存のどれかへ誤って当てはめると数字は出ても内容がずれます。見出しや列数を確認し、未登録形式として止める仕組みを入れます。

  1. 1
    形式を分類する

    部署・取引先・システム別に、同じ構成のファイルをまとめます。

  2. 2
    列の対応表を作る

    元の列名と、統合後の共通列を対応付けます。

  3. 3
    未知の形式を検知する

    必須列がない、列数が変わった場合は取り込まず通知します。

Power Queryだけで足りるか

形式ごとの変換を画面上で管理できるならPower Queryで対応できます。見出し位置を探す、保護されたブックを開く、複数の特殊な帳票を読み取る場合はVBAや別処理を組み合わせます。

方法向いている場面確認したい点
Power Query数種類の形式を共通列へ変換形式ごとにクエリを分ける
VBAセル位置やシート名を探索して取り込む誤判定時に処理を続けない
入力様式の統一社内で配布する様式を変更できる旧様式の受付終了日を決める

CSVの取込・整形で確認しておきたいこと

まずすべてのファイルを並べ、列名・開始行・シート名の違いを一覧にすると、統一できる部分が見えます。

  • 同じ意味の列名を一つの名称へ整理する
  • 必須列と任意列を分ける
  • 各形式の正常サンプルを保管する
  • 新しい形式が届いた日を記録する

CSVの取込・整形を相談するときに伝えること

一番きれいなファイルだけではなく、実際に補正が必要だった例を含めます。

  • 形式ごとのサンプルファイル
  • 共通化したい列の一覧
  • 存在しない列の扱い
  • 対象外にするシート・行・ファイル
  • 完成後の件数と合計の確認方法

CSVの取込・整形をプロに任せる目安

  • 形式が5種類以上ある
  • 列名だけでなく表の位置も変わる
  • 誤った取込が請求・在庫へ影響する
  • 提供元の変更を自動で検知したい

CSVの取込・整形で確認しておきたいこと

すべてを一つの巨大な処理にすると、どの形式で止まったか分かりにくくなります。

  • 似た列名を意味確認せず統合する
  • 存在しない必須項目を空欄のまま通す
  • 形式変更を正常データとして処理する
  • 補正ルールを担当者の記憶だけに残す

複数ファイルの集約で確認しておきたいこと

列が一つ増えただけでも止まりますか?

設計次第です。任意列なら無視または追加できますが、必須列の名称変更は検知して止める方が安全です。

部署ごとに別の処理を作る必要がありますか?

形式が同じ部署は共通化できます。違いが大きい場合は変換部分だけ分け、統合後を共通にします。

入力様式を統一した方が安いですか?

一般には処理が単純になります。ただし外部取引先など変更できない相手がいる場合は、受取側で変換する設計が必要です。