【Excel】エクセルで郵便番号と住所を変換する方法(関数・データベース・自動入力・VLOOKUP・逆引き)では、郵便番号から住所を自動入力する方法と、住所から郵便番号を逆引きする方法を理解しておくと便利です。
顧客リスト、請求書、配送先一覧、会員名簿、申込書、年賀状データなどでは、郵便番号と住所を大量に扱う場面があります。
手入力で住所を入れると、変換ミス、番地の抜け、都道府県の表記ゆれ、郵便番号のハイフン違いが起こりやすくなります。
Excelでは、郵便番号データベースとVLOOKUP関数、XLOOKUP関数、Power Queryなどを組み合わせることで、郵便番号から住所を自動入力できます。
また、住所から郵便番号を調べる逆引きも、データベースを用意すれば対応できます。
結論として、Excelで郵便番号と住所を変換するには、郵便番号データベースを用意し、VLOOKUPやXLOOKUPで照合する方法が基本です。
エクセルで郵便番号と住所を変換するならデータベースと検索関数を組み合わせるのが結論です
それではまずエクセルで郵便番号と住所を変換する基本について解説していきます。
Excelだけで何も準備せずに全国の郵便番号と住所を自動変換するのは難しいです。
なぜなら、Excelの標準関数だけでは、郵便番号と住所の一覧データを最初から持っているわけではないからです。
そのため、郵便番号データベースを用意し、そのデータを参照して変換する形になります。
郵便番号から住所への変換の仕組み
郵便番号から住所へ変換する場合、郵便番号をキーとして住所データベースを検索します。
たとえばA列に郵便番号、B列に都道府県、C列に市区町村、D列に町域名が入った一覧を用意します。
入力シートに郵便番号を入れると、検索関数がデータベースから一致する行を探し、住所を表示する仕組みです。
この考え方は、商品コードから商品名を表示する処理と同じです。
住所から郵便番号への逆引きの仕組み
住所から郵便番号を逆引きする場合は、住所をキーとしてデータベースを検索します。
ただし、住所は表記ゆれが起こりやすいため、郵便番号から住所を出すより難しくなります。
たとえば丁目の有無、全角半角、スペース、旧字体、都道府県の省略などにより、完全一致しないことがあります。
逆引きを行う場合は、住所の表記をできるだけデータベース側に合わせることが重要です。
自動入力に必要なもの
郵便番号と住所を自動変換するには、入力用シート、郵便番号データベース、検索関数の3つが必要です。
入力用シートには、郵便番号や住所を入力する欄を作ります。
データベースシートには、郵便番号と住所の対応表を入れます。
検索関数では、入力された郵便番号や住所をもとに、対応する情報を表示します。
| 必要なもの | 役割 | 例 |
|---|---|---|
| 入力シート | 変換したい値を入力する場所 | 郵便番号入力欄です |
| データベース | 郵便番号と住所の対応表 | 郵便番号一覧です |
| 検索関数 | 一致する情報を探す処理 | VLOOKUPやXLOOKUPです |
| 整形関数 | 表記ゆれを減らす処理 | SUBSTITUTEやTEXTです |
郵便番号から住所を自動入力する方法を確認していきます
続いては郵便番号から住所を自動入力する方法を確認していきます。
郵便番号から住所を出す方法は、Excelで最も使いやすい変換方法です。
郵便番号は数字の並びで比較的表記が安定しているため、データベースとの照合もしやすいです。
郵便番号データベースを用意する
まず、郵便番号と住所が一覧になったデータベースを用意します。
データベースには、郵便番号、都道府県、市区町村、町域名などの列を作ります。
郵便番号にハイフンを入れるか入れないかは、入力側とデータベース側でそろえることが大切です。
たとえば入力側が1234567で、データベース側が123-4567だと、そのままでは一致しません。
郵便番号変換で重要なのは、入力側とデータベース側の郵便番号の形式をそろえることです。
ハイフンありとハイフンなしが混ざると、同じ郵便番号でも別の値として扱われます。
VLOOKUPで住所を表示する
VLOOKUP関数を使うと、入力された郵便番号に一致する住所をデータベースから取り出せます。
たとえば入力シートのA2に郵便番号があり、データベースシートのA列に郵便番号、B列に住所がある場合、VLOOKUPで住所を表示できます。
計算式の例です。
=VLOOKUP(A2,郵便番号DB!A:B,2,FALSE)
A2の郵便番号を郵便番号DBシートから探し、2列目の住所を表示します。
最後のFALSEは完全一致を意味します。
郵便番号変換では、近い値ではなく完全に一致する値を探す必要があるため、FALSEを指定するのが基本です。
都道府県と市区町村を分けて表示する
住所を一つのセルにまとめて表示するだけでなく、都道府県、市区町村、町域名を分けて表示したい場合もあります。
その場合は、データベース側で列を分けておき、VLOOKUPの列番号を変えて取り出します。
都道府県を表示する例です。
=VLOOKUP(A2,郵便番号DB!A:D,2,FALSE)
市区町村を表示する例です。
=VLOOKUP(A2,郵便番号DB!A:D,3,FALSE)
町域名を表示する例です。
=VLOOKUP(A2,郵便番号DB!A:D,4,FALSE)
この方法なら、住所入力フォームや顧客管理表を作るときに便利です。
XLOOKUPやIFERRORを使って見やすくする方法を確認していきます
続いてはXLOOKUPやIFERRORを使って見やすくする方法を確認していきます。
新しいExcelを使っている場合は、VLOOKUPよりXLOOKUPのほうが柔軟に使える場面があります。
また、該当する郵便番号がない場合にエラーをそのまま表示しないように、IFERRORを組み合わせると見た目が整います。
XLOOKUPで住所を表示する
XLOOKUP関数は、検索する列と返す列を別々に指定できる便利な関数です。
VLOOKUPのように左端の列を基準にする制限が少なく、列の追加や並び替えにも強い特徴があります。
XLOOKUPの例です。
=XLOOKUP(A2,郵便番号DB!A:A,郵便番号DB!B:B,”該当なし”)
A2の郵便番号をA列から探し、B列の住所を表示します。
見つからない場合の表示も関数内で指定できるため、エラー対策をしやすいです。
IFERRORでエラー表示を消す
VLOOKUPで該当する郵便番号が見つからない場合、N/Aエラーが表示されます。
このままだと入力フォームとして見づらいため、IFERROR関数で空白やメッセージに置き換えると便利です。
エラーを空白にする例です。
=IFERROR(VLOOKUP(A2,郵便番号DB!A:B,2,FALSE),””)
エラー時に該当なしと表示する例です。
=IFERROR(VLOOKUP(A2,郵便番号DB!A:B,2,FALSE),”該当なし”)
入力フォームとして使う場合は、エラーをそのまま見せず、空白や案内文に変えると使いやすくなります。
郵便番号のハイフンを整える
郵便番号のハイフン有無をそろえるには、SUBSTITUTE関数を使えます。
入力された郵便番号からハイフンを削除して検索すれば、データベース側をハイフンなしで統一できます。
ハイフンを削除する例です。
=SUBSTITUTE(A2,”-“,””)
検索式に組み込む例です。
=VLOOKUP(SUBSTITUTE(A2,”-“,””),郵便番号DB!A:B,2,FALSE)
これにより、123-4567と入力されても1234567として検索できます。
| 入力値 | 整形後 | 検索しやすさ |
|---|---|---|
| 123-4567 | 1234567 | 統一されます |
| 1234567 | 1234567 | そのまま使えます |
| 1234567 | 変換が必要です | 半角へ統一します |
| 123 4567 | 空白削除が必要です | TRIMなどを使います |
住所から郵便番号を逆引きする方法を確認していきます
続いては住所から郵便番号を逆引きする方法を確認していきます。
住所から郵便番号を調べる逆引きは便利ですが、郵便番号から住所を出すより難しいです。
住所には表記ゆれが多く、完全一致しないケースがあるためです。
住所列を検索キーにする
住所から郵便番号を逆引きするには、データベース側に住所を結合した列を作ります。
都道府県、市区町村、町域名をつなげた住所キーを作り、入力された住所と照合します。
住所キーを作る例です。
=B2&C2&D2
都道府県、市区町村、町域名を結合します。
その住所キーを検索列として、対応する郵便番号を返すようにします。
XLOOKUPで逆引きする例です。
=XLOOKUP(A2,郵便番号DB!E:E,郵便番号DB!A:A,”該当なし”)
A2の住所をE列の住所キーから探し、A列の郵便番号を表示します。
表記ゆれを減らす
住所の逆引きでは、表記ゆれ対策が欠かせません。
たとえば一丁目と1丁目、ヶとケ、スペースの有無、全角数字と半角数字などが違うだけで、検索結果が見つからないことがあります。
Excel関数だけで完璧に対応するのは難しいため、入力ルールを決めることが大切です。
フォームで選択式にしたり、都道府県から順番に入力する形にしたりすると、表記ゆれを減らせます。
部分一致検索の注意点
住所の一部だけで検索したい場合、FILTER関数やCOUNTIFのワイルドカードを使う方法があります。
ただし、部分一致では候補が複数出ることがあります。
同じ町域名が複数の市区町村に存在する場合、間違った郵便番号を返す可能性があります。
逆引きでは、できるだけ都道府県、市区町村、町域名まで含めて検索するのが安全です。
住所から郵便番号を逆引きする場合、部分一致だけで自動確定するのは危険です。
候補が複数ある場合は、最終的に人が確認できる仕組みにしておくと安心です。
郵便番号と住所変換を実務で使いやすくする工夫を確認していきます
続いては郵便番号と住所変換を実務で使いやすくする工夫を確認していきます。
関数で変換できるようになっても、入力ミスやデータ更新を考えないと、実務では使いにくくなります。
長く使う表では、メンテナンスしやすい形にしておくことが重要です。
入力規則で桁数を制限する
郵便番号は基本的に7桁です。
入力規則を使って桁数を制限すると、入力ミスを減らせます。
ハイフンなしで入力するルールにするなら、7桁の半角数字だけを入力するように案内するとよいでしょう。
見た目だけハイフン付きにしたい場合は、表示形式や別セルで整形する方法もあります。
データベースを定期的に更新する
郵便番号や住所は、地域の変更、町名変更、事業所個別番号などによって更新されることがあります。
古いデータベースを使い続けると、新しい住所が見つからなかったり、古い表記が表示されたりします。
業務で使う場合は、定期的に郵便番号データベースを更新する運用を決めておきましょう。
住所を分割して管理する
住所は、都道府県、市区町村、町域、番地、建物名に分けて管理すると便利です。
一つのセルにすべて入れると見た目は簡単ですが、並べ替え、抽出、集計、差し込み印刷がしにくくなります。
顧客管理や配送管理では、住所項目を分けておくと後から活用しやすくなります。
| 管理方法 | メリット | 注意点 |
|---|---|---|
| 住所を一つのセルにまとめる | 入力が簡単です | 検索や分割が難しくなります |
| 都道府県を分ける | 地域別集計ができます | 列数が増えます |
| 市区町村を分ける | 配送管理に便利です | 表記統一が必要です |
| 番地以降を分ける | 自動変換部分と手入力部分を分けられます | 入力ルールが必要です |
まとめ
【Excel】エクセルで郵便番号と住所を変換する方法(関数・データベース・自動入力・VLOOKUP・逆引き)では、郵便番号データベースと検索関数を組み合わせることが基本です。
郵便番号から住所を自動入力する場合は、郵便番号をキーにしてVLOOKUPやXLOOKUPで住所を表示します。
ハイフンありなしの違いで検索できないことがあるため、SUBSTITUTEなどで形式をそろえることが重要です。
住所から郵便番号を逆引きする場合は、住所キーを作って検索できますが、表記ゆれや部分一致の誤判定に注意が必要です。
実務で使う場合は、入力規則、エラー処理、住所項目の分割、データベースの更新まで考えておくと使いやすくなります。
郵便番号と住所の変換は、関数そのものよりも、データベースの形式と入力ルールをそろえることが成功のポイントです。
顧客リストや配送先一覧、請求書、申込書などで活用すれば、手入力の手間を減らし、住所ミスの防止にもつながるでしょう。