CSVをExcelで開くと先頭の0が消える理由と、消さずに開く方法
郵便番号や電話番号、商品コードの入ったCSVをExcelで開くと、先頭の0が消えてしまうことがあります。ExcelがCSVを開くときに、数字だけの値を数値として読むためです。0を残したままExcelファイルにする方法と、Excelの設定や読み込み方を変える方法を、Microsoftの公式の説明に沿ってまとめました。
顧客の一覧をCSVで書き出してExcelで開いたら、郵便番号の「0600001」が「600001」に、電話番号の「09012345678」が「9012345678」になっていました。商品コードや社員番号でも同じことが起きます。そのまま上書き保存すると、0が消えたままのCSVになってしまいます。
CSVの中身を崩さずにExcelで扱いたいなら、当サイトのCSVをExcelに変換でExcelファイル(.xlsx)にしてから開くのが確実です。すべてのセルを文字として保存するので、先頭の0はそのまま残ります。CSVはサーバーにアップロードされず、ブラウザの中だけで処理されます。
0を残したままExcelファイルにする
CSVをExcelに変換を開き、次の順に操作してください。
- CSVファイルを枠にドラッグ&ドロップする(iPhoneやAndroidでは「ファイルを選択」を押して選ぶ)
- 画面に表示された内容を確かめる
- 「Excelファイルを保存」を押す
できあがったExcelファイルをダブルクリックで開けば、郵便番号や電話番号は先頭の0が付いたまま表示されます。日付のように見える値や、12けた以上の長い数字も、Excelで勝手に変わることはありません。Excelで開くと変わってしまう可能性のあるセルは、確認の画面で色を付けて示します。
文字コード(UTF-8またはShift_JIS)は自動で判定します。扱えるのは50MB・20万行までです。
ファイルはサーバーに送られません
- 変換は、お使いのブラウザの中だけで行います。CSVをインターネット上のサーバーへアップロードすることはありません。
- 会員登録やメールアドレスの入力はありません。
- 変換したExcelファイルは、お使いの端末に直接ダウンロードされます。
0が消えるのは、Excelが数字を「数値」として読むから
Microsoftの説明では、ExcelでCSVを開くと、Excelは既定のデータの書式設定にしたがって、それぞれの列をどう読み込むかを判断します。「0600001」のように数字だけでできた値は、文字ではなく数値として読まれます。数値の0600001と600001は同じ値なので、先頭の0が落ちます。
同じ理由で、16けた以上の長い番号も崩れることがあります。Microsoftによると、Excelの数値は有効桁数が15けたまでで、16けた目以降は0に丸められます。
CSVファイルそのものには、0はちゃんと残っています。消えるのは、Excelが読み込んで表示した時点です。ただし、その状態で上書き保存すると、0の消えた値がCSVに書き戻されます。
ほかの方法
Excelの「自動データ変換」の設定を変える
Excelには、「自動データ変換」という設定があります。Microsoftの説明では、その中の「先頭の 0 を削除し、数値形式に変換する」を無効にすると、先頭に0がある数値データをテキストとして格納し、0を残します(例:00123は00123のまま)。
「ファイル」>「オプション」>「詳細設定」を開き、「自動データ変換」にあるこの項目のチェックを外します。一度変えておけば、それ以降にCSVを開くときにも反映されます。
「データ」タブの「テキスト/CSVから」で読み込む
Microsoftの説明では、「データ」タブの「データの取得と変換」にある「テキスト/CSVから」でCSVを選び、「データの変換」を選ぶと、Excelへ読み込む前に内容を編集できます。0を残したい列をテキストとして読み込めば、先頭の0は消えません。
ダブルクリックで開くより手順は増えますが、列ごとに形式を決められます。
拡張子を.txtに変えてから開く
Microsoftは、Excelにテキストインポートウィザードを使わせる方法として、開く前にファイル名の拡張子を「.csv」から「.txt」に変える方法も案内しています。変えたファイルは、Excelの「ファイル」>「開く」で「ファイルの種類」を「テキストファイル」にして選ぶと、ウィザードが始まります。ウィザードで、0を残したい列のデータ形式に「テキスト」を選べば、その列は文字として読み込まれます。
0を消さずに渡すには
CSVを人に渡すときや、システムへ取り込ませるときに0が消えて困るなら、Excelで開いて上書き保存する手順を挟まないことがいちばんの予防になります。中身を確かめたいだけなら、上のツールでExcelファイルにして見るか、メモ帳のようなテキストエディタで開けば、元のCSVは変わりません。
CSVをExcelで開いて文字が読めない記号になる場合は、0の問題とは原因が違います。CSVをExcelで開くと文字化けする理由を参考にしてください。