残業を減らす!Officeテクニック
入力済み郵便番号を住所に変換! XLOOKUP関数&郵便局のデータベースを使って効率化
年賀状などの住所録管理などにも便利
2022年12月5日 06:55
郵便番号に対応する住所を自動入力できないの? よく質問されます。以前のバージョンのExcelでは「郵便番号変換ウィザード」というアドインが提供されており、画面の指示に従えば、郵便番号→住所の変換が手軽でした。しかし、本稿執筆時点でアドインの提供は終了しており、困っている人が多いようです。
IMEの「郵便番号辞書」を有効にすると、「101-0051」といった郵便番号から住所へ変換できるのですが、効率の悪い印象が持たれます。入力済みの郵便番号から簡単に住所変換したい! そんな人に今回のひと工夫を紹介します。
郵便番号データを用意する
日本全国の郵便番号データは、郵便局が公開しており、CSV形式のファイルを無料でダウンロード可能です。まずは、郵便番号データダウンロードのWebページから入手しましょう。
ダウンロードしたZIPファイルには「KEN_ALL.CSV」というCSV形式のファイルが含まれています。任意のフォルダーにコピーしておきましょう。ファイルを開くと、C列にハイフンなしの郵便番号が入力されており、G~I列に住所が入力されていることがわかります。
ハイフンなしの郵便番号が検索できれば、対応する住所を見つけられますよね。VLOOKUP関数を使っても構いませんが、今回はXLOOKUP関数で郵便番号から住所を取り出します。
関数入力前の準備
ここでは以下のような住所録ファイルに入力された郵便番号から住所を自動入力していきます。郵便番号はハイフン付きで入力済み、住所用の1列が用意してあります。しかし、このままではXLOOKUP関数を組み込めません。先ほどダウンロードした郵便番号データのファイルと表の構造を揃える必要があるので、バックアップも兼ねて、元のワークシートをコピーして作業用のワークシートを用意しましょう。
また、別ファイルの郵便番号データを参照すると、リンク切れなどが発生する可能性があるので、ここでは「KEN_ALL.CSV」のデータもコピーします。
前述の通り、郵便番号データの形式は、ハイフンなしの郵便番号、都道府県、市区町村、住所の3列でした。作業用のシートに切り替えて、表の形式を整えましょう。郵便番号のハイフンを取り除くには「フラッシュフィル」を使います。
XLOOKUP関数を入力する
準備が整ったら、あとはXLOOKUP関数を入力するだけです。郵便番号データは行数が多いので、引数[検索範囲]と[戻り範囲]に指定するセル範囲は列全体で指定するのがスマートです。なお、XLOOKUP関数はスピルに対応しているため、[戻り範囲]のセル範囲に複数列を指定することで結果をまとめて取得できます。
あとは取得した都道府県、市区町村、住所を連結して元のワークシートに「値」として貼り付け、番地を入力すれば完成ですね。郵便番号から住所への変換作業にお役立てください。