Pouvez-vous convertir une adresse en code postal dans une feuille de calcul?

12

Étant donné une colonne d'adresses de rue avec la ville et l'état mais pas de zip dans une feuille de calcul, je voudrais mettre une formule dans une deuxième colonne qui donne le code postal. Connaissez-vous un moyen de procéder?

J'ai affaire à des adresses américaines, mais les réponses concernant d'autres pays sont également intéressantes.

MISE À JOUR: Je suppose que j'espère surtout qu'il existe un moyen de le faire dans les feuilles de calcul Google. Je me rends compte que vous devez accéder à une vaste base de données de code postal pour ce faire, mais il me semble qu'une telle base de données se trouve déjà dans Google Maps. Si j'y mets une adresse sans code postal, je récupère une adresse avec le code postal. Si Maps peut effectuer cette recherche, il existe peut-être un moyen de le faire également dans les feuilles de calcul.

Isaac Moses
la source
En rapport avec la réponse de @ ChrisF, dans quelle région êtes-vous?
JMD
Je ne savais pas que le terme "ZIP" s'appliquait en dehors des États-Unis. Quoi qu'il en soit, je l'ai spécifié maintenant.
Isaac Moses
Fait peu connu, les codes postaux ne sont nécessaires que pour accélérer la livraison de votre courrier. Cette utilisation est moins applicable aujourd'hui que lors de leur introduction (en 1968), car l'USPS scanne désormais les adresses tapées et recherche le ZIP pour vous s'il est manquant. Si vous n'en fournissez pas, l'USPS utilisera son système pour le fournir (et surtout, il n'y a aucun coût supplémentaire avec cela). De plus, les codes postaux SONT spécifiques aux États-Unis. La plupart des endroits en ont mais ils sont appelés codes postaux partout ailleurs.
krowe

Réponses:

8

Les feuilles de calcul Google ont une série de fonctions pour les données externes . Si vous pouvez trouver (ou créer) un site qui effectue la recherche en passant des paramètres, vous pouvez mettre une formule similaire à celle-ci dans:

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

C'est une idée hypothétique. Les fonctions de concaténation, importData et autres pour les données externes existent dans les feuilles de calcul Google. "zipfinder.com" n'existe pas. Il existe de nombreux sites qui vous aideront à trouver un code postal à partir d'une adresse. La partie délicate consiste à en trouver une qui accepte les données d'adresse dans l'URL et renvoie quelque chose d'assez simple à utiliser pour les feuilles de calcul Google.

Doug Harris
la source
4

Il n'y aura rien dans une feuille de calcul car les bases de données d'adresses vérifiées sont très coûteuses.

Vous pourriez trouver un service en ligne qui le fera pour vous. Par exemple, au Royaume-Uni, le site Web de Royal Mail vous permet de rechercher des codes postaux (l'équivalent britannique des codes postaux), mais vous êtes limité à 15 recherches par jour. Ceci est pour un usage personnel. Les entreprises obtiendront plus - mais vous devez vous inscrire et payer pour cela.

Des services similaires existeront dans d'autres pays.

ChrisF
la source
4

Vous pouvez écrire une fonction de script d'applications personnalisée avec le service Google Maps, en utilisant une approche similaire à cette réponse . Pour ce faire, ouvrez Outils ... Editeur de script ... et collez cette fonction dans:

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

Vous pouvez ensuite appeler cela dans une cellule de feuille de calcul, par exemple, il renvoie correctement 20500 pour la Maison Blanche:

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

Contrairement à d'autres approches, il fonctionne également pour les sites non américains, par exemple, il renvoie correctement 75007 pour la Tour Eiffel:

=getZIP("Champ de Mars, 5 Avenue Anatole France, Paris, France")
Max Ghenis
la source
1
L'API Google limite-t-elle la fréquence à laquelle vous pouvez utiliser le géocodeur? Si oui, cela vaut la peine d'être mentionné ici.
Excellll
1
La page des quotas ne répertorie pas spécifiquement Maps, donc ma meilleure estimation serait de 20 Ko / jour (limite de récupération d'URL): developers.google.com/apps-script/guides/services/…
Max Ghenis
3

Vous avez besoin d'une sorte d'outil ou de service de recherche d'adresse externe. Avec seulement la ville / l'État, il n'y a souvent aucun moyen de déterminer le bon code postal car de nombreuses villes ont plusieurs codes postaux et de nombreuses villes ont des rues qui s'étendent sur plusieurs codes postaux, vous ne pouvez donc même pas ajouter simplement la rue et utiliser une ville / État / formule zip ou recherche. Si vous avez besoin de trouver des codes postaux pour des adresses, vous allez devoir décomposer et payer un service ou un outil. Il n'y a pas de bonne solution.

BBlake
la source
Oui, je le fais pour vivre - convertir des données d'un format à un autre. Comme mentionné, certaines villes peuvent avoir plusieurs codes postaux, d'ailleurs, les bâtiments du World Trade Center avaient leurs propres codes postaux, donc la ville / l'état ne suffit pas. L'USPS a une base de données super massive qui peut le faire, mais elle nécessite également l'adresse de la rue et est relativement coûteuse.
Blackbeagle
Ne pourriez-vous pas utiliser les données du recensement américain de 2000? Je crois que son utilisation est gratuite.
Chris
1
Je ne le connais pas, mais même si vous parlez d'une quantité massive de données et ce n'est pas quelque chose que vous allez pouvoir faire facilement dans une feuille de calcul Excel.
BBlake
3

C'est difficile à faire dans Excel. Vous devez appeler un service Web à l'aide de la boîte à outils SOAP ou utiliser Visual Studio. Il faut se demander ce que pense Microsoft.

C'est beaucoup plus facile à faire dans une feuille de calcul Google Docs, puis à exporter vers Excel:

Vous pouvez utiliser le service Web XML de GeoCoder.ca pour rechercher le code postal par adresse. Dans Google Docs, vous utiliseriez cette fonction:

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

(où A2 est l'adresse municipale.)

Vous pouvez également obtenir la latitude et la longitude de cette façon:

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

Notez que GeoCoder a un accélérateur sur les demandes par jour pour leur service gratuit.

Neil McGuigan
la source
3

Oui - Vous pouvez maintenant trouver les codes postaux dans votre feuille Google Docs en utilisant l'URL suivante:

Étape 1: Dans cette page de destination , entrez l'adresse que vous souhaitez rechercher.

Étape 2: J'ai recherché l'adresse "1245 5TH ST" à Washington, DC et l'URL ressemblait à ceci:

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

Étape 3: copiez et collez la formule suivante et remplacez 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)

N'oubliez pas que l'URL de l'étape 3 doit correspondre à celle de l'étape 2. La cellule sera dynamique en fonction de votre valeur de cellule cible.

La fonction de l'étape 3 extrait 11 caractères après la valeur STATE. Par conséquent, vous devrez modifier la fonction MID pour obtenir les valeurs correctes. Cela a parfaitement fonctionné pour moi.

Une dernière chose: Google n'autorise que 50 fonctions d'importation par feuille. Ainsi, avec la méthode ci-dessus, vous ne pouvez trouver que 25 codes postaux en une seule fois.

Sushil Jhamnani
la source
Ça n'a pas marché pour moi ce matin.
amarrés
1

Au Canada, le site Web de Postes Canada permet de rechercher des codes postaux par adresse (et je ne connais aucune limite quotidienne), mais cela ne vous aide malheureusement pas à l'intégration dans votre feuille de calcul. Je souhaite également voir des solutions potentielles. J'ai toujours utilisé la recherche manuelle de code postal pour ceux que je ne connais pas.

JMD
la source
0

Au Royaume-Uni, vous devez avoir accès au fichier d'adresse de code postal (PAF) qui répertorie toutes les adresses du pays. L'accès direct au PAF coûte de l'argent, et pas un montant non plus non plus. Nous payons quelque chose comme 200 £ par siège et par an pour un accès illimité aux données PAF mises à jour, mais nous y jetons plus de 10 000 demandes chaque mois.

La plupart des autres territoires sont similaires à cet égard, donc j'imagine que vous n'allez pas trouver un moyen légitime d'accéder aux données zip de la manière que vous souhaitez.

Même si vous pouviez trouver un site qui permettrait une interrogation RESTful de leurs données pour insérer un zip directement dans une feuille de calcul, ils appliqueraient sans aucun doute des limites strictes sur le nombre de requêtes pouvant être effectuées dans une période définie.

Lunatik
la source
0

Il existe quelques services en ligne qui traiteront une feuille de calcul Excel (ou un fichier CSV / délimité par des tabulations) et ajouteront des codes postaux manquants. Le prix peut varier de quelques dollars à 100 $ + selon le fournisseur de services, dont certains ont des frais d'installation, des frais de traitement et des frais de commande urgente.

Certains fournisseurs de services peuvent vous renvoyer le fichier traité en quelques minutes tandis que d'autres qui prétendent que le «traitement accéléré» peut prendre plus de 3 jours ouvrables. Sur la base de votre question, vous ne voulez pas investir dans l'achat de logiciels et dépenser des milliers de dollars pour une solution logicielle sur site. Si tel est le cas, un fournisseur en ligne est votre meilleur choix.

Dans l'intérêt d'une divulgation complète, je suis le fondateur de SmartyStreets. Nous proposons une vérification d'adresse en ligne entièrement automatisée . Vous pouvez faire glisser et déposer votre fichier Excel sur notre site Web et nous le ferons traiter et vous le retourner dans environ une minute ou deux selon la taille.

Jonathan Oliver
la source