CSVを開くと先頭の0が消える原因と、消さない開き方

原因は、Excel が「0123」のような文字を数字として読み込み、「123」にしてしまうためです。 郵便番号、社員番号、取引先コード、電話番号などで起こります。 読み込むときに、データ型を「テキスト(文字列)」にすれば、0は消えません。

先に知っておくこと:開いて保存すると、元のCSVからも消える

Excel でCSVを開くと、画面上で0が消えます。その状態で上書き保存すると、CSVの中身の0もなくなります。 先頭の0が必要なCSVは、開くだけにして、保存するときは別の名前にしてください。元のCSVは、コピーを残しておくと安全です。

0を消さずに開く方法(Excel の「テキストまたはCSVから」)

  1. Excel を起動して、空のブックを開く(CSVをダブルクリックで開かない)
  2. 「データ」タブ →「テキストまたはCSVから」を選び、CSVファイルを選ぶ
  3. 表示された画面の「データ型の検出」を、「検出しない」(データ型検出を行わない)に変える(表記は Excel のバージョンで少し違います)
  4. プレビューで、先頭の0が残っているのを確認して「読み込み」を押す

特定の列だけを文字列にしたいときは、同じ画面の「データの変換」を押し、対象の列を選んで、データ型を「テキスト」に変えてから、「閉じて読み込む」を選びます。

数字が長い場合も注意

Excel は、数字を15桁までしか正確に扱えません。16桁以上の番号(会員番号など)が、下の桁が0に置き換わったり、「1.23E+15」のように表示されたりすることがあります。 こうした列も、同じように「テキスト」で読み込みます。

毎月繰り返す場合

「CSV職人」は、郵便番号や取引先コードの先頭の0を消さずに処理します。読めない値は変更せず、件数を知らせます。元のCSVは書き換えません。