エクセルで郵便番号を「0600001」と入力すると、先頭の0が消えて「600001」になります。数値として扱われるためです。0を残してハイフン付きで表示するには、セルを選んで Ctrl+1 →「表示形式」→「ユーザー定義」で 000-0000 と設定します。
この記事では、郵便番号の先頭の0が消える原因と直し方、ハイフンを付ける・消す方法、「〒」を付けて表示する方法を、実際の画面で説明します。
郵便番号|やりたいこと別の方法
| やりたいこと | 方法 | 結果の例 |
|---|---|---|
| 先頭の0を残し、ハイフン付きで表示 | 表示形式(ユーザー定義)に 000-0000 | 600001 → 060-0001 |
| 〒を付けて表示 | 表示形式に "〒"000-0000 | 600001 → 〒060-0001 |
| ハイフン付きの文字に変換 | =TEXT(B2,"000-0000") | 060-0001(文字) |
| ハイフンを消す | =SUBSTITUTE(C2,"-","") | 060-0001 → 0600001 |
| 入力の時点で0を残す | 060-0001 とハイフン付きで入力する/先頭に ' を付ける | 文字として入り、0が残る |
先頭の0が消える原因
練習用ファイルの B2 には、札幌の郵便番号「0600001」を入力しました。エクセルは数字だけの入力を数値として扱うので、数値として意味のない先頭の0が消えてしまいます。

表示形式で0を残し、ハイフンを付ける方法
000-0000 と入力します。「サンプル」が「060-0001」になったら、「OK」を押します。

「〒」も付けたいときは、種類に "〒"000-0000 と入力します。「〒060-0001」と表示されます。表示形式は見た目だけを変えるので、セルの値は数値のままです。
ハイフン付きの文字に変換する方法(TEXT関数)
宛名ソフトやほかのシステムに渡すときは、見た目ではなく、本当にハイフンが入った文字が必要なことがあります。C2 に次の式を入れて、下へコピーします。
=TEXT(B2,"000-0000")

ハイフンを消す方法(SUBSTITUTE関数)
反対に、「060-0001」からハイフンを消して「0600001」にしたいときは、置換か、SUBSTITUTE関数を使います。
=SUBSTITUTE(C2,"-","")

SUBSTITUTE関数の結果は文字なので、先頭の0は消えません(練習用ファイルで、D2 が文字の「0600001」になることを確かめました)。
うまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 入力すると先頭の0が消える | 数値として入力された | 表示形式を 000-0000 にするか、ハイフン付きで入力する。 |
| 表示形式を変えても、ハイフンが付かない | 郵便番号が文字として入っている | 文字の郵便番号は、TEXT ではなく、そのまま使うか SUBSTITUTE で整える。 |
| VLOOKUPで郵便番号が見つからない | 数値と文字がまざっている | どちらかにそろえる(TEXT関数で文字にそろえるなど)。 |
| 全角の数字で入っている | ほかのシステムからの貼り付け | 全角・半角の変換で半角にする。 |
よくある質問
郵便番号から住所を入力できますか?
Windows の日本語入力(Microsoft IME)では、郵便番号を入力して変換すると、候補に住所が出る設定があります(郵便番号辞書が有効な場合)。エクセルの関数だけで住所に変換する機能はありません。
電話番号の先頭の0も消えます。
同じ原因です。くわしくは、電話番号の記事で説明しています。
あわせて読みたい:文字・表示形式の関連記事
郵便番号から住所を自動で入力する方法は、エクセルで郵便番号から住所を自動入力する方法もあわせてご覧ください。

コメント