【Excel】エクセルで郵便番号にハイフンを入れる方法(文字列・一括・自動入力)
Excelで住所録や顧客名簿を作成していると、郵便番号が「1234567」のようにハイフンなしで入力されており、「123-4567」の形式へそろえたい場面があります。
郵便番号は見た目を整えるだけでなく、印刷した宛名ラベルやCSVデータを確認するときの読みやすさにも関わる項目です。
ただし、数値のまま処理すると先頭のゼロが消えたり、入力済みデータだけ直って今後の入力に反映されなかったりするため、目的に合った方法を選ぶことが重要です。
入力済みの郵便番号を一括で表示変更したい場合は表示形式、別列に整形結果を作りたい場合はTEXT関数、入力時から自動でハイフンを付けたい場合はユーザー定義の表示形式が便利です。
この記事では、文字列として郵便番号へハイフンを入れる方法、一括変換、先頭ゼロを維持する入力設定までを解説します。
郵便番号の列を安全に整えて、住所データを扱いやすくしていきましょう。
エクセルで郵便番号にハイフンを入れる方法1【表示形式の設定】
| A列 郵便番号の元データ | 表示形式の設定後 |
|---|---|
| 1234567 | 123-4567 |
| 9876543 | 987-6543 |
それではまず、入力済みの数値を変えずに郵便番号だけをハイフン付きで見せる表示形式について解説していきます。
セルの中身は1234567のまま、画面や印刷では123-4567と表示できるため、元データを壊したくない住所録に向く方法です。
対象セルの選択とセルの書式設定
郵便番号が入力されているA2からA100などの範囲を選択します。
列全体に設定したいときは、列番号Aをクリックして選択してもかまいません。
選択後に右クリックし、「セルの書式設定」をクリックします。

ショートカットキーを使う場合は、対象範囲を選択してからCtrlキーと1キーを同時に押すと、セルの書式設定画面を開けます。
この方法なら、書式だけを変更するため、郵便番号以外の氏名や住所の内容には影響しません。
データが数値として入力されているか、文字列として入力されているかは、セルを選択したときの数式バーでも確認できます。
ユーザー定義での郵便番号表示
セルの書式設定画面で「表示形式」タブを選び、分類から「ユーザー定義」をクリックします。
種類の入力欄に「000-0000」と入力して、OKをクリックしましょう。

7桁の数値なら、最初の3桁の後ろへ自動的にハイフンが表示されます。
たとえば1234567は123-4567、4567890は456-7890という表示になります。
000は桁数を固定して不足分をゼロで埋める指定なので、0123456のように先頭がゼロの郵便番号にも対応できます。
郵便番号用のユーザー定義表示形式は「000-0000」です。
表示形式を使うときの注意点
表示形式でハイフンを付けても、セル内部の値は1234567という数値のままです。
そのため、別ソフトへコピーしたりCSV形式で保存したりすると、ハイフンなしの値として出力されることがあります。
郵便番号を外部システムへ渡す予定があり、ハイフン付きの文字そのものが必要なら、後述するTEXT関数で別列に文字列を作る方法が適しています。
また、7桁未満の入力があると意図しないゼロ埋めになる場合があります。
設定前に、郵便番号列に空白や6桁データが混ざっていないかを確認しておくと安心です。
【操作のポイント】表示だけを整えたい場合は「000-0000」を設定し、データ自体を文字列へ変換する必要はありません。
エクセルで郵便番号にハイフンを入れる方法2【TEXT関数による文字列化】
| A列 元の郵便番号 | B列 数式 | C列 結果 |
|---|---|---|
| 1234567 | =TEXT(A2,”000-0000″) | 123-4567 |
続いては、郵便番号にハイフンを含んだ文字列を別列へ作成するTEXT関数を確認していきます。
TEXT関数の結果は文字列として保持されるため、CSV出力や他の帳票へ転記するデータを作るときに役立ちます。
TEXT関数の基本数式
サンプルデータでは、A1に「郵便番号」、A2に1234567が入力されているとします。
結果を表示したいB2セルに、次の数式を入力します。
=TEXT(A2,”000-0000″)
Enterキーを押すと、B2には123-4567と表示されます。
数式のA2は元の郵便番号が入ったセルを指定する部分であり、「000-0000」は表示したい文字列の形式です。

元のデータが4567890なら、結果は456-7890になります。
数式内のダブルクォーテーションは省略せずに入力することが大切です。
先頭のゼロを含む郵便番号の整形
郵便番号には012-3456のように、先頭がゼロになる地域番号があります。
A2に123456と数値として入っている場合でも、=TEXT(A2,”000-0000″)と指定すれば、B2には012-3456と表示できます。

これは書式内の先頭3つのゼロが、必要な桁数までゼロを補う働きをするためです。
ただし、元データがすでに「0123456」という文字列なら、TEXT関数で処理するより、後述する置換や文字列結合の方法を検討するほうが自然な場合もあります。
郵便番号列の左上に緑色の三角マークがある場合は、数値が文字列として保存されている可能性があります。
オートフィルによる一括適用
B2に数式を入力したら、セル右下の小さな四角形であるフィルハンドルを下方向へドラッグします。
隣接するA列にデータが連続している場合は、フィルハンドルをダブルクリックする方法でも最終行まで数式をコピーできます。
数式はB3では=TEXT(A3,”000-0000″)、B4では=TEXT(A4,”000-0000″)というように、自動で参照先が変わります。
一括処理の前に数行だけ結果を確認すると、空白セルや異なる桁数のデータを早めに見つけられます。
【操作のポイント】TEXT関数で作った列は文字列です。元の郵便番号列を残しておけば、変換内容の確認や修正がしやすくなります。
エクセルで郵便番号にハイフンを入れる方法3【数式の値貼り付け】
| A列 元データ | B列 TEXT関数の結果 | 値貼り付け後 |
|---|---|---|
| 1234567 | 123-4567 | 123-4567 |
続いては、TEXT関数で整えた郵便番号を数式ではなく固定の文字列として残す値貼り付けを確認していきます。
住所録を完成させた後や、元データ列を置き換えたいときに使える操作です。
数式結果の範囲コピー
B2から最終行まで、TEXT関数の結果が入った範囲を選択します。
CtrlキーとCキーを押すか、右クリックして「コピー」を選びます。
コピー中はセル範囲の周囲に点線が表示されます。
この時点ではセルに数式が残っているため、A列の内容を変更するとB列の表示も変わります。
元データとの連動を切りたい場合は、次の値貼り付けまで続けて操作しましょう。
値として貼り付ける操作
| A | B | |
|---|---|---|
| 1 | 郵便番号 | 整形後 |
| 2 | 1234567 | 123-4567 |
| 3 | 4567890 | 456-7890 |
値を選択 ➤
貼り付け先の先頭セルを右クリックし、「貼り付けのオプション」から「値」を選択します。
ホームタブの貼り付けボタンの下向き矢印から、「値」を選ぶ方法でも同じです。
値貼り付け後は数式バーにTEXT関数ではなく郵便番号そのものが表示されるので、固定化できたか確認しましょう。
値貼り付けは、数式の計算結果だけを残し、数式の参照関係を解除する操作です。
元列への置き換えと確認
値として貼り付けたB列のデータを確認してから、必要に応じて元のA列へ貼り付けます。
上書き前には、ブックを別名保存するか、元データ列をコピーしてバックアップを作っておくと安全です。
すべての郵便番号が7桁で、ハイフン位置が3桁目の後ろになっているかを確認します。
空白セルに000-0000が表示されていないか、住所の途中に郵便番号が混ざっていないかも見直しましょう。
【操作のポイント】元の列を消すのは、値貼り付け後の郵便番号を数件以上確認してからにしましょう。
郵便番号を自動入力しやすくする表示形式
| 入力値 | 設定後の表示 |
|---|---|
| 1234567 | 123-4567 |
続いては、新しく入力する郵便番号へ自動的にハイフンを表示するための設定を確認していきます。
あらかじめ列に書式を設定しておけば、担当者ごとの入力表記ゆれを減らせます。
郵便番号列に事前設定する方法
郵便番号を入力する予定の列全体、または入力範囲を選択します。
セルの書式設定からユーザー定義を開き、種類に000-0000を指定します。
その後、1234567と入力してEnterキーを押すと、セルには123-4567と表示されます。
入力時にハイフンを打たなくても表示がそろうため、大量の住所データを手入力するときに便利です。
文字列として入力する場合の考え方
郵便番号は計算に使う数値ではなく、地域を識別する番号です。
先頭ゼロやハイフンを確実に保持したい場合、列の表示形式を「文字列」にして、012-3456のように直接入力する方法もあります。
文字列として保存した郵便番号は、数値の大小比較や合計には使えませんが、住所録では問題にならないことがほとんどです。
郵便番号を文字列で直接入力する場合は、セルの表示形式を「文字列」に設定してから入力します。
データ入力規則による桁数管理
入力ミスを減らしたいときは、データ入力規則を組み合わせる方法もあります。
ただし、郵便番号には先頭ゼロがあるため、数値の範囲だけで厳密に判定すると扱いにくくなる場合があります。
実務では、表示形式を統一したうえで、入力後にフィルターや条件付き書式で桁数が異なるデータを確認する運用がわかりやすいでしょう。
郵便番号を住所の一部として扱うなら、数値計算より表記の正確さを優先することがポイントです。
【操作のポイント】今後も入力する列は、データを入れる前に000-0000の表示形式を設定しておくと管理が楽になります。
ハイフンが入らない場合の原因と対処
| 症状 | 確認する内容 |
|---|---|
| 1234567のまま表示される | 表示形式が標準になっていないか |
| 先頭のゼロが消える | 文字列または000-0000の設定か |
続いては、設定したのに郵便番号へハイフンが入らない場合の原因と対処を確認していきます。
入力形式とデータ型を見分けると、問題を切り分けやすくなります。
セルの表示形式が標準に戻っているケース
コピー元のセルに標準書式が設定されていると、貼り付けによって郵便番号列の書式が上書きされることがあります。
表示が1234567へ戻った場合は、対象セルを選択して表示形式が000-0000になっているか確認します。
書式だけを再利用したいときは、形式を選択して貼り付けの「書式」を使う方法も有効です。
値の貼り付けと通常の貼り付けでは、書式の扱いが異なる点に注意しましょう。
文字列と数値が混在しているケース
同じ列に数値の1234567と文字列の「1234567」が混在すると、表示形式の反映がそろわないことがあります。
文字列のセルでは、000-0000を設定してもそのまま表示される場合があります。
文字列データを整形するなら、=LEFT(A2,3)&”-“&RIGHT(A2,4)という数式も使えます。
=LEFT(A2,3)&”-“&RIGHT(A2,4)
この数式はA2の左から3文字、右から4文字を取り出し、その間へハイフンを追加する仕組みです。
桁数が不足しているケース
日本の通常の郵便番号は7桁です。
6桁や8桁の値があると、TEXT関数や表示形式を設定しても意図しない結果になります。
桁数を確認するには、=LEN(A2)で文字数を調べられます。
=LEN(A2)
結果が7以外の行を確認し、入力漏れ、全角数字、古い形式の郵便番号などがないかを見直しましょう。
【操作のポイント】ハイフンの位置だけを直す前に、郵便番号が7桁であることと、数値・文字列の混在を確認します。
まとめ エクセルで郵便番号にハイフンを入れる方法
| 目的 | おすすめの方法 |
|---|---|
| 見た目だけ整える | 表示形式 000-0000 |
| 文字列として保存する | TEXT関数と値貼り付け |
| 今後の入力をそろえる | 入力前に列へ表示形式を設定 |
エクセルで郵便番号にハイフンを入れるには、目的に応じて表示形式、TEXT関数、値貼り付けを使い分けます。
画面表示だけを整えるなら000-0000のユーザー定義表示形式が最も手軽です。
CSV出力や他システムへの連携でハイフン付きの文字列が必要なら、=TEXT(A2,”000-0000″)で整形した後に値貼り付けを行いましょう。
先頭ゼロを含む郵便番号では、数値として扱うか文字列として保持するかを最初に決めることが重要です。
郵便番号の列へ事前に書式を設定し、桁数とデータ型を定期的に確認すれば、住所録の表記ゆれを防ぎやすくなります。