「Microsoft Excel(エクセル)」で管理している住所録に郵便番号を自動入力する方法を紹介しよう。古くは「郵便番号変換ウィザード」と呼ばれるアドインが提供されており、これを使うことで簡単に住所から郵便番号の変換が可能だったが、残念ながら「郵便番号変換ウィザード」の提供は終了してしまった。そこで、Webサービスを利用して住所から郵便番号を自動入力する方法を紹介しよう。
対象:Excel 2016/2019/2021/365
「Microsoft Excel(エクセル)」で管理している住所録に郵便番号が抜けているようなケースはないだろうか。案内状などを送付する際、この抜けている郵便番号を埋める作業はかなり面倒だ。そこで、Excelで住所から郵便番号を自動入力する方法を解説する。
顧客や取引先などの名簿をExcelで管理している人も多いのではないだろうか。面倒なのは、名刺などを見て、Excelに入力する作業だ。場合によっては、郵便番号が書かれておらず、日本郵便の「郵便番号検索」ページでいちいち調べなければならず、手間なことからついつい先送りしてしまいがちだ。
Excel 2010までは、Microsoftから「郵便番号変換ウィザード」と呼ばれるアドインが提供されていたが、すでに配布ならびにサポートが終了しており、Excel 2016以降では利用できない。
日本郵便が「郵便番号データダウンロード」ページで提供している郵便番号と住所を対応させたCSVファイルを使い、VLOOKUP関数を使うなどすれば、住所から郵便番号を自動入力させることは可能だ。ただ、準備が面倒な上、全国一括のデータは約12万件あるため、VLOOKUP関数では処理にかなり時間がかかってしまう可能性がある。
実はExcel 2013以降でサポートされているWEBSERVICE関数を使うことで、簡単に住所から郵便番号を割り出すことができる。その方法を解説しよう。
WEBSERVICE関数は、インターネットやイントラネット上のWebサービスを引数のURLで指定することで、Webサービスが提供するデータを取得するものだ。
=WEBSERVICE(URL)
住所から郵便番号を取得できるWebサービスにはハトライズが提供している「ExcelAPI」がある。ExcelAPIは、1日1万件まで無料のリクエストが可能だ。価格については、「価格表」を参照してほしい。
ExcelAPIでは、Excelで利用可能なさまざまなWebサービスが提供されているが、住所から郵便番号を取得可能だ。ただ、一部の住所では郵便番号が返らなかったり、事業所固有の郵便番号には対応していなかったりするので注意してほしい。また、住所が数千件と多い場合、郵便番号の取得完了には数十秒という単位で時間がかかる点も要注意だ。
ExcelAPIで、「C2」セルに入力されている住所から郵便番号を取得するには、以下のように、郵便番号を入力したいセルに書けばよい(ExcelAPIの詳細は、「住所から郵便番号を取得」参照のこと)。ENCODEURL関数は、特定の英数字以外の文字をパーセント記号(%)と16進数に置き換えるものだ。エンコードした住所を「address」値に渡すことで、該当する郵便番号が7桁の数値で返される。
=WEBSERVICE("https://api.excelapi.org/post/zipcode?address="&ENCODEURL(C2))
郵便番号の書式「000-0000」とするには、数式とセルの書式を変更する必要がある。
まず、郵便番号を入力するセル範囲を選択し、[Ctrl]+[1]キーで[セルの書式設定]ダイアログを開き、[表示形式]タブの分類欄で[その他]−[郵便番号]を選択しておく。
次に、郵便番号を入力したいセルに、以下の数式を入力すればよい。NUMBERVALUE関数によって、Webサービスから取得した値を数値に変換することで、指定したセルの書式設定が反映されるようになる。
=NUMBERVALUE(WEBSERVICE("https://api.excelapi.org/post/zipcode?address="&ENCODEURL(C2)))
Copyright© Digital Advantage Corp. All Rights Reserved.