CSVを決まった形式に変換する手作業を自動化したい

販売管理、会計、EC、勤怠などから出力したCSVを、列の削除・並べ替え・文字変換して取り込む作業を自動化する考え方です。

システムからCSVを出すたびに、不要列を削除し、列順を入れ替え、日付やコードの形式を直しているなら、その変換手順は自動化しやすい部類です。

大切なのは、完成後の見た目ではなく「どの列を、どの規則で変えるか」を一覧にすることです。

先に結論

同じ変換を繰り返すならPower Queryが有力です。文字コード、区切り文字、先頭ゼロ、数値と文字列の違いまで指定する必要がある場合は、VBAやほかの処理を組み合わせます。

この作業は自動化候補です

次の項目が多いほど、手作業をそのまま続けるより、自動化の効果が出やすくなります。

  • 毎回同じシステムからCSVを出力する
  • 削除する列と残す列が決まっている
  • コードの先頭ゼロが消えて困る
  • 日付や金額の表示を毎回直している
  • 別システムへ取り込むため列順を合わせている

作業を三つに分けて考える

  1. 1
    元CSVを読み込む

    文字コード、区切り、見出し行を確認します。

  2. 2
    変換ルールを適用する

    列選択、並べ替え、置換、分割、型変換を行います。

  3. 3
    取込用ファイルを出す

    必要な列順と形式で保存し、件数を照合します。

向いている方法の考え方

Power Queryは、列の削除、名前変更、型変換、複数CSVの結合などを手順として保存できます。出力先システムへ渡すCSVを作る場合は、最後の保存形式まで含めて確認します。

CSVをExcelで直接開くと、商品コードや郵便番号の先頭ゼロ、長い番号、日付らしい文字列が自動変換されることがあります。読み込み方法と列の型を決めることが重要です。

候補向いている場面注意点
Power Query列の選択・変換・結合を繰り返すCSVとしての再出力方法を確認
VBA読込から保存、ファイル移動まで行うエラー時の再実行を設計
関数少量データを既存表へ表示する大量行では重くなりやすい

相談前にそろえるもの

完成形を細かく設計する必要はありません。今の作業が再現できる材料をそろえる方が重要です。

  • 変換前CSVを2〜3種類
  • 完成後の正しいCSV
  • 列ごとの変換ルール
  • 取込先で出るエラーの例
  • 文字コードや区切り文字の指定

専門家へ頼んだ方がよい目安

  • 数万行以上あり、Excel操作が重い
  • 取込エラーの原因が分からず毎回修正している
  • 複数システムのCSVを一つの形式へそろえる
  • ファイル保存名やフォルダ移動まで自動化したい

よくある失敗

  • CSVを一度Excel形式へ保存し、余計な書式を混ぜる
  • 先頭ゼロを数値として読み込む
  • 空欄とゼロを同じ扱いにする
  • 変換後の行数と金額合計を照合しない

よくある疑問

CSVをダブルクリックせずに処理できますか?

できます。Power Queryなどでファイルとして読み込めば、Excelの自動変換を避けながら列の型を指定できます。

毎月ファイル名が変わっても大丈夫ですか?

フォルダ内の最新ファイルや、名前の規則に合うファイルを対象にできます。誤ったファイルを選ばない条件も必要です。

変換後のCSVを自動保存できますか?

方法によります。Power Queryだけでは出力方法に工夫が必要な場合があり、VBAなどを組み合わせることがあります。