エクセルで郵便番号にハイフンを自動挿入する方法を複数ご紹介
郵便番号を扱う際、見やすくするのにハイフンを使いますよね。
エクセルには郵便番号に対して、自動的にハイフンを入れることが出来る方法があります。
ただ、どこにも書いていないんですが、少し注意が必要なんです。
また、自動的にハイフンを入れる方法には、複数のやり方があるんですよ。
今回の記事では、エクセルで郵便番号にハイフンを自動挿入する方法を複数ご紹介するとともに、それらを扱う際の注意点も合わせてご覧に入れます。
それでは、最後までごゆっくりご覧ください。
郵便番号にハイフンを自動挿入する方法
始めに、定番と言える書式設定でハイフンを自動挿入する方法を見ていただきます。
書式設定でハイフンを自動挿入する
この方法は、書式設定で、用意されている「郵便番号」を指定するモノです。
まず、郵便番号を入れたいセルで右クリックします。下記のメニューが表示されたら、「セルの書式設定」をクリックします。
「セルの書式設定」画面が表示されたら、表示形式の「その他」をクリックします。
種類が表示されますので、「郵便番号」をクリックして「OK」をクリックします。
書式設定したセルに7桁の数字を入力します。
Enterキーを押します。ご覧のように、自動的にハイフンが振られています。
先程のセルにカーソルを持ってきます。
入力内容は7桁の数字が入っており、表示のみ、ハイフンが追加されていることがわかります。
このやり方が、ハイフンを自動的に入れる方法では一番簡単ですね。
次に、関数で取得した郵便番号にハイフンを挿入できるかやってみます。
関数で取得した郵便番号にハイフンを自動挿入する
以前、住所から郵便番号を自動取得する方法を記事にしています。
この中で、WEBSERVICE関数とVLOOKUP関数で、住所から郵便番号を取得しました。その結果に対して、上述したハイフンを自動挿入する方法ができるか試してみましょう。
始めは、WEBSERVICE関数で確認していきます。
まず、WEBSERVICE関数で取得した郵便番号のセルを書式変更して見ましょう。
右クリックして、「セルの書式設定」をクリックします。
この段階では、表示形式は「標準」となっています。
表示形式を「その他」>「郵便番号」にして「OK」をクリックします。
しかし、残念ながら、ハイフンは付きませんね!
なぜならば、WEBSERVICE関数で取得した結果が「数値」ではないから。結果を見れば明らか(結果が左詰めとなっている)なように、「文字列」になっているようです。
そこで、取得した結果を「数値」になるようにvalue関数で括ります。
- 旧)=WEBSERVICE(“http://api.excelapi.org/post/zipcode?address="&ENCODEURL(A2))
- 新)=value(WEBSERVICE(“http://api.excelapi.org/post/zipcode?address="&ENCODEURL(A2)))
すると、結果が数値(右詰めになった)になります。
ここで、このセルをの書式設定を「その他」>「郵便番号」にして「OK」をクリックします。
ご覧のようにハイフンが入力されます。
あとは、このセルをコピーして。
他のセルを指定して。
コピーすれば!
全ての郵便番号にハイフンが設定されます!
郵便番号が見つけられなかった所はエラー(#VALUE!)になっちゃいましたが・・・。ご愛敬ということで。
次は、VLOOKUP関数の方でもやってみましょう。
取得した結果を「数値」になるようにvalue関数で括ります。
- 旧)=VLOOKUP(B2,’D:\BLOG_60爺の手習い\2023_01-07記事\2023_06記事\230604エクセル住所郵便番号[Vlookup_henkan.xlsx]Sheet2′!$A$2:$B$124575,2,FALSE)
- 新)=value(VLOOKUP(B2,’D:\BLOG_60爺の手習い\2023_01-07記事\2023_06記事\230604エクセル住所郵便番号[Vlookup_henkan.xlsx]Sheet2′!$A$2:$B$124575,2,FALSE))
すると、結果が数値(右詰めになった)になります。
ここで、このセルを上記と同様の手順で書式設定を郵便番号にすると、ご覧のようにハイフンが入力されます。
あとは、WEBSERVICE関数でやったように、このセルをコピーして、他の郵便番号のセルへ貼り付ければ完了です。
vlookup関数は、複数条件も使えると聞いて確認したんですが、引数指定だけではダメなことが分かりました。ある工夫が必須です。その内容は次の記事で…。
ハイフンを入れる別の方法
さて、定番の方法で、郵便番号にハイフンを入れることが出来ましたが、上記のやり方は、最初の結論で述べたように、表示上ハイフンを見せているだけでした。
実際にハイフンを入れたい場合には、次の方法で対応しましょう。
REPLACE関数
まず、実行例を見てください。
セルD2に、REPLACE関数を入力しました。
Enterを押下すると、ハイフン付きの郵便番号が設定されました。
セルD2にはREPLACE関数が入っています。
REPLACE関数の説明です。
書式 | REPLACE(文字列,開始位置,文字数,置換文字列) |
引数の説明 | ■文字列:置換対象の文字列ないしセル参照を指定 ■開始位置:置換対象となる文字列の先頭からの位置を指定 ■文字数:開始位置からの文字数を指定 ■置換文字列:置換する文字列を指定 |
今回のREPLACE文 | REPLACE(B2,4,0,"-“) |
今回の引数 | ■文字列:セル指定 B2 ■開始位置:4文字目 ■文字数:「0」を指定することで置換文字列を挿入 ■置換文字列:文字列は""でくくる |
LEFT関数、RIGHT関数
次は、LEFT関数とRIGHT関数を組み合わせた形で、ハイフンの追加を行います。
セルD2に、LEFT関数とRIGHT関数等を組み合わせた関数を入力しました。
Enterを押下すると、ハイフン付きの郵便番号が設定されました。
セルD2にはLEFT関数とRIGHT関数等を組み合わせた関数が入っています。
LEFT関数及びRIGHT関数の説明です。
書式 | LEFT(文字列,文字数[省略可]) |
引数の説明 | ■文字列:対象の文字列ないしセル参照を指定 ■文字数:文字列の先頭からの文字数 |
今回のLEFT関数 | LEFT(B2,3) |
今回の引数 | ■文字列:セル指定 B2 ■開始位置:先頭から3文字取得 |
書式 | RIGHT(文字列,文字数[省略可]) |
引数の説明 | ■文字列:対象の文字列ないしセル参照を指定 ■文字数:文字列の最後からの文字数 |
今回のLEFT関数 | RIGHT(B2,4) |
今回の引数 | ■文字列:セル指定 B2 ■開始位置:最後から4文字取得 |
&は文字列と文字列を連結させるための演算子です。
LEFT(B2,3)&"-“&RIGHT(B2,4)は、LEFT(B2,3)で取得した文字列(630)、"-“、RIGHT(B2,4)で取得した文字列(8135)を連結しています。
RIGHT関数の代りに、MID関数を使用する方法もありますが、ここでは説明は行いません。
最後に
エクセルで郵便番号にハイフンを自動挿入する方法を示しました。
基本は、書式設定で用意されている「郵便番号」を使えば簡単に実施できることが分かりました。
しかも、WEBSERVICE関数とVLOOKUP関数で、住所から郵便番号を取得した結果に対してもひと工夫することでハイフンを自動挿入できましたね。
ただ、このやり方は、実際にハイフンを入れているわけではなく、表示上そう見せているだけでした。ですので、実際にハイフンを入れる方法を2つ提示しています。
皆様のお力になりますように。
■追記:エクセルをテーマに記事をいくつか書いています
ディスカッション
コメント一覧
まだ、コメントがありません