Puoi convertire un indirizzo in un codice postale in un foglio di calcolo?


12

Data una colonna di indirizzi stradali con città e stato ma senza zip in un foglio di calcolo, vorrei inserire una formula in una seconda colonna che restituisca il codice postale. Conosci un modo per farlo?

Ho a che fare con indirizzi statunitensi, ma anche le risposte relative ad altri paesi sono interessanti.

AGGIORNAMENTO: Suppongo che spero principalmente che ci sia un modo per farlo in Fogli di lavoro Google. Mi rendo conto che è necessario accedere a un vasto database di codici postali per farlo, ma mi sembra che un tale database sia già all'interno di Google Maps. Se inserisco un indirizzo senza codice postale, ottengo un indirizzo con codice postale. Se Maps può fare quella ricerca, forse c'è un modo per farlo accadere anche nei fogli di calcolo.


In relazione alla risposta di @ ChrisF, in quale regione ti trovi?
JMD,

Non mi rendevo conto che il termine "ZIP" si applicava al di fuori degli Stati Uniti. Comunque, ho specificato ora.
Isaac Moses,

Fatto poco noto, i codici postali sono necessari solo per rendere più veloce la consegna della posta. Quell'uso è oggi meno applicabile rispetto a quando sono stati introdotti per la prima volta (nel 1968) perché l'USPS ora scansiona gli indirizzi digitati e cerca lo ZIP per te se manca. Se non ne fornisci uno, USPS utilizzerà il proprio sistema per fornirlo (e soprattutto non ha costi aggiuntivi). Inoltre, i CAP sono specifici degli Stati Uniti. La maggior parte dei luoghi li ha, ma sono chiamati codici postali ovunque.
Krowe,

Risposte:


8

I fogli di calcolo di Google hanno una serie di funzioni per dati esterni . Se riesci a trovare (o creare) un sito che esegue la ricerca passando parametri, puoi inserire una formula simile a questa in:

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

Questa è un'idea ipotetica. I concatenati, importData e altre funzioni per dati esterni esistono in Fogli di lavoro Google. "zipfinder.com" non esiste. Ci sono molti siti che ti aiuteranno a trovare un codice postale da un indirizzo. La parte difficile è trovarne uno che accetta i dati dell'indirizzo nell'URL e restituisce qualcosa di abbastanza semplice da usare per i fogli di calcolo di Google.


4

Non ci sarà nulla incorporato in un foglio di calcolo poiché i database degli indirizzi verificati sono molto costosi.

Potresti trovare un servizio online che lo farà per te. Ad esempio, nel Regno Unito il sito Web Royal Mail consente di cercare codici postali (l'equivalente britannico dei codici postali), ma è limitato a 15 ricerche al giorno. Questo è per uso personale. Le aziende otterranno di più, ma devi registrarti e pagare per questo.

Servizi simili esisteranno in altri paesi.


4

Puoi scrivere una funzione Script app personalizzata con il servizio Google Maps, utilizzando un approccio simile a questa risposta . Per fare ciò, apri Strumenti ... Editor di script ... e incolla questa funzione 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;
    }
  }
}

Puoi quindi chiamarlo in una cella di foglio di calcolo, ad esempio, restituisce correttamente 20500 per la Casa Bianca:

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

A differenza di altri approcci, funziona anche per località non statunitensi, ad esempio restituisce correttamente 75007 per la Torre Eiffel:

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

1
L'API di Google limita la frequenza con cui puoi utilizzare il geocoder? Se è così, vale la pena menzionarlo qui.
Eccellente il

1
La pagina delle quote non elenca le mappe in modo specifico, quindi la mia ipotesi migliore sarebbe 20k / giorno (limite di recupero URL): developers.google.com/apps-script/guides/services/…
Max Ghenis

3

Hai bisogno di una sorta di strumento o servizio di ricerca di indirizzi esterni. Con solo città / stato, spesso non c'è modo di determinare il codice postale corretto poiché molte città hanno più codici postali e molte città hanno strade che si estendono su più codici postali in modo da non poter nemmeno aggiungere solo la strada e utilizzare una città / stato / zip formula o ricerca. Se devi trovare i codici postali per gli indirizzi, dovrai scomporre e pagare un servizio o uno strumento. Non c'è modo di aggirare questo.


Sì, lo faccio per vivere, convertendo i dati da un formato all'altro. Come accennato, alcune città possono avere diversi codici postali, per questo motivo, gli edifici del World Trade Center avevano i loro codici postali quindi la città / stato non è sufficiente. L'USPS ha un database super massiccio che può farlo, ma richiede anche l'indirizzo stradale ed è relativamente costoso.
Blackbeagle,

Non potresti utilizzare i dati del censimento degli Stati Uniti dal 2000? Credo che sia gratuito per l'uso.
Chris,

1
Non ne ho familiarità, ma anche così stai parlando di un'enorme quantità di dati e non è qualcosa che sarai in grado di fare facilmente in un foglio di calcolo Excel.
BBlake,

3

È difficile da fare in Excel. Dovresti chiamare un servizio Web utilizzando SOAP toolkit o utilizzare Visual Studio. Bisogna chiedersi cosa sta pensando Microsoft.

È molto più facile da fare in un foglio di calcolo di Google Documenti, quindi esportare in Excel:

È possibile utilizzare il servizio Web XML di GeoCoder.ca per cercare il codice postale per indirizzo. In Google Documenti, utilizzeresti questa funzione:

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

(dove A2 è l'indirizzo stradale.)

Puoi anche ottenere latitudine e longitudine in questo modo:

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

Si noti che GeoCoder ha un throttle sulle richieste al giorno per il loro servizio gratuito.


3

Sì. Ora puoi trovare i codici postali nel tuo foglio di Google Documenti utilizzando il seguente URL:

Passaggio 1: in questa pagina di destinazione , inserisci l'indirizzo che desideri cercare.

Passaggio 2: ho cercato l'indirizzo "1245 5TH ST" a Washington, DC e l'URL era simile al seguente:

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

Passaggio 3: copia e incolla la seguente formula e sostituisci 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)

Ricorda che l'URL del passaggio 3 deve corrispondere a quello del passaggio 2. La cella sarà dinamica in base al valore della cella target.

La funzione nel passaggio 3 estrae 11 caratteri dopo il valore STATE. Quindi, dovrete modificare la funzione MID in modo da ottenere i valori corretti. Ha funzionato perfettamente per me.

Un'ultima cosa: Google consente solo 50 funzioni di importazione per foglio. Quindi, con il metodo sopra puoi trovare solo 25 codici postali in una volta sola.


Questa mattina non ha funzionato per me.
Ormeggi

1

In Canada il sito web di Canada Post consente la ricerca di codici postali per indirizzo (e non sono a conoscenza di alcun limite giornaliero) ma questo non ti aiuta, purtroppo, con l'integrazione nel tuo foglio di calcolo. Sono interessato a vedere anche potenziali soluzioni per questo. Ho sempre usato la ricerca manuale del codice postale per quelli che non conosco.


0

Nel Regno Unito è necessario accedere al file di indirizzo del codice postale (PAF) che elenca tutti gli indirizzi nel paese. L'accesso diretto al PAF costa denaro, e nemmeno un importo insignificante. Paghiamo qualcosa come £ 200 per posto, all'anno per l'accesso illimitato ai dati PAF aggiornati, ma poi stiamo lanciando verso l'alto di 10k richieste ogni mese.

La maggior parte degli altri territori sono simili in questo senso, quindi immagino che non troverai un modo legittimo per accedere ai dati zip nel modo che desideri.

Anche se tu potessi trovare un sito che consenta alle query RESTful sui loro dati di inserire una zip direttamente in un foglio di calcolo, senza dubbio implementerebbero limiti rigorosi al numero di query che potrebbero essere fatte in un determinato periodo.


0

Esistono alcuni servizi online che elaborano un foglio di calcolo Excel (o file CSV / delimitato da tabulazioni) e aggiungono codici postali mancanti. Il prezzo può variare da pochi dollari a $ 100 + a seconda del fornitore di servizi, alcuni dei quali hanno costi di installazione, costi di elaborazione e commissioni per ordini urgenti.

Alcuni fornitori di servizi possono restituirti il ​​file elaborato entro pochi minuti, mentre altri che sostengono che "elaborazione urgente" può richiedere più di 3 giorni lavorativi. In base alla tua domanda, non vuoi investire nell'acquisto di software e nel raccogliere migliaia di dollari per una soluzione software in loco. In tal caso, un fornitore online è la soluzione migliore.

Nell'interesse della piena divulgazione, sono il fondatore di SmartyStreets. Offriamo una verifica dell'indirizzo online completamente automatizzata . Puoi trascinare e rilasciare il tuo file Excel sul nostro sito Web e lo elaboreremo e ti invieremo entro circa un minuto o due a seconda delle dimensioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.