事務ツール

Excel で郵便番号や口座番号の先頭の 0 が消える理由と防ぎ方

住所録や振込先の CSV を Excel で開いたら、北海道の郵便番号が 6 桁になっていた、携帯電話の番号が「90」から始まっていた。よくある失敗です。理由と防ぎ方、消えてしまった 0 の戻し方をまとめます。

なぜ消えるのか

CSV には「この列は文字」「この列は数値」という区別がありません。Excel は CSV を開くとき、数字だけでできた値を数値とみなして変換します。数値の 0600001 は 600001 と同じなので、先頭の 0 がなくなります。数字の並びとして意味があるだけの「番号」が、計算に使う「数」として扱われてしまうのです。

元の値Excel で開いた後よくある例
0600001600001郵便番号(0 で始まるのは北海道)
090123456789012345678電話番号(ハイフンがない場合)
001234512345口座番号
0011支店コード・社員番号
123456789012345678901.23457E+1920 桁の顧客番号。16 桁目から先は 0 に変わり、元に戻せません
1-21月2日番地・部屋番号が日付になる

この時点では、変わったのは Excel の画面の中だけで、CSV ファイルそのものは元のままです。開いたまま上書き保存すると、0 が消えた値でファイルが書き換わります。CSV を確かめるだけなら、保存せずに閉じてください。

防ぎ方 1:Excel の設定で変換を止める

Microsoft 365 と Excel 2024 には、この変換を止める設定があります。一度変えれば、CSV をダブルクリックで開いても 0 が残ります。

  1. 「ファイル」→「オプション」→「データ」を開きます(Mac は「Excel」→「環境設定」→「編集」)
  2. 「自動データ変換」の欄で、次のチェックを外します
    • 「数値テキストから先頭のゼロを削除し、数値に変換します。」:郵便番号・電話番号・口座番号の 0 が残ります
    • 「長い数値の最初の 15 桁を保持し、指数形式で表示します。」:長い顧客番号がそのまま残ります
    • 「連続する文字と数字を日付に変換する。」:番地が日付になるのを防ぎます

この設定は、その Excel で開くすべてのファイルに効きます。数字の列を計算に使う表では、必要に応じて元に戻してください。古い版の Excel にはこの設定がないので、次の方法を使います。

防ぎ方 2:「データ」タブから読み込み、列を文字列にする

ダブルクリックで開く代わりに、読み込みの機能を使うと、列ごとに「文字列(テキスト)」として読み込めます。

  1. 空のブックで「データ」→「テキストまたは CSV から」を選び、CSV ファイルを選びます
  2. 表示された画面で「データの変換」を押します(Power Query エディターが開きます)
  3. 郵便番号などの列の見出しの左にある型のアイコン(「123」など)を押し、「テキスト」を選びます。「列タイプの変更」と聞かれたら「現在のものを置換」を選びます
  4. 0 を残したい列すべてで繰り返し、「閉じて読み込む」を押します

文字化けしている場合も、この画面の「元のファイル」で文字コードを選べます。文字化けの理由はCSV を Excel で開くと文字化けする理由と直し方で説明しています。

防ぎ方 3:手で入力するときは「文字列」にしておく

Excel に直接打ち込むときは、先に列を選んで「セルの書式設定」→「表示形式」→「文字列」にしてから入力します。1 つのセルだけなら、先頭に「'」(アポストロフィ)を付けて '0600001 と打つと、文字として入ります。「'」は画面にも CSV にも出ません。

消えてしまった 0 を戻す

桁数が決まっている番号なら、Excel の TEXT 関数で頭に 0 を足して戻せます。空いている列に式を入れ、下までコピーします。

式の結果をコピーし、「値の貼り付け」で元の列に上書きすると、文字列として 0 付きの番号が入ります。電話番号は桁数が決まっていませんが、日本の電話番号は国内ではどれも 0 から始まるので、数値になってしまったセルだけに ="0"&A2 で 0 を足せます(ハイフン付きのものは文字のまま残っているので、足さないでください)。

電話番号を戻しながらハイフンで区切る式はExcel で電話番号にハイフンを入れる式で説明しています。

16 桁以上の番号が指数の形になったものは、16 桁目から先が失われているので戻せません。元の CSV から読み込み直してください。

このサイトの住所録の郵便番号チェックと郵便番号から住所を一括入力は、6 桁の郵便番号のうち、頭に 0 を足すと実在する番号になるものを「先頭の 0 が消えた番号かもしれません」と知らせます。全銀ファイル作成は、7 桁に足りない口座番号の頭に 0 を足して作ります。

保存した CSV を確かめるとき

0 を残したまま CSV に保存できても、その CSV をまたダブルクリックで開けば、同じように 0 が消えて見えます。ファイルに 0 が入っているかどうかは、メモ帳などのテキストエディターで開くと確かめられます。

このサイトのツールが Excel 向けに書き出す CSV(全銀ファイルの明細など)は、番号を ="0005" の形で書いているので、ダブルクリックで開いても 0 が残ります。この形は Excel で見るためのもので、ほかのソフトに読み込ませると「="0005"」の文字のまま入ることがあります。

参考にした資料