Você pode converter um endereço em um CEP em uma planilha?

12

Dada uma coluna de endereços com cidade e estado, mas sem zip em uma planilha, eu gostaria de colocar uma fórmula em uma segunda coluna que produz o CEP. Você conhece uma maneira de fazer isso?

Estou lidando com endereços nos EUA, mas as respostas pertencentes a outros países também são interessantes.

ATUALIZAÇÃO: Acho que espero principalmente que haja uma maneira de fazer isso nas planilhas do Google. Sei que você precisa acessar um vasto banco de dados de CEP para fazer isso, mas parece-me que esse banco de dados já está dentro do Google Maps. Se eu colocar um endereço lá sem CEP, recebo de volta um endereço com CEP. Se o Maps puder fazer essa pesquisa, talvez haja uma maneira de fazer isso acontecer também nas planilhas.

Isaac Moses
fonte
Relacionado à resposta de @ ChrisF, em que região você está?
JMD
Não sabia que o termo "ZIP" se aplicava fora dos EUA. De qualquer forma, eu especifiquei agora.
Isaac Moses
Pouco fato conhecido, os códigos postais são necessários apenas para agilizar a entrega do correio. Esse uso é menos aplicável hoje do que quando eles foram introduzidos pela primeira vez (em 1968) porque o USPS agora verifica os endereços digitados e procura o CEP para você, se estiver ausente. Se você não fornecer um, o USPS usará o sistema para fornecê-lo (e o melhor de tudo é que não há custo extra com isso). Além disso, os códigos postais são específicos dos EUA. A maioria dos lugares os possui, mas são chamados de códigos postais em qualquer outro lugar.
krowe

Respostas:

8

As planilhas do Google têm uma série de funções para dados externos . Se você puder encontrar (ou criar) um site que faça a pesquisa passando parâmetros, poderá colocar uma fórmula semelhante a esta em:

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

Esta é uma ideia hipotética. As concatenadas, importData e outras funções para dados externos existem nas Google Spreadsheets. "zipfinder.com" não existe. Existem muitos sites que o ajudarão a encontrar um código postal de um endereço. A parte complicada é encontrar um que aceite dados de endereço no URL e retorne algo simples o suficiente para o Google Spreadsheets usar.

Doug Harris
fonte
4

Não haverá nada incorporado em uma planilha, pois os bancos de dados de endereços verificados são muito caros.

Você pode encontrar um serviço online que fará isso por você. Por exemplo, no Reino Unido, o site Royal Mail permite procurar códigos postais (o equivalente no Reino Unido a códigos postais), mas você está limitado a 15 pesquisas por dia. Isto é para uso pessoal. As empresas terão mais - mas você precisa se inscrever e pagar por isso.

Serviços semelhantes existirão em outros países.

ChrisF
fonte
4

Você pode escrever uma função personalizada do Script do Google Apps com o serviço Google Maps, usando uma abordagem semelhante a esta resposta . Para fazer isso, abra Ferramentas ... Editor de scripts ... e cole esta função em:

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

Você pode chamar isso em uma célula da planilha, por exemplo, ele retorna corretamente 20500 para a Casa Branca:

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

Diferente de outras abordagens, ele também funciona em locais fora dos EUA, por exemplo, retorna corretamente 75007 para a Torre Eiffel:

=getZIP("Champ de Mars, 5 Avenue Anatole France, Paris, France")
Max Ghenis
fonte
1
A API do Google limita a frequência com que você pode usar o geocoder? Nesse caso, vale a pena mencionar aqui.
Excellll
1
A página de cotas não lista o Google Maps especificamente, então meu melhor palpite seria 20k / dia (limite de busca de URL): developers.google.com/apps-script/guides/services/…
Max Ghenis
3

Você precisa de algum tipo de ferramenta ou serviço de pesquisa de endereço externo. Com apenas Cidade / Estado, geralmente não há como determinar o CEP correto, pois muitas cidades têm vários CEPs e muitas cidades têm ruas que abrangem vários CEPs, portanto você não pode adicionar apenas a rua e usar uma cidade / estado / zip fórmula ou pesquisa. Se você precisar encontrar códigos postais para endereços, precisará pagar e pagar por um serviço ou ferramenta. Não há nenhuma maneira de contornar isso.

BBlake
fonte
Sim, faço isso para ganhar a vida - convertendo dados de um formato para outro. Como mencionado, algumas cidades podem ter vários códigos postais. Por esse motivo, os prédios do World Trade Center tinham seus próprios códigos postais, portanto cidade / estado não é suficiente. O USPS possui um banco de dados super maciço que pode fazer isso, mas também exige o endereço e é relativamente caro.
precisa
Você não poderia usar os dados do censo dos EUA de 2000? Eu acredito que é gratuito para uso.
Chris
1
Eu não estou familiarizado com isso, mas mesmo assim você está falando sobre uma enorme quantidade de dados e não é algo que você poderá fazer facilmente em uma planilha do Excel.
BBlake
3

É difícil de fazer no Excel. Você precisaria chamar um serviço da Web usando o kit de ferramentas SOAP ou usar o Visual Studio. É preciso se perguntar o que a Microsoft está pensando.

É muito mais fácil fazer isso em uma planilha do Google Docs e exportar para o Excel:

Você pode usar o serviço da Web XML do GeoCoder.ca para procurar o CEP por endereço. No Google Docs, você usaria esta função:

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

(onde A2 é o endereço da rua).

Você também pode obter a latitude e longitude desta maneira:

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

Observe que o GeoCoder tem um acelerador de solicitações por dia para seu serviço gratuito.

Neil McGuigan
fonte
3

Sim - Agora você pode encontrar os códigos postais na planilha do Google Docs usando o seguinte URL:

Passo 1: Em esta página de destino , digite o endereço que você gostaria de pesquisar.

Etapa 2: procurei o endereço "1245 5TH ST" em Washington, DC e o URL ficou assim:

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

Etapa 3: Copie e cole a seguinte fórmula e substitua 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)

Lembre-se de que o URL na Etapa 3 deve corresponder ao URL da Etapa 2. A célula será dinâmica com base no valor da célula de destino.

A função na Etapa 3 extrai 11 caracteres após o valor STATE. Portanto, você terá que ajustar a função MID para obter os valores corretos. Isso funcionou perfeitamente para mim.

Uma última coisa: o Google permite apenas 50 funções de importação por folha. Portanto, com o método acima, você pode encontrar apenas 25 códigos postais de uma só vez.

Sushil Jhamnani
fonte
Isso não funcionou para mim esta manhã.
mooreds
1

No Canadá, o site Canada Post permite a pesquisa de códigos postais por endereço (e eu não conheço nenhum limite diário), mas infelizmente isso não ajuda na integração com sua planilha. Também estou interessado em ver possíveis soluções para isso. Sempre usei a pesquisa manual de códigos postais para os que não conheço.

JMD
fonte
0

No Reino Unido, você precisaria acessar o arquivo de endereço de código postal (PAF), que lista todos os endereços do país. O acesso direto ao QAD custa dinheiro e também não é uma quantia insignificante. Pagamos algo como £ 200 por assento, por ano, para acesso ilimitado aos dados atualizados do PAF, mas, em seguida, enviamos mais de 10 mil solicitações todos os meses.

A maioria dos outros territórios é semelhante nesse aspecto, então eu imagino que você não encontrará uma maneira legítima de acessar dados zip da maneira que deseja.

Mesmo se você pudesse encontrar um site que permitisse que a consulta RESTful de seus dados inserisse um zip diretamente em uma planilha, eles sem dúvida implementariam limites estritos no número de consultas que poderiam ser feitas em qualquer período definido.

Lunatik
fonte
0

Existem alguns serviços online que processam uma planilha do Excel (ou arquivo delimitado por tabulações CSV /) e anexam códigos postais ausentes. O preço pode variar de alguns dólares a US $ 100 ou mais, dependendo do provedor de serviços, alguns dos quais têm taxas de instalação, taxas de processamento e taxas de pedidos urgentes.

Alguns provedores de serviços podem devolver o arquivo processado em alguns minutos, enquanto outros que reivindicam "processamento rápido" podem levar mais de três dias úteis. Com base na sua pergunta, você não deseja investir na compra de software e gastar milhares de dólares em uma solução de software no local. Se for esse o caso, um provedor on-line é sua melhor aposta.

No interesse da divulgação completa, sou o fundador da SmartyStreets. Oferecemos verificação de endereço on - line totalmente automatizada . Você pode arrastar e soltar seu arquivo do Excel em nosso site e processá-lo e devolvê-lo dentro de um ou dois minutos, dependendo do tamanho.

Jonathan Oliver
fonte