Excelで「0012」の先頭の0が消えるとき
商品コード・郵便番号・学籍番号のように0で始まる値が、Excelで12に変わってしまう理由と、0を残す方法を説明します。
商品コード0012、郵便番号01234、電話番号010…をExcelに入力したりCSVで開いたりすると、先頭の0が消えてしまうことはよくあります。Excelがこうした値を「数値」とみなし、数値では先頭の0に意味がないと判断するためです。
Excelで0を残す方法
- 入力するときに先頭にアポストロフィを付けます。
'0012と入力すると、セルには0012と表示され、文字列として保存されます。 - 列全体をあらかじめセルの書式設定 → 文字列に変えてから入力します。
- CSVを開くときはダブルクリックではなくデータ → テキストまたはCSVからで取り込み、プレビューの「データの変換」でその列のデータ型を「テキスト」に指定します。
DocDoriでは
DocDoriはCSVを開くとき、数値に見える値を勝手に数値に変換しません。0012は0012のまま、20桁を超える長い番号も丸めずに文字のまま保持します。XLSXでも、文字列として保存された0012は文字列として保存し直します。
一度消えた0は戻せますか?
すでに数値の12として保存されたファイルには元の桁数の情報がないため、自動では復元できません。桁数が決まっていれば、Excelの=TEXT(A1,"0000")のように桁数を指定して作り直す方法もありますが、元のデータをもう一度入手するのが最も確実です。
こんな値でよく起こります
- 郵便番号(01234)、学籍番号・社員番号(00123)、商品コード(0012)
- 010で始まる携帯電話番号をハイフンなしで保存したリスト
- 20桁を超えるカード承認番号や注文番号(Excelでは末尾の桁が0に変わることもあります)
よくある質問
DocDoriで直したCSVをもう一度Excelで開くと? DocDoriは0012をそのまま保存しますが、Excelがそのファイルをダブルクリックで開くと、再び数値に変換されることがあります。Excelでは「データ → テキストまたはCSVから」で開き、その列をテキストに指定してください。
XLSXで保存すれば安全ですか? セルが文字列として保存されていれば、XLSXでも0012は保たれます。数値のセルに表示形式だけ0000を設定している場合は、値そのものは12である点に注意してください。