Social Antennaデータの困りごとを、すぐ解決。
ホーム›CSV・テキスト›CSVをExcelで開くと先頭の0が消える原因と消さない読み込み方法
● CSV・テキスト

CSVをExcelで開くと先頭の0が消える原因と消さない読み込み方法

CSVをExcelで開いたときに郵便番号や商品コードの先頭の0が消える原因と、Power Queryで文字列として安全に読み込む手順を解説します。

公開日 2026.09.17読了目安 7分
Microsoft Support・財務省の公式情報を確認し、実際の操作手順に沿って整理しています。

結論:こうすれば解決します

CSVをExcelでダブルクリックして開くと、00123が123になることがあります。元のCSVが壊れているとは限りません。Excelがその列を数値だと判断し、数値には不要な先頭の0を表示しなくなるためです。

確実な対処法は、CSVを直接開かず、Excelの[データ]→[テキストまたはCSVから]で読み込み、対象列のデータ型を[テキスト]に指定することです。郵便番号、電話番号、会員番号、商品コードなど、計算しない番号は文字列として扱います。

先に確認

  • 元のCSVは上書きせず、コピーを作って作業してください。
  • すでにExcelで保存し直した場合、失われた0を元の情報なしで特定できないことがあります。
  • 16桁以上の番号は、先頭の0だけでなく16桁目以降が変わる可能性があるため、必ずテキストとして読み込みます。

CSVの先頭の0が消える原因

CSVは、値をカンマで区切ったテキストファイルです。セルの「文字列」「数値」といったExcel固有の書式をそのまま保存する形式ではありません。そのためExcelでCSVを直接開くと、Excelが各列のデータ型を自動判定します。

たとえば元のCSVに次のような値が入っていても、数値として解釈されると先頭の0が外れます。

用途 CSV内の値 数値として開いた表示
郵便番号 0012345 12345
商品コード 000812 812
電話番号 09012345678 9012345678

Microsoft公式情報でも、Excelが数値として扱うために先頭の0を自動的に削除すると説明しています。番号を原形のまま保持したい場合は、文字列として取り込む必要があります。

先頭の0を消さずにCSVを読み込む手順

以下は、Microsoft 365、Excel 2024、Excel 2021、Excel 2019、Excel 2016で案内されている[テキストまたはCSVから]を使う方法です。画面上の名称はバージョンによって少し異なる場合があります。

  1. CSVをダブルクリックせず、Excelだけを先に起動します。
  2. 空のブックを開き、上部の[データ]タブを選びます。
  3. [テキストまたはCSVから]を選択します。見当たらない場合は、[データの取得]→[ファイルから]→[テキストまたはCSVから]を確認します。
  4. 対象のCSVファイルを選び、[インポート]を押します。
  5. プレビューで区切り文字や文字化けがないか確認し、[データの変換]を選びます。
  6. Power Queryエディターで、先頭の0を残したい列の見出しを選択します。複数列はCtrlキーを押しながら選べます。
  7. [ホーム]または[変換]にある[データ型]→[テキスト]を選びます。
  8. 確認画面が出たら[現在のものを置換]を選びます。
  9. プレビューで 0012345 のように0が残っていることを確認し、[閉じて読み込む]を押します。

財務省のCSV案内でも、[テキストまたはCSVから]で取り込み、Power Query上で問題のある列を[テキスト]へ変更する手順が示されています。

読み込み前に確認する簡単なテスト

元のCSVに0が残っているかを先に確認すると、Excelの読み込みで消えたのか、ダウンロード時点ですでにないのかを切り分けられます。

  1. CSVをコピーします。
  2. コピーしたファイルをメモ帳などのテキストエディターで開きます。
  3. 対象の郵便番号や商品コードを検索します。
  4. テキスト上で 0012345 と残っていれば、元データは残っています。Excelへ文字列として読み込み直せます。

テキスト上でも 12345 になっている場合は、そのCSVだけから本来いくつ0があったか判断できません。CSVを出力したサービスから再ダウンロードするか、元システムのデータを確認してください。

すでにExcelで開いて0が消えた場合

まだ保存していない場合

そのExcelファイルを保存せずに閉じ、元のCSVを[テキストまたはCSVから]で読み込み直します。元CSVを変更していなければ、先頭の0は残っている可能性があります。

保存してしまった場合

まず元CSVのコピーや再ダウンロードが可能か確認してください。ExcelでCSVを上書き保存した後は、消えた桁数の情報がファイルに残っていない場合があります。

すべて7桁の郵便番号など、本来の桁数が確実に決まっているデータなら、Excelの表示形式やTEXT関数で0を補えます。たとえばA2の値を7桁にするなら =TEXT(A2,"0000000") です。ただし、これは決まった桁数を使って0を補う処理です。元データを復元した証拠にはなりません。

セルの表示形式を文字列に変えるだけでは遅いことがある

CSVを直接開いた後でセルの表示形式を[文字列]に変えても、すでに数値化された値の先頭0は自動では戻りません。Microsoftの案内でも、書式設定はそれ以前に削除された先頭0を復元しないと説明されています。

先頭0を守るには、値がExcelへ入る前、つまりインポート時点で列をテキストに指定することが大切です。

16桁以上のIDは特に注意

Excelの数値精度は15桁までです。16桁以上の会員番号、カード番号、管理IDなどを数値として取り込むと、16桁目以降が0に置き換わることがあります。先頭0を補うだけでは直せません。

長い番号は計算対象ではないため、最初からテキストとして読み込んでください。元データを失わないよう、読み込み後に先頭・末尾の値を元CSVと照合するのが安全です。

再びCSVとして保存するときの注意

作業後のデータをCSVで保存すると、Excelのセル書式はCSVに保持されません。別の人がそのCSVをダブルクリックして開けば、同じ自動変換が再び起こる可能性があります。

  • Excelで使い続けるなら、作業用ファイルは.xlsx形式で保存する。
  • CSVで受け渡す場合は、受け取る人にも[テキストまたはCSVから]で読み込んでもらう。
  • 保存後のCSVをテキストエディターで開き、重要な番号が残っているか確認する。

よくある質問

先頭にアポストロフィを付ければ直りますか?

Excelへ手入力する場合は、'00123 のように入力すると文字列として扱えます。ただし、CSVのデータ自体にアポストロフィを加えると、他のシステムでは文字として残る場合があります。既存CSVの安全な読み込みには、列のデータ型をテキストに指定する方法が適しています。

表示形式を「0000000」にすれば問題ありませんか?

7桁固定など、桁数が確実でExcel内の表示だけを整える用途なら使えます。ただし、すでに失われた0を正確に復元できるとは限らず、CSVへ書式も保存されません。識別番号の保持には文字列での取り込みが安全です。

文字化けも同時に起きています

[テキストまたはCSVから]のプレビューで文字コードを選び直します。財務省は、例としてUTF-8の「65001」と日本語Shift-JISの「932」を案内しています。文字化けを解消してから[データの変換]へ進み、番号列をテキストにします。

まとめ

CSVの先頭0が消える主な原因は、Excelが番号を数値へ自動変換することです。元CSVをコピーし、Excelの[データ]→[テキストまたはCSVから]で開き、郵便番号や商品コードの列を[テキスト]へ変更してください。すでに上書きした場合は推測で補わず、元システムから再取得できるか確認します。