User1282637 demande s'il existe un moyen d'accomplir cette tâche et demande de l'aide pour le faire. Le problème, ce n’est pas tant la mécanique Excel que la manière de traiter l’ambiguïté des données. L'analyse du code postal et de la description est simple (à moins que vous ne combiniez des codes ZIP à 5 et 9 chiffres). Le problème difficile est de séparer la rue de la ville, alors je vais me concentrer sur cela. Cela ne constitue pas une procédure étape par étape avec les formules Excel. Il s'agit simplement de partager un aperçu du problème et de décrire une approche permettant d'obtenir un résultat pour le plus difficile.
Le problème est qu'il n'y a pas de délimiteurs entre les différents champs. Ce n'est pas un problème pour enlever la description ou ZIP car ceux-ci sont facilement identifiables. Le problème consiste à déterminer où la rue se termine et la ville commence. Considérez ces variations dans la portion Street (loin d’une liste exhaustive):
120 Lemon Street
120 Lemon Drop Street
120 Lemon Street NW
120 East Lemon Street
120 Lemon Street Apt 3
Le nombre de "mots" dans la rue peut varier de 1 ou 2 à 7 ou 8, ce qui n'est pas utile pour l'analyse. La rue "type" n'est pas particulièrement utile. Il y a de l'ordre de 50-100 mots utilisés uniquement pour le type de rue (rue, avenue, boulevard, voie, péage, voie, cour, cercle, terrasse, etc.). Combinez cela avec l'utilisation d'abréviations pour le type de rue, à la fois correct et incorrect, et la liste est dans les centaines. De plus, cette désignation n'est pas toujours le dernier mot dans le champ de la rue. La rue étant la partie la plus difficile à identifier, l'approche logique consiste donc à identifier le reste, le reste étant la rue.
La ville peut être plusieurs mots. Washington Court House, OH est trois mots. Ensuite, considérons des situations comme St Marys, OH. Le "St" fait-il partie du nom de la ville ou d’une désignation de type de rue; dans quel domaine va-t-il? Ou Sud Euclid, OH - "Sud" fait-il partie du nom de la ville ou est-il une direction faisant partie de l'adresse de la rue? La ville a ses problèmes mais il existe un moyen de les résoudre.
Même en utilisant le code postal pour identifier la ville a des problèmes. Il n'y a pas toujours de correspondance 1: 1 entre le nom de la ville et le code postal.
Le moyen le plus pratique d’attaquer le problème consiste à utiliser des "dictionnaires": une liste de villes et un répertoire ZIP Code. Ce sont la partie la plus non ambiguë de l'adresse. Ceux-ci peuvent être trouvés en ligne ou du service postal. Pour faire des comparaisons, vous devrez peut-être nettoyer vos données ou les listes. Ils auront besoin du même style de capitalisation et tout espace supplémentaire dans vos données empêchera une correspondance exacte.
Si vos données ou la liste utilise des abréviations, vous devrez vous en occuper. Vous pouvez soit traduire l’abréviation non abrégée en abréviations standard, soit effectuer une correspondance secondaire avec un dictionnaire d’abréviations (également disponible en ligne ou au service postal), lorsque ces différences sont trouvées.
Le ZIP peut être facilement analysé, et c'est un bon point de départ. Effectuez une recherche de code postal dans le répertoire de codes postaux. Si le résultat correspond exactement à une chaîne de mots précédant immédiatement le ZIP, cela identifie la partie de l'enregistrement qui est le champ de la ville.
S'il n'y a pas de correspondance exacte ou non ambiguë, passez à une comparaison des noms de ville. Parcourez la liste des noms de ville. Pour chaque nom, déterminez le nombre de mots qu'il contient et comparez-le au nombre de mots précédant immédiatement le ZIP.
Si vous obtenez une correspondance par l'un ou l'autre processus, tout ce qui reste à gauche de la ville correspond à l'adresse de la rue.
Ce type d'application est beaucoup plus facile à faire avec une application de base de données qu'avec un tableur. Quoi qu'il en soit, vous pouvez voir que tenter de le faire de manière automatisée n’est pas une tâche simple. Vous ne pouvez pas le faire avec quelques formules de tableur.
Quelle que soit la rigueur de votre programmation, il est probable que vous ayez toujours des enregistrements que vous devez analyser manuellement et des erreurs que vous devez corriger manuellement. Vous n'indiquez pas combien d'enregistrements vous avez. Cela peut être moins de travail de simplement le faire manuellement.
Si le nombre est grand et que je devais le faire, je choisirais la liste. Faites correspondre les enregistrements faciles, tels que les correspondances ZIP non ambiguës. Ensuite, laissez la quantité de données régir la progression de la programmation des correspondances automatisées.
Pour les enregistrements laissés, en supposant que vous ayez déjà retiré le ZIP et sa description, voici un moyen d’accélérer le processus manuel. Regardez le dossier et identifiez visuellement le nombre de "mots" dans la ville, ce qui est une tâche mentale rapide. Entrez cela dans une cellule prescrite et utilisez une formule pour diviser la rue de la ville en fonction du nombre d'espaces (séparez à la Nième espace où N = nombre total d'espaces + 1 - nombre de mots du nom de la ville).