【Excel】既存の住所録に、郵便番号を一括追加する方法

Word・Excel

エクセルで作成された住所録に、なぜか郵便番号が入っていない!

一つずつ手入力なんて、とてもできない!

 

これ、意外と事務さんあるあるの悩みではないかと思います。

※地番は適当です。

 

今回は『既存の住所録に、郵便番号を一括追加する方法』をご紹介します。

 

FURIO
FURIO

画像は拡大できるよ

 

スポンサーリンク
スポンサーリンク

PHONETIC関数は使えない

「住所から郵便番号へ変換」などと検索すると、

=ASC(PHONETIC(A1))

で出来る!というような結果を見たことはありませんか?

 

最初にお伝えすると、PHONETIC関数では解決しません

残念ながら、この関数が有効利用できるのは「新しく住所録を作った場合」なのです。

既存の住所録では役に立ちません!

 

▼多くのページで「できる」と言っているのは、こういうことです。

A1に郵便番号を手入力 → 変換で住所を選択

 

B1に「=PHONETIC(A1) 」と入力 → 郵便番号が自動で出てくる

 

PHONETIC関数は「読みがな」を拾い出す関数です。分かりやすく言うと、自分で入力した読みがな(今回で言えば郵便番号)を反映させているだけなのです。

 

FURIO
FURIO

既存の住所録でこの関数を使っても、

一つ一つ手作業するのと同じになっちゃう!

 

 

最終的にやりたいこと

結局、既存の住所録には、既存の郵便番号表が不可欠!

 

そこで登場するのが「郵便番号データ」です。

そしてエクセルには「VLOOKUP」という、使いやすい関数があります。

 

この二つをかけ合わせれば!

 

こういうカップリングが誕生して、

 

郵便番号が反映されるので、

 

あとはオートフィルで一括追加!

 

 

FURIO
FURIO

すごく楽&効率的!

 

郵便番号を一括追加する方法

 

郵便番号データを入手する

郵便番号データは、日本郵便の公式ページからダウンロードできます。

読み仮名データの促音・拗音を小書きで表記するもの - zip圧縮形式 日本郵便
郵便番号データのうち、「ホッカイドウ」のように促音・拗音を小書きで表記したデータをご提供しています。

 

 データが必要な都道府県をクリック

 

ダウンロードしたフォルダの上で右クリック →「すべて展開」を選択

 

新たにできたフォルダの中にcsvが入っているので、これを開きます。

 



郵便データcsvを加工する

前述の「最終的にやりたいこと」でお伝えした通り、セル内の文字が完全一致しないとVLOOKUP関数は使用できません。

 

そこで「既存の住所録」と「郵便番号データ」の文字を一致させる加工を行います。

※画像は分かりやすく都道府県を含めていますが、都道府県がなくても一致すればOKです。

 

 

FURIO
FURIO

すでに一致している人は問題ないよ。

一致していない人は、一緒にやってみよう!

 

まず、csvを開いた時点では、このような感じです。

 

このうち、使うのはここ!

 

 

住所を加工する(セルの文字をつなげる)

 まず、住所をつなげます。

I列の右に列(J列)を追加し、J1セルに以下の数式をコピペします。

=CONCATENATE(G1,H1,I1)

 

▼ こんな感じ。

都道府県不要の場合は「H1」と「I1」を組み合わせるなど、適宜調整してください。

 

J1セルの右下にマウスカーソルを置くと、黒い十字に変わります。この状態でダブルクリックすると、一番下まで数式がコピペできます。

 

FURIO
FURIO

これがオートフィルだよ!

 

J列を選択して「Crtl+C」(コピー) → Jの上で右クリック →貼り付けオプションから「値」を選択。

これで数式から、ただの文字列になります。

 

※注意※
もし保存をしたい方は、「ファイル」→「名前を付けて保存」→「場所の選択」→「ファイルの種類」でExcelブックを選択しましょう。

csvのままでは上書き保存できません!

 

郵便番号を加工する(ハイフンを入れる)

郵便番号データでは、最初は連続した7ケタの数字です。

1000000

 

この郵便番号を

100-0000

このようにハイフン入りにします。

 

FURIO
FURIO

必要ない人は飛ばしてね!

 

 

まずC列の右に4列を追加します。

 

 D1セルに、以下の数式をコピペします。

=LEFT(C1,3)

 

E1セルに、『-(ハイフン)』を入力します。

 

 F1セルに、以下の数式をコピペします。

=RIGHT(C1,4)

 

 G1セルに、以下の数式をコピペします。

=CONCATENATE(D1,E1,F1)

 

D1からG1までを選択し、G1セル右下の黒い十字が出たらダブルクリック。

 

D:G列が一括でオートフィル出来ます。

 

PCが苦手な方は、これもやっておきましょう(省略してもOK!)

G列を選択して「Crtl+C」(コピー) → Gの上で右クリック →貼り付けオプションから「値」を選択。

これで数式から、ただの文字列になります。

 

なぜ文字列にする必要があるかというと、数式のままでは反映場所がおかしくなったり、ファイルを閉じると反映されなくなったりするので、あとで「なんか変!」と、混乱しないためです。

 

FURIO
FURIO

最初から文字列にしてしまったほうが安心!



住所録を加工する

住所のセルに「地番」まで含まれている場合は、次の方法でセルを分割します。

 

既存の住所録を開きます。

 

データを反映させるためには、地番部分が邪魔ですね。

これを後ろのセルに切り出しましょう!

住所録のあるシートを必ずコピーしておきましょう!
あとで絶対に役に立ちます!!(理由は後述)

 

 住所が入った列(下記画像ではB列)を選択します。

 

上メニュー「データ」→「テーブルまたは範囲から」を選択します。

 

ダイアログボックスが開くので、OKを押します。

 

パワークエリが開くので、「列の分割」→「数字以外から数字による分割」を選択。

 

数字部分が分割されたら、左上のアイコン(「閉じて読み込む」の文字じゃない)をクリック。

 

新しいシートにテーブルができます。……が、テーブル機能は邪魔なので、これを解除します。

 

テーブル内ならどこでもいいので、どこかのセルをクリック → 上メニュー「テーブルデザイン」→「範囲に変換」を選択。

 

色がついている列(下図の場合はA:D)を選択し、「クリア」→「書式のクリア」を選択。

 

分割された地番部分を、CONCATENATE関数でつなげます。

※この方法の欠点として、たまに末尾の地番が切れていることがあります。(シートコピーしたのはこのためです)。
完全な住所録にするための方法は、後日別の記事でお伝えします。

 

ここまでやってきたように、E列はオートフィル → 文字変換します。

その後、B:D列を削除します。

 

エラーは範囲選択すれば、一括解除できます。

 

元のシート(もともと住所録があったシート)にコピペで戻します。

 



住所録に反映させる

ここまでくれば、あともう少し!

VLOOKUPで、最後の仕上げです! 頑張って!

 

郵便データの位置を変える

VLOOKUP関数を使うために、下準備します。

 

郵便データcsvの「住所」を、「郵便番号」の左に持ってきます。

*豆知識*
VOOKUPデータは、一番左をスタート位置と考えます。
そのため一致するデータは、一番左に置く必要があります。
*豆知識2*
スタート位置はどこでもいい、XLOOKUPもあります。……が、VLOOKUPのほうが簡単です!
特にエクセル関数があまりよく分からない方には、断然VLOOKUPをおすすめします!

 

住所録への反映とVLOOKUPの使い方

住所録の郵便番号のセル(下図の場合はA1)に、VOOKUP関数を入力します。

 

VLOOKUPがよく分からない方は、以下をご覧ください。

よって、今回はA2セルに、以下の数式を入力します。

=VLOOKUP(B2,’13TOKYO.CSV’!$G:$H,2,0)

 

ついに、やりたかったことが目に見える形になりました!

 

あとは、オートフィル → 文字変換を行えば完成です!

 

 

FURIO
FURIO

長かったよね!

本当にお疲れさまでした!!

 



コメント

タイトルとURLをコピーしました