エクセルでCSVの先頭の0が消える・日付になる原因と3つの対処法

CSVを開くと、電話番号の先頭の「0」が消えたり郵便番号が日付に変わったりすることがあります。原因はひとつで、対処法は3つあります。

CSVの先頭の0が消える・日付になる原因はエクセルの自動データ変換

CSVはカンマで値を区切っただけのテキストファイルでセルの書式情報を持たないため、Excelは値の見た目から数値か日付かを判定して自動変換します。Microsoftはこの挙動を「自動データ変換」と呼び、先頭ゼロの除去や大きな数値の指数表記化(例: 1.23E+15)を含むと説明しており、0が消える・日付になる・指数表記になる3つの症状は、すべて自動データ変換が原因です。

電話番号・郵便番号・会員番号のように見た目は数字でも実体は識別子である値は、数値だと判定された瞬間に先頭の0が取り除かれ、この状態のまま上書き保存すると元の桁数の値には戻せなくなります。先頭の0を残すには、パワークエリでの取り込み直しか、CSV→Excel変換ツールを使います。

15桁を超える数値はExcelで指数表記に変わる

Excelの数値精度は15桁までのため、伝票番号やIDのように16桁以上の数値をCSVに含めていると、15桁を超えた部分が指数表記へ変換されます。つまり、15桁を超える数値が指数表記に変わるのも、先頭の0が消えるのと同じ自動データ変換が原因です。

エクセルのデータの取り込み設定をオフにして0落ちを防ぐ

Excel for Microsoft 365・Excel for Microsoft 365 for Mac・Excel 2024・Excel 2024 for Macの4製品は、「ファイル」の「オプション」から「データ」を開き、自動データ変換のチェックを取り除けば、ダブルクリックで開いても0落ちや日付化が起きなくなります。習慣を変えずに続けられるので、CSVを毎日受け取る人に適しています。

一度オフにすればオンに戻すまでずっと有効ですが、対象はこの4製品のみで対象外のバージョンにはこの設定自体がありません。対象外のExcelを使っている場合は、パワークエリで取り込み直すかCSV→Excel変換ツールを使います。

パワークエリでCSVの列のデータ型をテキストにして取り込み直す

対象外のExcelでもCSVを直接ダブルクリックせず「データ」タブから「テキストまたはCSVから」を選んで取り込めば、Power Queryエディターで列ごとにデータ型を指定できます。プレビュー画面で先頭ゼロを保持したい列を選び「変換」から「データ型」で「テキスト」を選んでから「閉じて読み込む」を押せば、その列は数値化されません。

パワークエリはCSVのデータ型検出を先頭200行で判断するか全データで判断するか選ぶこともでき、自動検出そのものをオフにして全列をデフォルトでテキストにする選択肢もあり、列のデータ型をテキストに指定して取り込み直せば、CSVの先頭の0や日付に見える値は変換されず元の値のまま表示されます。取り込みの詳しい手順はCSVをExcelに変換する方法まとめにまとめています。

Excelには、後方互換のために残されているテキストファイルウィザードというレガシー機能もあります。Microsoftはこの機能の代わりにパワークエリを使うよう案内しています。

「ファイル」「オプション」「データ」で「従来のデータ インポート ウィザードを表示する」をオンにし「テキストから(レガシ)」を選び、3画面目の「列のデータ形式」で数字だけの列に「文字列」を選べば、パワークエリと同様に数値化を避けられます。ただし対象はExcel for Microsoft 365・Excel 2024・Excel 2021のみで、Mac版にはこの機能がありません。

エクセルへの変換ツールなら数字も日付も変わらない

設定変更や取り込み直しの手順を毎回踏みたくない場合は、sakuttoAIの「CSV→Excel変換」ツールを使うことができます。このツールはCSVの全セルを文字列として読み込み、そのままシートへ書き出します。

文字コードは自動で判定するのでBOMの有無を気にする必要はありません。また、変換はブラウザ内で完結するため、ファイルがサーバーへ送信されることはありません。

ヘッダー行は太字になり列幅も内容に合わせて調整されるので、開いてすぐ内容を把握することができます。このツールはCSVを文字列のまま変換するため、先頭の0も日付に見える値も書き換わりません。

  1. CSVファイルをドラッグ&ドロップでアップロードする
  2. プレビューで先頭ゼロや日付データがそのまま表示されていることを確認する
  3. 「変換」ボタンを押してxlsxファイルをダウンロードする

変換後のxlsxはそのままExcelで開いても値が変わりません。画面ごとの操作(関連記事:CSVをExcelに変換する手順と0落ち・文字化けの防ぎ方)はこの3ステップの順に進みます。

Excelの種類で変わる対処法の優先順位

CSVを開くと0が消える・日付になる・指数表記になるのは、いずれもExcelの自動データ変換が原因です。対象の4製品は設定でオフにするのがいちばん簡単で、対象外は列のデータ型をテキストにして取り込み直すか、変換ツールで値を変えずに変換します。そのため、原因はひとつの自動データ変換であり、対象製品なら設定のオフ、それ以外なら取り込み直しか変換ツールです。

FAQ

ダブルクリックで開くと必ず0が消えますか?
Excel for Microsoft 365・Excel for Microsoft 365 for Mac・Excel 2024・Excel 2024 for Macの4製品は、設定で自動データ変換を無効化すれば、ダブルクリックで開いても0が消えなくなります。それ以外のExcelはダブルクリックで直接開くと、自動変換が働くため0が消えたり日付に変わったりします。
一度0落ちしたCSVを元に戻す方法はありますか?
0落ちした状態で上書き保存すると元のデータは復元できません。オリジナルのCSVファイルが残っていれば、そちらからsakuttoAIのCSV→Excel変換ツールで変換し直してください。
パワークエリと変換ツールはどちらを使うべきですか?
列ごとにデータ型を選びたいときや、同じCSVを繰り返し取り込むときはパワークエリが適しています。今すぐ1ファイルを修正したい、手順を覚えたくない場合はCSV→Excel変換ツールが適しています。
ファイルがサーバーに送信されることはありますか?
いいえ。sakuttoAIのCSV→Excel変換はすべてブラウザ内で処理されます。ファイルが外部サーバーへ送信されることはないため、個人情報や機密データを含むCSVでも利用できます。