エクセルの住所録等で、郵便番号が実際の値と、表示されているものが違うことがあります。
以下画像2行目のように、実際には「50805」という値が入っているのですが、エクセルで表示されているのが「005-0805」というような具合です。
見た目は確かに問題ないのですが、データとして扱う場合にはこれがネックとなる場合があります。
パッと思い浮かべるだけで、こういった郵便番号のデータを想定していない専用システムに取り込んで使う場合や、アクセスに取り込んでレポートで帳票印刷する場合などが考えられます。
このような郵便番号を見た目通りの値に変換する方法をご紹介します。
1.郵便番号を変換する関数を作成する
エクセルファイルを開いている状態で「Alt」+「F11」を押してください。
すると以下画像のような画面が開くと思います。
※赤枠で囲った部分が表示されていない場合は「Ctrl」+「r」を押してください。
ファイル名の上で右クリック→「挿入」をクリック→「標準モジュール」をクリックします。
すると以下画像のように赤枠で囲った大きなスペースが出てくると思います。
この赤枠のスペース」に以下のコードをコピペしてください。
(右下の「1クリックでコードをコピー」をクリックしてください)
Function yuubin(ByVal target As Range) As String
Select Case Len(target)
Case 5
yuubin = "00" & Left(target, 1) & "-" & Right(target, 4)
Case 6
yuubin = "0" & Left(target, 2) & "-" & Right(target, 4)
Case 7
yuubin = Left(target, 3) & "-" & Right(target, 4)
Case Else
yuubin = target
End Select
End Function
2.関数を使って郵便番号を変換する
以下画像のように、郵便番号を変換する列を挿入し、「=yuubin(対象のセル)」と入力してください。
今回の場合はセル「B2」を選択しています。
あとは必要な行数オートフィル使ってください。
これでC列のような、見た目と同じ郵便番号に変換できます。
(D列は見た目と値が一致しています)
住所録を管理する団体や事業者によっては、見た目以外に郵便番号を使わないということもあるようですが、自分の環境ではそうもいかないことがあります。
今回紹介した方法で一括で郵便番号を変換できますので、ぜひお試しください。