CSVをExcelで開くと先頭の0が消える・日付に変わるのを防ぐ方法
CSVをExcelで開くと、次のような「勝手な変換」が起きることがあります。
- 商品コード 00123 → 123(先頭の0が消える)
- 型番 1-2 → 1月2日(日付になる)
- 長い番号 1234567890123456789 → 15桁を超える部分が 0 に置き換わり、表示も 1.23457E+18 のような指数形式になることがある
Excelがダブルクリックで開いたCSVの中身を「数値」や「日付」だと推測して変換するのが原因です。一度この状態で上書き保存すると、元の値には戻せません。
方法1:取り込むときに「文字列」として読む
- データ タブ → テキストまたはCSVから でファイルを指定
- プレビュー画面の データ型検出 を データ型を検出しない にする
- 読み込み。すべての列が文字列のまま取り込まれ、先頭の0や型番がそのまま残ります
一部の列だけ数値として計算したい場合は、データの変換 を押して開く画面(Power Query エディター)で、列ごとにデータ型を テキスト や 整数 に指定してから読み込みます。
方法2:Excelの自動変換の設定を確認する
対応するWindows版のMicrosoft 365 Excelでは、ファイル → オプション → データ → 自動データ変換 で、先頭の0の削除や長い数値の変換などを個別に止められます。表示されない場合は、Excelのバージョンや更新状況を確認してください。設定を変える前に失われたデータは、この操作では元に戻りません。
方法3:開くだけならブラウザの無料ツールを使う
CSVを結合したり重複を消したりするだけなら、CSV・Excel 結合と重複削除ツール(無料・登録不要)も使えます。値を文字列として扱うため、ツールの中では先頭の0や長い番号は変わりません。ただし、出力したCSVをExcelでダブルクリックして開くと、Excel側で同じ変換が起きます。出力したCSVも、上の方法1で開いてください。
覚えておくこと
「ダブルクリックで開いて、そのまま上書き保存」が一番危険です。大事なCSVは、まずコピーを取ってから作業してください。
制作・確認について:本記事の原案は生成AI(Claude)を使用して作成し、Excel・Power Queryに関する技術的な記述を別の生成AI(ChatGPT)でMicrosoft公式資料と照合しました。実際の画面表示や利用できる機能は、Excelのバージョン・OS・更新状況によって異なる場合があります。
この方法で解決しない場合:たとえば「先頭の0が消えた状態で保存してしまったファイルを、元の桁数に戻したい(桁数の規則が分かっている場合)」「商品コードと日付の表記をそろえたExcelで受け取りたい」といった作業は、ココナラ(有料・見積り相談制)で受け付けています。
この方法で解決しない場合:たとえば「先頭の0が消えた状態で保存してしまったファイルを、元の桁数に戻したい(桁数の規則が分かっている場合)」「商品コードと日付の表記をそろえたExcelで受け取りたい」といった作業は、ココナラ(有料・見積り相談制)で受け付けています。