Czy możesz przekonwertować adres na kod pocztowy w arkuszu kalkulacyjnym?


11

Biorąc pod uwagę kolumnę adresów ulic z miastem i stanem, ale bez zip w arkuszu kalkulacyjnym, chciałbym umieścić formułę w drugiej kolumnie, która daje kod pocztowy. Czy wiesz, jak to zrobić?

Mam do czynienia z adresami amerykańskimi, ale interesujące są również odpowiedzi dotyczące innych krajów.

UPDATE: Domyślam się, że mam nadzieję, że w Google Spreadsheets można to zrobić. Zdaję sobie sprawę, że aby to zrobić, musisz uzyskać dostęp do ogromnej bazy danych kodów pocztowych, ale wydaje mi się, że taka baza danych znajduje się już w Google Maps. Jeśli podam tam adres bez kodu pocztowego, otrzymam adres z kodem pocztowym. Jeśli Mapy mogą to zrobić, być może istnieje sposób, aby to się stało również w Arkuszach kalkulacyjnych.


W związku z odpowiedzią @ ChrisF, w jakim regionie się znajdujesz?
JMD

Nie zdawałem sobie sprawy, że termin „ZIP” ma zastosowanie poza USA. W każdym razie określiłem teraz.
Isaac Moses

Niewiele wiadomo, kody pocztowe są potrzebne tylko do szybszego dostarczania poczty. To zastosowanie jest dziś mniej przydatne niż po ich wprowadzeniu (w 1968 r.), Ponieważ USPS skanuje teraz wpisane adresy i sprawdza, czy ZIP nie został odnaleziony. Jeśli go nie dostarczysz, USPS użyje swojego systemu, aby go dostarczyć (a co najważniejsze, nie ma z tym żadnego dodatkowego kosztu). Ponadto kody pocztowe SĄ specyficzne dla USA. Większość miejsc ma je, ale wszędzie są nazywane kodami pocztowymi.
krowe

Odpowiedzi:


8

Arkusze kalkulacyjne Google mają serię funkcje dla danych zewnętrznych . Jeśli możesz znaleźć (lub utworzyć) witrynę, która wykonuje wyszukiwanie, przekazując parametry, możesz umieścić formułę podobny do tego w:

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

To hipotetyczny pomysł. Konkatenat, importData i inne funkcje danych zewnętrznych istnieją w Arkuszach kalkulacyjnych Google. „zipfinder.com” nie istnieje. Tam są wiele stron który pomoże ci znaleźć kod pocztowy z adresu. Najtrudniejszą częścią jest znalezienie takiego, który akceptuje dane adresowe w adresie URL i zwraca coś na tyle prostego, aby można było z niego korzystać w Google.


4

W arkuszu kalkulacyjnym nie będzie niczego wbudowanego, ponieważ zweryfikowane bazy danych adresów są bardzo drogie.

Możesz znaleźć usługę online, która zrobi to za Ciebie. Na przykład w Wielkiej Brytanii Royal Mail strona internetowa pozwala szukaj kodów pocztowych (odpowiednik kodów pocztowych w Wielkiej Brytanii), ale masz tylko 15 wyszukiwań dziennie. To jest do użytku osobistego. Firmy dostaną więcej - ale musisz się zarejestrować i za to zapłacić.

Podobne usługi będą istniały w innych krajach.


3

Potrzebujesz jakiegoś narzędzia lub usługi wyszukiwania adresów zewnętrznych. W przypadku miasta / stanu często nie ma możliwości określenia prawidłowego kodu pocztowego, ponieważ wiele miast ma wiele kodów pocztowych, a wiele miast ma ulice obejmujące wiele kodów pocztowych, więc nie można nawet dodać ulicy i użyć miasta / stanu / formuła zip lub wyszukiwanie. Jeśli potrzebujesz znaleźć kody pocztowe dla adresów, będziesz musiał się zepsuć i zapłacić za usługę lub narzędzie. Nie ma na to dobrego wyjścia.


Tak, robię to na życie - konwertowanie danych z jednego formatu na inny. Jak już wspomniano, niektóre miasta mogą mieć kilka kodów pocztowych, w tym przypadku budynki World Trade Center mają własne kody pocztowe, więc miasto / stan nie wystarcza. USPS ma ogromną bazę danych, która może to zrobić, ale wymaga również adresu ulicy i jest stosunkowo droga.
Blackbeagle

Czy nie mógłbyś użyć danych ze spisu ludności z 2000 r.? Wierzę, że jest darmowy.
Chris

1
Nie znam go, ale mimo to mówisz o ogromnej ilości danych i nie jest to coś, co będziesz mógł zrobić w arkuszu kalkulacyjnym Excel.
BBlake

3

Trudno to zrobić w Excelu. Musisz zadzwonić do usługi sieci Web przy użyciu zestawu narzędzi SOAP lub użyć programu Visual Studio. Trzeba się zastanowić, co myśli Microsoft.

Łatwiej jest to zrobić w Arkuszu kalkulacyjnym Dokumentów Google, a następnie eksportować do Excela

Możesz skorzystać z usługi XML GeoCoder.ca, aby wyszukać kod pocztowy według adresu. W Dokumentach Google korzystasz z tej funkcji:

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

(gdzie A2 jest adresem ulicy).

Możesz również uzyskać szerokość i długość geograficzną w ten sposób:

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

Zauważ, że GeoCoder ma przepustkę na żądania dziennie za ich bezpłatną usługę.


3

Tak - możesz teraz znaleźć kody pocztowe w arkuszu Dokumentów Google przy użyciu następującego adresu URL:

Krok 1: W ta strona docelowa , wprowadź adres, który chcesz wyszukać.

Krok 2: Szukałem adresu „1245 5TH ST” w Waszyngtonie, a adres URL wyglądał tak:

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

Krok 3: Skopiuj i wklej następującą formułę i zastąp 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)

Pamiętaj, że adres URL w kroku 3 powinien pasować do adresu z kroku 2. Komórka będzie dynamiczna na podstawie docelowej wartości komórki.

Funkcja w kroku 3 wyodrębnia 11 znaków po wartości STATE. Dlatego będziesz musiał dostosować funkcję MID, aby uzyskać prawidłowe wartości. To działało idealnie dla mnie.

Ostatnia rzecz: Google zezwala tylko na 50 funkcji importu na arkusz. Dzięki powyższej metodzie można znaleźć tylko 25 kodów pocztowych za jednym razem.


To nie zadziałało dla mnie dziś rano.
mooreds

3

Możesz napisać niestandardową funkcję skryptu aplikacji za pomocą usługi Google Maps, stosując podobne podejście ta odpowiedź . Aby to zrobić, otwórz Narzędzia ... Edytor skryptów ... i wklej tę funkcję w:

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

Następnie możesz wywołać to w komórce arkusza kalkulacyjnego, na przykład poprawnie zwróci 20500 dla Białego Domu:

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

W przeciwieństwie do niektórych innych podejść, działa również w lokalizacjach poza USA, np. poprawnie zwraca 75007 dla Wieży Eiffla:

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

Czy interfejs API Google ogranicza częstotliwość korzystania z geokodera? Jeśli tak, warto tutaj wspomnieć.
Excellll

Strona kwot nie wyświetla specjalnie Map, więc najlepiej zgaduję, że będzie to 20 tysięcy dziennie (limit pobierania adresu URL): developers.google.com/apps-script/guides/services/…
Max Ghenis


0

W Wielkiej Brytanii będziesz potrzebować dostępu do pliku z kodem pocztowym (PAF), który zawiera listę wszystkich adresów w kraju. Bezpośredni dostęp do PAF kosztuje również, a nie niewielką kwotę. Płacimy około 200 funtów na jedno miejsce rocznie za nieograniczony dostęp do zaktualizowanych danych PAF, ale co miesiąc wysyłamy na nie ponad 10 tysięcy wniosków.

Większość innych terytoriów jest pod tym względem podobna, więc wyobrażam sobie, że nie znajdziesz legalnego sposobu uzyskiwania dostępu do danych zip w sposób, w jaki chcesz.

Nawet gdybyś mógł znaleźć witrynę, która pozwoliłaby RESTful zapytać o swoje dane, aby wstawić zip bezpośrednio do arkusza kalkulacyjnego, bez wątpienia wprowadziłby ścisłe ograniczenia liczby zapytań, które mogłyby zostać wykonane w dowolnym ustalonym okresie.


0

Istnieje kilka usług online, które przetworzą arkusz kalkulacyjny Excel (lub plik CSV / rozdzielany tabulatorami) i dołączą brakujące kody pocztowe. Cena może wahać się od kilku dolarów do 100 USD, w zależności od dostawcy usług, z których niektóre mają opłaty instalacyjne, opłaty manipulacyjne i opłaty za zamówienie.

Niektórzy usługodawcy mogą odzyskać przetworzony plik w ciągu kilku minut, podczas gdy inni, którzy twierdzą, że są „szybcy”, mogą potrzebować 3+ dni roboczych. W oparciu o Twoje pytanie, nie chcesz inwestować w zakup oprogramowania i obniżać tysiące dolarów za oprogramowanie na miejscu. Jeśli tak jest, najlepszym rozwiązaniem jest dostawca online.

W interesie pełnego ujawnienia jestem założycielem SmartyStreets. Oferujemy w pełni zautomatyzowane, online weryfikacja adresu . Możesz przeciągnąć i upuścić plik Excel na naszej stronie, a my go przetworzymy i prześlemy do Ciebie w ciągu około minuty lub dwóch, w zależności od rozmiaru.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.