Können Sie eine Adresse in eine Postleitzahl in einer Tabelle konvertieren?

12

Angesichts einer Spalte mit Straßenadressen mit Stadt und Bundesland, aber ohne Postleitzahl in einer Tabelle, möchte ich eine Formel in eine zweite Spalte einfügen, die die Postleitzahl enthält. Kennen Sie einen Weg, dies zu tun?

Ich habe es mit US-Adressen zu tun, aber auch Antworten zu anderen Ländern sind interessant.

UPDATE: Ich hoffe, ich hoffe hauptsächlich, dass es in Google Spreadsheets eine Möglichkeit gibt, dies zu tun. Mir ist klar, dass Sie dazu auf eine umfangreiche Postleitzahlendatenbank zugreifen müssen, aber es scheint mir, dass sich eine solche Datenbank bereits in Google Maps befindet. Wenn ich dort eine Adresse ohne Postleitzahl eingebe, erhalte ich eine Adresse mit Postleitzahl zurück. Wenn Maps diese Suche durchführen kann, gibt es möglicherweise auch eine Möglichkeit, dies in Tabellenkalkulationen zu erreichen.

Isaac Moses
quelle
In welcher Region befinden Sie sich im Zusammenhang mit der Antwort von @ ChrisF?
JMD
Mir war nicht klar, dass der Begriff "Postleitzahl" außerhalb der USA gilt. Jedenfalls habe ich jetzt angegeben.
Isaac Moses
Wenig bekannte Tatsache, Postleitzahlen werden nur benötigt, um Ihre Postzustellung zu beschleunigen. Diese Verwendung ist heute weniger anwendbar als bei ihrer Einführung (1968), da der USPS jetzt eingegebene Adressen scannt und die Postleitzahl für Sie nachschlägt, wenn sie fehlt. Wenn Sie keine bereitstellen, verwendet der USPS sein System, um diese bereitzustellen (und das Beste ist, dass damit keine zusätzlichen Kosten verbunden sind). Postleitzahlen sind auch US-spezifisch. Die meisten Orte haben sie, aber sie werden überall Postleitzahlen genannt.
Krowe

Antworten:

8

Google Spreadsheets bietet eine Reihe von Funktionen für externe Daten . Wenn Sie eine Site finden (oder erstellen) können, die die Suche durch Übergabe von Parametern durchführt, können Sie eine ähnliche Formel wie folgt einfügen :

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))

Dies ist eine hypothetische Idee. Die Funktionen verketten, importieren und andere Funktionen für externe Daten sind in Google Spreadsheets vorhanden. "zipfinder.com" existiert nicht. Es gibt viele Websites, auf denen Sie anhand einer Adresse eine Postleitzahl finden können. Der schwierige Teil besteht darin, eine zu finden, die Adressdaten in der URL akzeptiert und etwas zurückgibt, das für Google Spreadsheets einfach genug ist.

Doug Harris
quelle
4

In eine Tabelle wird nichts eingebaut, da überprüfte Adressdatenbanken sehr teuer sind.

Möglicherweise finden Sie einen Onlinedienst, der dies für Sie erledigt. In Großbritannien können Sie beispielsweise auf der Royal Mail- Website nach Postleitzahlen suchen (Großbritannien entspricht Postleitzahlen), Sie sind jedoch auf 15 Suchanfragen pro Tag beschränkt. Dies ist für den persönlichen Gebrauch. Unternehmen werden mehr bekommen - aber Sie müssen sich anmelden und dafür bezahlen.

Ähnliche Dienste werden in anderen Ländern angeboten.

ChrisF
quelle
4

Sie können mit dem Google Maps-Dienst eine benutzerdefinierte Apps-Skriptfunktion schreiben, wobei Sie einen ähnlichen Ansatz wie bei dieser Antwort verwenden . Öffnen Sie dazu Extras ... Skripteditor ... und fügen Sie diese Funktion ein in:

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;
    }
  }
}

Sie können dies dann in einer Tabellenkalkulationszelle aufrufen. Beispielsweise wird 20500 für das Weiße Haus korrekt zurückgegeben:

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

Im Gegensatz zu einigen anderen Ansätzen funktioniert es auch für Standorte außerhalb der USA, z. B. gibt es 75007 für den Eiffelturm korrekt zurück:

=getZIP("Champ de Mars, 5 Avenue Anatole France, Paris, France")
Max Ghenis
quelle
1
Beschränkt die Google-API, wie oft Sie den Geocoder verwenden können? Wenn ja, ist es hier erwähnenswert.
Excellll
1
Die Quotenseite listet keine Karten speziell auf, daher würde ich am besten 20.000 / Tag
schätzen
3

Sie benötigen ein externes Adressensuchwerkzeug oder einen Dienst. Mit nur Stadt / Bundesland gibt es oft keine Möglichkeit, die richtige Postleitzahl zu bestimmen, da viele Städte mehrere Postleitzahlen haben und viele Städte Straßen haben, die mehrere Postleitzahlen umfassen, sodass Sie nicht einmal nur die Straße hinzufügen und eine Stadt / ein Bundesland verwenden können / zip Formel oder Lookup. Wenn Sie Postleitzahlen für Adressen finden müssen, müssen Sie eine Aufschlüsselung vornehmen und für einen Service oder ein Tool bezahlen. Daran führt kein guter Weg vorbei.

BBlake
quelle
Ja, ich mache das für meinen Lebensunterhalt - ich konvertiere Daten von einem Format in ein anderes. Wie bereits erwähnt, können einige Städte mehrere Postleitzahlen haben. Außerdem hatten die World Trade Center-Gebäude ihre eigenen Postleitzahlen, sodass Stadt / Bundesland nicht ausreichen. Der USPS verfügt über eine sehr umfangreiche Datenbank, die dies kann, benötigt jedoch auch die Adresse und ist relativ teuer.
Blackbeagle
Könnten Sie die US-Volkszählungsdaten von 2000 nicht verwenden? Ich glaube, dass es kostenlos ist.
Chris
1
Ich bin damit nicht vertraut, aber trotzdem sprechen Sie über eine riesige Datenmenge und es ist nicht etwas, was Sie in einer Excel-Tabelle ohne weiteres tun können.
BBlake
3

In Excel ist das schwer. Sie müssten einen Webdienst mit dem SOAP-Toolkit aufrufen oder Visual Studio verwenden. Man muss sich fragen, was Microsoft denkt.

Es ist viel einfacher, eine Google Text & Tabellen-Tabelle zu erstellen und dann nach Excel zu exportieren:

Sie können den XML-Webdienst von GeoCoder.ca verwenden, um die Postleitzahl nach Adresse zu suchen. In Google Text & Tabellen würden Sie diese Funktion verwenden:

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

(wobei A2 die Adresse ist.)

Sie können den Breiten- und Längengrad auch folgendermaßen ermitteln:

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

Beachten Sie, dass GeoCoder bei Anfragen pro Tag nach kostenlosem Service Gas gibt.

Neil McGuigan
quelle
3

Ja - Sie finden die Postleitzahlen jetzt in Ihrem Google Text & Tabellen-Blatt unter der folgenden URL:

Schritt 1: Geben Sie auf dieser Zielseite die Adresse ein, nach der Sie suchen möchten.

Schritt 2: Ich habe in Washington, DC nach der Adresse "1245 5TH ST" gesucht und die URL sah folgendermaßen aus:

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

Schritt 3: Kopieren Sie die folgende Formel, fügen Sie sie ein und ersetzen Sie 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)

Denken Sie daran, dass die URL in Schritt 3 mit der in Schritt 2 übereinstimmen sollte. Die Zelle ist basierend auf Ihrem Zielzellenwert dynamisch.

Die Funktion in Schritt 3 extrahiert 11 Zeichen nach dem STATE-Wert. Daher müssen Sie die MID-Funktion anpassen, damit Sie die richtigen Werte erhalten. Das hat bei mir perfekt funktioniert.

Eine letzte Sache: Google erlaubt nur 50 Importfunktionen pro Blatt. Mit der oben genannten Methode können Sie also nur 25 Postleitzahlen auf einmal finden.

Sushil Jhamnani
quelle
Das hat heute Morgen bei mir nicht funktioniert.
festgemacht
1

In Kanada ermöglicht die Canada Post-Website die Suche nach Postleitzahlen nach Adresse (und mir ist kein Tageslimit bekannt), aber das hilft Ihnen leider nicht bei der Integration in Ihre Tabelle. Ich bin auch daran interessiert, mögliche Lösungen dafür zu finden. Ich habe immer die manuelle Suche nach Postleitzahlen für diejenigen verwendet, die ich nicht kenne.

JMD
quelle
0

In Großbritannien benötigen Sie Zugriff auf die Postleitzahl-Adressdatei (PAF), in der alle Adressen des Landes aufgelistet sind. Der direkte Zugang zum PAF kostet Geld und auch keinen unbedeutenden Betrag. Wir zahlen etwa 200 GBP pro Sitzplatz und Jahr für den uneingeschränkten Zugriff auf aktualisierte PAF-Daten, werfen dann aber jeden Monat mehr als 10.000 Anfragen.

Die meisten anderen Gebiete sind in dieser Hinsicht ähnlich, daher würde ich mir vorstellen, dass Sie keinen legitimen Weg finden werden, um auf die von Ihnen gewünschte Weise auf Zip-Daten zuzugreifen.

Selbst wenn Sie eine Site finden könnten, auf der RESTful-Abfragen ihrer Daten eine Zip-Datei direkt in eine Tabelle einfügen könnten, würden sie zweifellos strenge Beschränkungen für die Anzahl der Abfragen implementieren, die in einem festgelegten Zeitraum durchgeführt werden könnten.

Lunatik
quelle
0

Es gibt einige Onlinedienste, die eine Excel-Tabelle (oder eine durch CSV / Tabulatoren getrennte Datei) verarbeiten und fehlende Postleitzahlen anhängen. Der Preis kann je nach Dienstanbieter zwischen einigen US-Dollar und über 100 US-Dollar liegen. Einige von ihnen haben Einrichtungsgebühren, Bearbeitungsgebühren und Eilauftragsgebühren.

Einige Dienstanbieter können die verarbeitete Datei innerhalb weniger Minuten an Sie zurücksenden, während andere, die eine "Eilverarbeitung" beanspruchen, mehr als 3 Werktage dauern können. Basierend auf Ihrer Frage möchten Sie nicht in den Kauf von Software investieren und Tausende von Dollar für eine Vor-Ort-Softwarelösung ausgeben. In diesem Fall ist ein Online-Anbieter die beste Wahl.

Im Interesse einer vollständigen Offenlegung bin ich der Gründer von SmartyStreets. Wir bieten eine vollautomatische Online- Adressüberprüfung . Sie können Ihre Excel-Datei per Drag & Drop auf unsere Website ziehen und wir werden sie je nach Größe innerhalb von ein oder zwei Minuten verarbeiten und an Sie zurücksenden.

Jonathan Oliver
quelle