excel

【Excel】エクセルで住所から郵便番号を変換する方法(逆引き・データベース・関数・VLOOKUP・マッチング)

当サイトでは記事内に広告を含みます

【Excel】エクセルで住所から郵便番号を変換する方法(逆引き・データベース・関数・VLOOKUP・マッチング)では、住所データをもとに郵便番号を調べる考え方と、エクセルで実務的に処理する方法を解説します。

顧客リスト、宛名印刷、配送管理、請求書、DM発送などでは、住所から郵便番号を付けたい場面があります。

ただし、エクセルには住所を入力するだけで郵便番号を自動取得する標準関数はありません。

そのため、郵便番号データベースを用意し、住所と照合してマッチングする方法が基本になります。

VLOOKUP、XLOOKUP、INDEXとMATCH、Power Queryなどを使えば、住所に近い郵便番号を検索できます。

住所から郵便番号を変換する作業では、住所表記のゆれをどれだけ整えられるかが成功の鍵です。

この記事では、逆引きの基本、データベースの準備、関数での照合、住所表記の整え方、マッチしないときの確認ポイントまで順番に確認していきます。

エクセルで住所から郵便番号を変換する結論は郵便番号データベースとの照合です

それではまずエクセルで住所から郵便番号を変換する基本結論について解説していきます。

エクセル単体には、住所を入力すると郵便番号を自動で返す専用機能はありません。

そのため、住所から郵便番号を調べるには、郵便番号と住所がセットになったデータベースを用意する必要があります。

そのデータベースと手元の住所リストを照合し、該当する郵便番号を取り出す流れです。

この作業は逆引きと呼ばれることがあります。

一般的な郵便番号検索では、郵便番号から住所を探すことが多いですが、ここでは住所から郵便番号を探すため、逆方向の検索になります。

エクセルで行う場合は、住所の一部をキーにしてVLOOKUPやXLOOKUPで検索します。

ただし、住所は表記ゆれが非常に多いデータです。

丁目、番地、ハイフン、全角半角、都道府県の有無、ビル名、旧字体などが混ざると、完全一致では見つからないことがあります。

住所から郵便番号を変換する作業は、関数の問題だけではなく、住所データをどれだけきれいに整えるかが重要です。

データベース、住所の正規化、照合方法の三つをセットで考えると成功しやすくなります。

住所から郵便番号を求めるには参照元データが必要です

郵便番号を返すには、元になる郵便番号データが必要です。

このデータには、郵便番号、都道府県、市区町村、町域などの情報が含まれます。

手元の住所リストと郵便番号データを照合し、一致した住所の郵便番号を取得します。

データベースが古いと、市町村合併や町名変更に対応できないことがあります。

そのため、できるだけ新しい郵便番号データを使うことが大切です。

また、会社や大口事業所には専用の郵便番号がある場合もあります。

通常の町域データだけでは対応できないケースがあるため、用途に応じて確認が必要です。

完全一致だけでなく部分一致も使います

住所データは表記が完全にそろっていないことが多いです。

たとえば、群馬県伊勢崎市と伊勢崎市だけの表記が混在する場合があります。

また、丁目が漢数字だったり数字だったり、番地がハイフン表記だったりすることもあります。

このような場合、完全一致だけでは郵便番号を取得できません。

そこで、住所の前方部分や町域部分をキーにした部分一致を使うことがあります。

ただし、部分一致は誤った郵便番号を返す可能性もあります。

部分一致を使う場合は、候補を出した後に確認する流れを作ることが大切です。

大量データではPower Queryや専用ツールも検討します

住所リストが数十件程度なら、関数と手作業確認でも対応できます。

しかし、数千件、数万件の住所を扱う場合は、関数だけでは重くなることがあります。

その場合は、Power Queryで住所データを整形し、郵便番号データと結合する方法が便利です。

Power Queryでは、不要な文字の削除、列の分割、結合、重複確認などがしやすくなります。

また、住所正規化に対応した外部サービスや専用ツールを使う方法もあります。

正式な発送や顧客管理に使う場合は、エクセルだけでなく、確認精度を高める仕組みも必要でしょう。

郵便番号データベースを準備して住所と照合する方法

続いては郵便番号データベースを準備して住所と照合する方法を確認していきます。

住所から郵便番号を変換するには、まず参照用の郵便番号データを用意します。

データには、郵便番号、都道府県、市区町村、町域が入っていると扱いやすいです。

この情報を一つの住所キーとして結合し、手元の住所と比較します。

たとえば、都道府県、市区町村、町域をつなげた文字列を作り、それを検索キーにします。

手元の住所側も、同じような形に整えることで照合しやすくなります。

項目

内容

使い方

郵便番号

七桁の番号です。

検索結果として返します。

都道府県

住所の大きな区分です。

住所キーに含めます。

市区町村

市、区、町、村の情報です。

照合精度を上げます。

町域

町名や地域名です。

郵便番号特定の中心になります。

住所キーを作ると関数で検索しやすくなります

郵便番号データをそのまま使うより、検索用の住所キーを作ると便利です。

住所キーとは、都道府県、市区町村、町域を結合した文字列です。

たとえば、A列に都道府県、B列に市区町村、C列に町域がある場合、それらをつなげて一つの検索キーにします。

住所キーの作成例です。

=A2&B2&C2

都道府県、市区町村、町域を結合します。

手元の住所リストにも同じ形式のキーを作れば、VLOOKUPやXLOOKUPで照合しやすくなります。

ただし、番地や建物名まで含めると一致しにくくなる場合があります。

郵便番号を探すためのキーには、町域までを使うことが多いです。

VLOOKUPで住所キーから郵便番号を取得します

VLOOKUP関数を使えば、住所キーに一致する行から郵便番号を取得できます。

郵便番号データベースの左端に住所キーを置き、右側に郵便番号を配置します。

そのうえで、手元の住所キーを検索値として指定します。

使用例です。

=VLOOKUP(A2,郵便番号表!A:B,2,FALSE)

A2の住所キーを郵便番号表から完全一致で探し、二列目の郵便番号を返します。

完全一致で検索する場合は、最後の引数をFALSEにします。

TRUEにすると近似一致になり、意図しない結果を返すことがあるため注意が必要です。

住所データでは正確性が大切なので、まずは完全一致で確認するのが基本です。

XLOOKUPなら検索列と戻り列を自由に指定できます

XLOOKUP関数を使える環境なら、VLOOKUPより柔軟に検索できます。

XLOOKUPでは、検索する列と返したい列を別々に指定できます。

そのため、郵便番号データの列順を無理に変更しなくても扱いやすいです。

使用例です。

=XLOOKUP(A2,郵便番号表!A:A,郵便番号表!B:B,”該当なし”)

A2の住所キーを検索し、該当する郵便番号を返します。

該当しない場合の表示も指定できるため、エラー処理がしやすい点も便利です。

新しいエクセルを使っているなら、XLOOKUPを優先してもよいでしょう。

住所表記を整えてマッチング精度を上げる方法

続いては住所表記を整えてマッチング精度を上げる方法を確認していきます。

住所から郵便番号を変換するときに最も大きな課題になるのが、住所表記のゆれです。

同じ住所でも、入力する人やシステムによって表記が変わります。

たとえば、番地のハイフン、全角数字、半角数字、丁目の表記、空白の有無などが違うと、完全一致しません。

そのため、照合前に住所をできるだけそろえる作業が必要です。

この作業を正規化と呼ぶことがあります。

住所マッチングでは、関数よりも前処理の品質が結果を左右します。

全角半角と空白をそろえます

住所データには、全角数字と半角数字が混ざることがあります。

また、住所の途中に余計な空白が入っていることもあります。

このような違いがあると、同じ住所でも別の文字列として扱われます。

ASC関数やJIS関数、TRIM関数、SUBSTITUTE関数などを使って、文字の種類や空白を整えます。

空白を削除する例です。

=SUBSTITUTE(A2,” “,””)

A2の半角スペースを削除します。

全角スペースも別途削除する必要があります。

住所照合の前には、不要な空白を取り除く処理を入れておくと一致率が上がります。

都道府県の有無をそろえます

住所リストによっては、都道府県が入っているものと入っていないものが混在します。

郵便番号データベース側に都道府県がある場合、手元の住所に都道府県がないと完全一致しません。

逆に、手元の住所に都道府県があり、データベースの検索キーに含めていない場合も一致しにくくなります。

検索キーを作るときは、どの範囲まで住所に含めるかを統一しましょう。

都道府県、市区町村、町域までを使うのか、市区町村、町域だけで使うのかを決めます。

全国データを扱うなら、都道府県を含めた方が重複を避けやすくなります。

番地や建物名を除いて町域で照合します

郵便番号は、住所の細かい番地ではなく、町域単位で決まることが多いです。

そのため、番地や建物名まで含めて照合すると、一致しにくくなります。

住所から郵便番号を求める場合は、まず町域までを取り出すことを考えます。

ただし、住所の書き方は一定ではないため、町域だけを自動で切り出すのは簡単ではありません。

大量データでは、住所正規化ツールやPower Queryを使って、不要な部分を分ける方法も検討できます。

重要な発送データでは、郵便番号候補を出したあとに人の目で確認することも必要です。

マッチしない住所の原因と確認ポイント

続いてはマッチしない住所の原因と確認ポイントを確認していきます。

関数を正しく入れても、住所から郵便番号が見つからないことがあります。

原因としては、住所表記の違い、データベースの不足、旧住所、町域名の省略、ビル名や企業専用郵便番号などが考えられます。

エラーが出た場合は、関数だけを疑うのではなく、住所データと参照データの両方を確認しましょう。

特にVLOOKUPで該当なしになる場合、検索キーの文字が完全に一致していない可能性が高いです。

住所がマッチしない場合は、検索キーを目で比較するだけでなく、文字数、空白、全角半角、町域名の違いを確認することが大切です。

見た目が同じでも、エクセル上では別の文字列として扱われることがあります。

見えない空白や記号が原因になることがあります

住所が一致しない原因として、見えない空白や特殊な記号があります。

セルの前後にスペースが入っていると、見た目では気づきにくいです。

また、ハイフンにも複数の種類があります。

半角ハイフン、全角ハイフン、長音記号、マイナス記号などが混ざると、別の文字として扱われます。

SUBSTITUTE関数で記号を統一することで、マッチング精度を上げられます。

住所データを扱う場合は、記号の種類にも注意しましょう。

旧住所や市町村合併にも注意します

古い顧客データでは、市町村合併前の住所が残っていることがあります。

その場合、最新の郵便番号データベースでは一致しないことがあります。

町名変更や区画整理によって、住所表記が変わっているケースもあります。

古い住所が多いリストでは、最新住所への変換や確認作業が必要です。

郵便番号データベースを新しくしても、元住所が古いままだと正しく変換できないことがあります。

エラーになった住所は、手動確認用のリストとして別に抽出すると作業しやすくなります。

複数候補がある場合は自動確定しない方が安全です

住所の一部だけで検索すると、複数の候補が見つかる場合があります。

たとえば、同じ町域名が別の市区町村に存在することがあります。

この場合、部分一致で最初に見つかった郵便番号を返すと、誤った結果になる可能性があります。

複数候補がある場合は、候補一覧を表示し、人が確認して確定する流れが安全です。

特に配送や請求に関わるデータでは、誤った郵便番号がトラブルにつながることがあります。

住所から郵便番号を変換する場合、該当なしだけでなく、複数候補にも注意が必要です。

まとめ

【Excel】エクセルで住所から郵便番号を変換する方法(逆引き・データベース・関数・VLOOKUP・マッチング)では、郵便番号データベースを用意し、住所と照合する方法が基本です。

エクセルには住所から郵便番号を直接返す標準関数がないため、参照用データを作る必要があります。

VLOOKUPやXLOOKUPを使えば、住所キーに一致する郵便番号を取得できます。

ただし、住所は表記ゆれが多いため、全角半角、空白、都道府県の有無、番地、建物名などを整理することが大切です。

完全一致で見つからない場合は、部分一致やPower Query、専用ツールを使う方法もあります。

一方で、部分一致は誤変換の可能性があるため、確認作業を組み合わせることが必要です。

住所から郵便番号への変換は、関数だけでなく、データベースの鮮度と住所の整え方が重要な作業です。