住所をスプレッドシートの郵便番号に変換できますか?


12

市区町村と都道府県の住所の列があり、スプレッドシートにzipがない場合、郵便番号を生成する2番目の列に数式を入力します。これを行う方法を知っていますか?

私は米国の住所を扱っていますが、他の国に関する回答も興味深いものです。

更新:Google Spreadsheetsでこれを行う方法があることをほとんど望んでいると思います。これを行うには膨大な郵便番号データベースにアクセスする必要があることを理解していますが、そのようなデータベースは既にGoogleマップ内にあるように思えます。郵便番号なしで住所を入力すると、郵便番号付きの住所が返されます。Mapsがその検索を実行できる場合、スプレッドシートでもそれを実現する方法があるかもしれません。


@ChrisFの答えに関連して、あなたはどの地域にいますか?
JMD

「ZIP」という用語が米国以外で適用されていることに気づきませんでした。とにかく、私は今指定しました。
アイザックモーゼス

ほとんど知られていない事実ですが、郵便番号はメールの配信を高速化するためにのみ必要です。USPSは現在、入力されたアドレスをスキャンし、ZIPが見つからない場合はZIPを検索するため、その使用は最初に導入されたとき(1968年)よりも適用されません。提供しない場合、USPSはシステムを使用して提供します(そして何よりも追加費用はかかりません)。また、郵便番号は米国固有です。ほとんどの場所にそれらがありますが、それらはどこでも郵便番号と呼ばれます。
クロー

回答:


8

Googleスプレッドシートには、外部データ用の一連の機能があります。パラメータを渡すことでルックアップを行うサイトを見つける(または作成する)ことができる場合、次のような式を配置できます。

Cell A1 (Address): 123 Main St
Cell B1 (City): Springfield
Cell C1 (State): MO

Cell D1 (combined address): =concatenate(A1,B1,C1)

Cell E1 (imported zip code): 
   =importData(concatenate("http://zipfinder.com/search?addr=",D1))

これは仮想的な考えです。外部データのconcatenate、importDataおよびその他の関数は、Googleスプレッドシートに存在します。「zipfinder.com」は存在しません。アドレスから郵便番号を見つけるのに役立つサイトたくさんあります。トリッキーな部分は、URLのアドレスデータを受け入れ、Googleスプレッドシートが使用するのに十分な単純なものを返すものを見つけることです。


4

検証済みの住所データベースは非常に高価であるため、スプレッドシートには何も組み込まれません。

あなたのためにこれを行うオンラインサービスを見つけるかもしれません。たとえば、英国では、Royal Mail Webサイトでは郵便番号(英国の郵便番号に相当)を検索できますが、1日に15回の検索に制限されています。これは個人用です。企業はより多くを取得します-しかし、あなたはサインアップしてその代金を支払わなければなりません。

他の国にも同様のサービスが存在します。


4

この回答と同様のアプローチを使用して、GoogleマップサービスでカスタムAppsスクリプト関数を作成できます。これを行うには、ツール...スクリプトエディタ...を開き、この関数を次の場所に貼り付けます。

function getZIP(address) {
  var geo = Maps.newGeocoder().geocode(address);
  var resultComponents = geo.results[0].address_components;
  for (var i = 0; i < resultComponents.length; i++) {
     if (resultComponents[i].types.indexOf('postal_code') > -1) {
       return resultComponents[i].long_name;
    }
  }
}

その後、スプレッドシートセルでこれを呼び出すことができます。たとえば、ホワイトハウスに対して20500を正しく返します。

=getZIP("1600 Pennsylvania Ave. NW, Washington, DC")

他の方法とは異なり、米国以外の場所でも機能します。たとえば、エッフェル塔に対して75007を正しく返します。

=getZIP("Champ de Mars, 5 Avenue Anatole France, Paris, France")

1
Google APIは、ジオコーダーを使用できる頻度を制限していますか?もしそうなら、ここで言及する価値があります。
Excellll

1
私の最高の推測では、20K /日(URLが制限をフェッチ)になるように、クォータページには、特に地図が表示されません。developers.google.com/apps-script/guides/services/...
マックスGhenis

3

何らかの外部アドレス検索ツールまたはサービスが必要です。多くの都市には複数の郵便番号があり、多くの都市には複数の郵便番号にまたがる通りがあるため、都市/州だけでは正しい郵便番号を決定する方法がありません。 / zip式またはルックアップ。住所の郵便番号を検索する必要がある場合は、サービスまたはツールを分解して料金を支払う必要があります。それを回避する良い方法はありません。


ええ、私は生計のためにこれを行います-データをある形式から別の形式に変換します。前述のように、一部の都市は複数の郵便番号を持つことができます。その点については、世界貿易センターの建物には独自の郵便番号があるため、都市/州では十分ではありません。USPSにはこれを実行できる超大規模データベースがありますが、住所も必要であり、比較的高価です。
ブラック

2000年の米国国勢調査データを使用できませんか?使用は無料だと思います。
クリス

1
私はそれについて詳しくはありませんが、それでも大量のデータについて話しているので、Excelスプレッドシートで簡単に実行できるものではありません。
BBlake

3

Excelで行うのは難しいです。SOAPツールキットを使用してWebサービスを呼び出すか、Visual Studioを使用する必要があります。マイクロソフトが何を考えているのか疑問に思う必要があります。

Google Docs Spreadsheetで実行し、Excelにエクスポートする方がはるかに簡単です。

GeoCoder.caのXML Webサービスを使用して、住所で郵便番号を検索できます。Googleドキュメントでは、次の関数を使用します。

=importXML("http://geocoder.ca/?geoit=xml&showpostal=1&locate=" & A2,"//postal")

(A2は番地です。)

この方法で緯度と経度を取得することもできます。

=importXML("http://geocoder.ca/?geoit=xml&showpostal=1&locate=" & A2,"//geodata")

GeoCoderでは、無料サービスの1日あたりのリクエスト数が制限されていることに注意してください。


3

はい-次のURLを使用して、Googleドキュメントシートで郵便番号を見つけることができます。

ステップ1: では、このランディングページ、あなたが検索したいアドレスを入力してください。

ステップ2:ワシントンDCで「1245 5TH ST」アドレスを検索すると、URLは次のようになりました。

https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=1245+5TH+ST&address2=&city=Washington&state=DC&urbanCode=&postalCode=&zip=

ステップ3:次の数式をコピーして貼り付け、CELL、CITY、STATEを置き換えます。

=Mid(importHTML(CONCATENATE("https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=",CELL,"&address2=&city=CITY&state=STATE&urbanCode=&postalCode=&zip="),"list",15),Find("DC",importHTML(CONCATENATE("https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=",CELL,"&address2=&city=CITY&state=STATE&urbanCode=&postalCode=&zip="),"list",15))+2,11)

ステップ3のURLは、ステップ2のURLと一致する必要があることに注意してください。セルは、ターゲットのセル値に基づいて動的になります。

ステップ3の関数は、STATE値の後に11文字を抽出します。したがって、正しい値を取得するには、MID関数を微調整する必要があります。これは私にとって完璧に機能しました。

最後に、Googleでは1シートにつき50のインポート機能のみを許可しています。したがって、上記の方法では、一度に25個の郵便番号しか見つけることができません。


今朝はこれがうまくいきませんでした。
係留

1

カナダでは、Canada Post Webサイトで住所による郵便番号の検索が許可されていますが(1日の制限はわかりません)、残念ながらスプレッドシート内での統合には役立ちません。私もこれに対する潜在的な解決策を見ることに興味があります。知らないものについては、常に手動の郵便番号検索を使用してきました。


0

英国では、国のすべての住所をリストした郵便番号住所ファイル(PAF)にアクセスする必要があります。PAFへの直接アクセスには費用がかかり、わずかな金額でもありません。更新されたPAFデータへの無制限のアクセスに対して、1シートあたり年間200ポンドのような料金を支払いますが、毎月1万件以上のリクエストを投げかけています。

他のほとんどの地域はこの点で似ているため、希望する方法でzipデータにアクセスする正当な方法を見つけることはできないと思います。

データのRESTfulクエリを実行してzipをスプレッドシートに直接挿入できるサイトを見つけたとしても、一定期間内に実行できるクエリの数に厳しい制限を実装することは間違いありません。


0

Excelスプレッドシート(​​またはCSV /タブ区切りファイル)を処理し、不足している郵便番号を追加するオンラインサービスがいくつかあります。価格は、サービスプロバイダーに応じて数ドルから100ドル以上の範囲であり、その中にはセットアップ料金、処理料金、ラッシュオーダー料金がかかるものもあります。

一部のサービスプロバイダーは、処理されたファイルを数分以内に返送できますが、「急ぎの処理」と主張するサービスプロバイダーは3営業日以上かかる場合があります。あなたの質問に基づいて、ソフトウェアの購入とオンサイトソフトウェアソリューションのための数千ドルの投資に投資したくありません。その場合は、オンラインプロバイダーが最善の策です。

完全な開示のために、私はSmartyStreetsの創設者です。完全に自動化されたオンラインの住所確認を提供しています。Excelファイルを当社のWebサイトにドラッグアンドドロップすると、サイズに応じて約1〜2分以内に処理されて戻ってきます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.