エクセルで先頭の0が消える時の直し方(郵便番号・社員番号・電話番号を00123のまま表示)

記事
ビジネス・マーケティング
「00123」と入れたのに「123」になってしまう。郵便番号や社員番号、電話番号でよく起きます。エクセルは数字を「数」として扱うので、頭の0を消すためです。目的別に、直し方をまとめます。

■ まず考える:0を「見た目だけ」付けるか、「文字」として持つか
・見た目だけ付ける:計算に使う番号(金額や数量など)向き。中身は123のまま。
・文字として持つ:郵便番号・電話番号・IDなど、計算しない番号向き。入れた通りに残ります。

■ 方法1:これから入れる番号は、先頭に「'」を付ける(手早い)
セルに '00123 と入れると、00123のまま残ります。「'」は画面には出ません。計算しない番号ならこれが一番簡単です。

■ 方法2:列の表示形式を「文字列」にしてから入れる
列を選び、右クリック→「セルの書式設定」→「文字列」にしてから入力します。入力前に設定するのがコツです。すでに入れた数字は、設定を変えても0は戻りません。

■ 方法3:桁数をそろえて表示する(社員番号を5桁にしたい)
A2に123が入っているとき、
=TEXT(A2,"00000")
試した結果:00123
45なら 00045、9876を6桁にしたいなら =TEXT(A4,"000000") で 009876 です。0の数が、そろえたい桁数です。

■ 方法4:TEXT関数を使わず、0を足す
=REPT("0",5-LEN(A5))&A5
試した結果:00123
REPTは文字を繰り返す関数です。5桁に足りない分だけ0を前に付けています。

■ 方法5:番号と文字をつなげる
=TEXT(A8,"0000")&"-"&TEXT(A8*2,"00")
試した結果:0003-06
商品コードのように、桁ごとに0をそろえてつなげたいときに使えます。

■ つまずきやすい点
・TEXTやREPTで作った結果は「文字」になります。SUMなどで足し算の対象にはなりません
・逆に、00123が文字で入っているとき =VALUE(A6) は 123 に戻ります。=LEN(A7) で数えると 5 で、0も1文字として数えられます
・CSVを開き直すと、また0が消えることがあります。その時は「データ」→「テキストファイル」から読み込み、列を文字列にします
・操作名や関数名はWindowsのExcel(Microsoft 365)の表記です。Macや古い版では少し違う場合があります
・見た目だけ0を付ける設定(表示形式の「ユーザー定義」で 00000)もありますが、郵便番号のような番号は、文字として持つほうが安全です

■ まとめ
計算しない番号は「'」か文字列で、桁をそろえたいときはTEXT関数。目的で選べば迷いません。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す