エクセルで郵便番号から住所を入力する方法として、「IMEの変換」機能を利用して簡単に入力するというサイトをよく拝見します。
具体的には、郵便番号をハイフンを含めて日本語入力モードで入力し、変換するという作業になります。
1つ2つなら便利な機能なのですが、数百もある住所録では大変です。

今回はデータベースを用意し、エクセルの「VLOOKUP関数」を利用して郵便番号7ケタを入力すると、自動的に住所を表示させる方法の紹介です。アドインは利用しません。
こちらの記事の完成版をnote上に公開中です。
まずは日本郵便のサイトから郵便番号データを入手
まずは郵便番号と住所のデータベースとして、日本郵便のサイトから郵便番号データを入手します。
全国一括のデータは12万件もあるそうです。今回は例として「神奈川県」のデータを利用します。
上記サイトのデータはCSV形式ですので、一旦エクセル形式で保存してから住所録を作成していきます。

下記が、CSVファイルからエクセル形式に保存したブック(シート)です。こちらをデータベースとして利用して、郵便番号から住所を一発で入力できるようにします。

まずは、データベースとして範囲に名前をつけて「VLOOKUP関数」で利用しやすいように準備をします。具体的には、下記の場合はC列が「郵便番号」、G列が「都道府県」、H列が「区」、I列が「町名」となっていますので、C1セルからI2295セルまで選択して「住所」という名前を定義しました。

定義した名前の「参照範囲」はこちらになります。

「郵便番号」セルの表示形式を変更しておく
続いて下のような表を作成します。順に「郵便番号」「都道府県」「住所1」「住所2」としています。
郵便番号は7桁になりますが、ハイフンは自動で表示されるように「セルの書式設定」で表示形式を変更しておきます。
セルA2からA9までを選択し、キーボードの「Ctl」+「1」を押します(「セルの書式設定」ショートカットキー)。

「セルの書式設定」ダイアログボックスで、「その他」「郵便番号」を選択し、「OK」をクリックします。

これで準備完了です。7桁の数字を入力すると、自動的にハイフンが表示され、郵便番号の形式になります。

これですべて準備は完了です。それでは、郵便番号から自動で住所を入力するために、「VLOOKUP関数」を使って数式を入力していきましょう。
「VLOOKUP関数」を利用して郵便番号から住所を取り出す
「VLOOKUP関数」を利用して、郵便番号から住所を取り出していきます。
まずはB2セルに
=IFERROR(VLOOKUP($A2,住所,5,FALSE),"")
と入力します。

「VLOOKUP関数」の引数は下記の通りです。
「検索値」に「$A2(列のみ絶対参照にしておく必要があります)」、「範囲」は先ほど名前を定義したデータベース「住所」、列番号は「都道府県」が格納されている「住所」中の5列目、「検索方法」は「完全一致」を表す「FALSE」としています。

そして「IFERROR関数」で、「VLOOKUP関数」がエラーの場合に空白(””)が表示されるように設定しています。

B1に数式を入力後、B10セルまで数式をコピーします。当然ですが、今回はすべて「神奈川県」と入力されます。

「VLOOKUP関数」の数式をコピーして「区」と「町名」を取り出す
次は、B2セルに入力した数式をコピーして、「住所1」と「住所2」を取り出します。
「VLOOKUP関数」の検索値はA2セルのままですので、先ほど「$A2」と列のみ絶対参照にしています。

そして、住所1の列は、「VLOOKUP関数」の引数「列番号」を6に変更します。

さらにD2セルの「列番号」も「7」に変更します。

名前で定義した範囲「住所」では、列番号が下記のようになっています。

それぞれの列番号を変更後、C2とD2セルを選択後、D9セルまでコピーした状態が下図になります。

ちなみに、下図のように7桁の郵便番号を入力して、確定させると自動的に住所が入力されます。

下図のように、7桁の郵便番号を入力するだけで一発で住所を表示させることができました。

ちなみに、住所を結合させる方法は、下記のように「VLOOKUP関数」を「&」でつなげることで可能になります。

数式は下記の通りです。
=IFERROR(VLOOKUP(A2,住所,5,FALSE) & VLOOKUP(A2,住所,6,FALSE) & VLOOKUP(A2,住所,7,FALSE),"")
データベースを全国版にすると12万件以上のデータの利用が可能に
元のデータベースを全国版にすると、12万件以上ありますが、全国各地の郵便番号に対応可能です。
最初に全国版のCSV形式ファイルを開く際には時間がかかりますが、一旦エクセルファイルとして保存すると、12万件以上あるデータベースですが、開く際にそれほどの時間はかかりません。
全国の住所録データベースを名前の範囲にすると、下図のように全国の郵便番号から住所を自動で取得可能です。


非常に便利なエクセルの活用方法です。皆さんもぜひ、当記事を参考に住所録の編集に活用してみてください。
12万件以上の郵便番号データベースを可変式名前リスト(メンテナンスフリー)にした、今回の記事の完成版はこちらをご覧ください。
ご不明な点があれば、コメントいただけたらご回答致します。
コメント
コメント一覧 (2件)
ありがとうございました!!助かりました!!
ワコドット様
コメントありがとうございます。
コメントいただくとこちらもうれしくなります。
また困ったことがございましたらお気軽にコメントください。