
EXCELで郵便番号を入れ、自動的に住所を入力させる
EXCELを使って、仕事やプライベートで住所録を作成する機会はあると思います。
取引先の住所をリスト化したり、年賀状や招待状を送るために住所を整理したりする場面もあると思います。
しかし、これをすべて手作業で入力するのは、非常に手間のかかる作業です。
特に、郵便番号を入力した後に、その郵便番号に対応する正確な住所を手入力するとなると、データ量が増えるほど時間もかかりますし、入力ミスが起こる可能性が高くなります。
1件や2件であれば手作業でも問題ありませんが、数十件、数百件ともなると、作業は大変です。
そこで、ぜひ使ってほしいのが、EXCELを使って郵便番号から自動で正確な住所を表示させる方法です。
この方法を使えば、郵便番号を入力するだけで対応する住所が自動的にセルに表示されるので、入力の手間を大幅に削減でき、正確な住所を自動表示してくれるため、手入力によるミスも防ぐことができるので、作業が楽になります。
今回のブログ記事では、EXCELで郵便番号を入力するだけで住所を自動表示させる方法について、具体的な手順をわかりやすく解説していきます。
今回は以下の表を使用して解説します。

この表は、テーブルにしてください。
表をテーブルにする方法は、以下の記事にかいてありますので、分からない方は御覧ください。


EXCELで郵便番号を入れ、自動的に住所を入力させる方法
①全国の郵便番号と住所のデータをダウンロードする
まず最初に、郵便局のHP(https://www.post.japanpost.jp/zipcode/dl/kogaki-zip.html)で郵便番号の住所一覧をダウンロードします。
右下に全国版があるので、それを任意の場所にダウンロードします。

ZIP形式のファイルになっているので、それを任意の場所に解凍します。
するとKEN_ALL.CSVというファイルが現れます。
②KEN_ALL.CSVをEXCELにシートとして読み込む
住所録のファイルに、シートとしてKEN_ALL.CSVをEXCELで開きます。
KEN_ALL.CSVをEXCELを開くと、以下のダイアログボックスが現れるので、変換しないをクリックします。

シートの部分を右クリックし、移動またはコピーを選択します。

移動またはコピーダイアログボックスが現れるので、移動先ブック名を、移動させたいブック名にして、移動先を末尾にしてOKボタンをクリックします。

そうするとKEN_ALL.CSVがシートとして挿入されます。

なお、この作業を行うとKEN_ALL.CSVは自動的に閉じます。
③KEN_ALL.CSVのシートを、郵便番号、住所のみのデータにする
KEN_ALL.CSVのシートですが、郵便番号、住所のみのデータだけが必要です。
郵便番号が入っているC列、住所が入っているG列、H列、I列以外を削除します。
すると以下のような画面になります。

最初に結合したG列、H列、I列の文字列が表示させるため、A列の横に列を挿入します。
挿入すると、以下のような画面になります。

B1にC列、D列、E列の文字列を結合させるTEXTJOIN関数を挿入します。
以下の関数をB1にペーストし、Enterキーを押してください。
=TEXTJOIN("", 1, C1, D1, E1)
B列の幅を文字列が見れるぐらい広げてください。
C列、D列、E列の文字列を結合されています。

TEXTJOIN関数を最終行までコピーします。
この表の場合ですと、セルB1の右下にカーソルを合わせると、カーソルが「+」の形になるので、それをダブルクリックします。

Ctrlキー+↓を押してください。
すると以下のように最終行まで、TEXTJOIN関数がコピーされていることが分かります。

④住所録のシートにVLOOKUP関数を使って、郵便番号を入力すると、住所1に自動的に住所が入力されるようにする
住所録のシートにVLOOKUP関数を使って、郵便番号を入力すると、住所1に自動的に住所が入力されるようにします。
住所録のシートを選択します。

郵便番号を入力すると、住所が自動的に入力されるセルを選択します。
ここでは、郵便番号を入力すると、住所が自動的に入力されるセルはG3です。
セルG3を選択します。

ここでは、以下のVLOOKUP関数を使用します。
=VLOOKUP(郵便番号を入力するセル,KEN_ALL!A:B,2,FALSE)
この表の場合ですと、郵便番号を入力するセルはF3ですので、VLOOKUP関数は以下になります。
=VLOOKUP(F3,KEN_ALL!A:B,2,FALSE)
しかし、VLOOKUP関数をそのままペーストすると、郵便番号を入力していない場合、#N/Aとエラー表示が出るため、IFERROR関数を使って、郵便番号を入力していない場合は空白にします。
=IFERROR(VLOOKUP(F3,KEN_ALL!A:B,2,FALSE),"")
IFERROR関数とVLOOKUP関数を使った式をG3にペーストし、Enterキーを押してください。

F3に郵便番号を入力し、Enterキーを押してください。

すると、G3に住所が自動的に入力されます。

表がテーブルになっているので、住所1の列のセルには、IFERROR関数とVLOOKUP関数を使った式が入っているので、郵便番号を入力すれば、住所1に自動的に住所が入力されます。


