郵便番号から住所を変換、または逆に住所から郵便番号を調べる機会は結構ありますよね。
一つの住所だったりするとネットで簡単にググることができます。
ただ、複数の住所や郵便番号を調べることは大変です。
また、システム上どうしてもエクセル上で郵便番号と住所を変換する必要がある場合もあります。
今回の記事では、エクセル上で7桁の郵便番号を入力することによって住所を表示させる方法と、逆に住所の一部の文字を入力することによって候補を絞り、そこから選択した住所の郵便番号を自動入力する方法を紹介します。
いずれも住所は全国の郵便番号に対応しています。
郵便番号から全国の住所を一発で表示する方法
まずは、エクセルのセルに7桁の郵便番号を入力すると全国の住所を一発で表示する方法です。
「IMEの変換」機能を利用して、ハイフン入りの7桁の郵便番号から住所を変換することは可能です。
これはこれで便利なのですが、ハイフンを入力することと変換作業が必要になるので、大量の郵便番号を住所に変換するには大変な労力を要します。
そこで、7桁の郵便番号を入力することで直接住所を表示させる機能を、郵便番号データベースとエクセルの関数で実現する方法のご紹介です。
下図のようになります。下図では、「都道府県」「住所1」「住所2」と分割していますが、一つの住所にすることも可能です。
詳細については、次の記事をご覧になってください。
こちらのnoteで完成版を販売していますので、記事を読んでいただいたあとに、もし作業が面倒に感じる方はご検討ください。
住所の一部を入力して、郵便番号を確定する方法
続いて今度は反対に、住所の一部を入力して住所の候補を表示し、一覧から住所を選択して郵便番号を入力する方法です。
こちらはエクセルのサジェスト機能(予測候補表示・あいまい検索)を利用する方法です。
事前に3つのシートを用意し、郵便番号データをダウンロードして加工する必要があります。
こちらの記事を参考にしてください。
こちらの記事の完成版も、noteにて公開中です。
参考までにご覧ください。
ただ先ほどの記事で紹介した方法では、画像からもお分かりいただける通り、1つのセルでしかサジェスト機能が使えません。
1列すべてのセルでサジェスト機能を利用するには、マクロ(VBA)を利用するしか方法がありません。
その方法を解説した記事がこちらとなります。
こちらもnoteにて完成品を公開中です。
こちらの機能を利用すれば、下図のように数文字入力するだけで全国の住所データから検索候補を絞り込み(サジェストし)、該当の住所を選択すると郵便番号が自動で表示されます。
非常に便利な機能ですね。
もちろんこの機能は、郵便番号だけではなく応用することによって他の用途でも役立つのではないでしょうか。
全国の郵便番号をサジェスト機能で入力するファイル
上記の全国の郵便番号をサジェスト機能で入力するファイルは、まだnoteでも公開していません。
もし、完成版を公開してほしいとのリクエストをいただけたらnoteにて公開いたします。
コメントいただけたら幸いです。
追記:公開しました。
コメント
コメント一覧 (4件)
初めてコメントさせていただきます。
https://note.com/voice_of_leader/n/n0d2d429f0c92(住所から郵便番号サジェスト)および、その一つ前の
https://note.com/voice_of_leader/n/ncedfff1cd4af (たった9行のコード)の記事を購入させていただきました。
“たった9行のコード”のエクセルを元に、勤務先の社員の名前をサジェスト検索する機能を付けたエクセルは完成したのですが、”住所から郵便番号サジェスト”については、記事や元のエクセルを参考に作成するも、サジェスト検索を行うシートにおいて、名前の一部を入力しても、「この値は、このセルに定義されているデータ入力規則の制限を満たしていません。」とエラーが表示され入力できない状況です。なお予測検索シートでは滞りなく動作します。vbaについて初学者のため、何故動かないのか分からない次第です。解決方法についてご教授いただければ幸いです。
vba初学者様
コメントありがとうございます。
今外出先ですので詳細は分かりかねますが、エクセル本来の書式を標準にしてもダメでしょうか?
また明日以降に思い当たる点がありましたら改めてご返信させていただきます。
何卒が了解いただけたら幸いです。
リーダーの独り言様
ご返信ありがとうございます。
改めてnoteよりダウンロードしたエクセルを改変したり、それを元に一から作成を試みましたが、上手くいかない状況です。
小職が実現したいこととしては、「山田 一郎、相沢 三男、吉田 二郎etc」のような人物名の表示に、サジェスト検索を実装したいという内容です。
(現状、大勢の社員が記載されているドロップダウンリストから一人を選ぶといった手間も時間もかかることを社内で強いられているため、それの解消につなげられればと思い取り組んでおります。)
小職も分からないながらに対応策を考えてみようと思います。
お手数おかけしますが、よろしくお願い申し上げます。
VBA初学者さま
コメントありがとうございます。
もしよろしければ、データを問い合わせ欄から添付ファイルにて送信いただけたら実際に確認できますので送っていただけたら幸いです。
もちろん、データはコンプライアンス等もございますので最小限のデータか架空のデータで構いませんので。
何卒よろしくお願いします。