Excel で CSV ファイルを開くと、ゼロで始まる値 (例:"00123") が先頭のゼロが無し(例:"123") なしで表示される場合があります。これは、Excel がこれらの値を自動的に数値として解釈し、既定では数値の先頭に 0 が含まれていないためです。
例:
- "01234" のような郵便番号は、Excel では "1234" と表示される場合があります。
- 「00045」のような ID は、「45」と表示される場合があります。
この動作は、郵便番号、電話番号、識別コードなど、先頭のゼロが重要なデータセットを操作する場合に問題になります。
なぜこのような表示にされるのですか?
Excelは、データ型を自動的に認識して変換するように設計されています。そのため、先頭がゼロの値を見つけるとその値は数値であると想定し、先頭のゼロを削除してしまうのです。この自動変換は、データの意味にこれらのゼロが不可欠である場合に、データの問題が発生する可能性があります。
ExcelでCSVファイルを開くときに、この問題を回避または修正する方法があります。
ExcelがCSVファイルの先頭のゼロを削除しないようにする方法
ここでは、CSV ファイルを開いたり操作したりするときに Excel で先行 0 が保持されるようにする 3 つの方法を示します。
方法1:Excelのインポートウィザードを使用してCSVファイルを開く
この方法では、Excel が各列を解釈する方法を制御できるため、先頭のゼロの値が自動的に数値として扱われることはありません。
- Excel を開きます。(※CSV ファイルを直接開かないでください)
- 「データ」項目に移動し、「テキストまたはCSVから」をクリックします。
- 該当のCSV ファイルを選択し、「インポート」をクリックします。
- インポートウィザードが開きます。適切な「区切り記号」を選択し、「データの変換」をクリックします。
- 「Power Queryエディター」ウインドウで、本来先頭にゼロを含んでいる列を選択します。
- 右クリックをして、「型の変更」⇒「テキスト」をクリックします。
- 「現在のものを置換」をクリックしたら、「閉じて読み込む」をクリックしインポートプロセスを完了します。
この方法では、先頭にゼロがある値はすべてテキストとして扱われ、Excel ワークシートの先頭のゼロが表示されます。
方法 2: Excel の書式設定を使用して先頭の 0 を追加する
すでにCSV開いていて先頭の 0 を失っている場合でも、影響を受ける列の書式設定を調整することで問題を回避できます。
- 先行ゼロが削除された列を選択します。
- 右クリックして「セルの書式設定」を選択します。
- 「表示形式」項目の分類フィールドで、「文字列」を選択します。これにより、値は数値ではなくテキストとして扱われ、この列では先頭のゼロが表示されるようになります。
- または、 書式設定をカスタムすることもできます。
- 分類フィールドで「ユーザー定義」を選択します。
- 種類フィールドにコード ID
00000
を入力します (たとえば、5 桁の値の場合)。
これにより、Excel は特定の桁数で値を表示し、必要に応じて先頭にゼロを表示させます。
方法3:データ入力の前に列をテキストとして事前フォーマットする
Excelに手動でデータを入力する場合は、列を事前に書式設定して、先頭のゼロが削除されないようにすることができます。
- データを入力する予定の列を選択します。
- 右クリックして「セルの書式設定」を選択します。
- 「表示形式」項目の分類フィールド「文字列」を選択します。
- これで、"00123" のような値を入力すると、データはテキストとして扱われるため、Excel はゼロをそのまま表示させます。
概要
Excel の既定の動作では数値から先頭の 0 が削除されるため、CSV ファイルを開くときにデータの整合性の問題が発生する可能性があります。Excelのインポートウィザードを使用するか、 テキストの書式設定を適用するか、データを入力する前に列を事前に書式設定することで、先行ゼロが表示されるようにできます。これらの方法は、特に郵便番号、ID 番号、または先行ゼロが重要なデータセットなどのフィールドを操作する場合に、データの整合性を維持するのに役立ちます。