M'aider sur RECHERCHV
Résolu
romanza
Messages postés
249
Date d'inscription
Statut
Membre
Dernière intervention
-
romanza Messages postés 249 Date d'inscription Statut Membre Dernière intervention -
romanza Messages postés 249 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite renseigner dans le TABLEAU 1 les colonnes "Zone" et "Ville centrale" à partir de la valeur "code postal" que je retrouve également dans le TABLEAU 2.
J'ai essayé d'utiliser la fonction RECHERCHV mais les résultats attendus sont faux.
Je vous joins mon fichier : https://www.cjoint.com/?3AjsEiXmJ42
NB : certains codes postaux sont incomplets.
merci à vous
je souhaite renseigner dans le TABLEAU 1 les colonnes "Zone" et "Ville centrale" à partir de la valeur "code postal" que je retrouve également dans le TABLEAU 2.
J'ai essayé d'utiliser la fonction RECHERCHV mais les résultats attendus sont faux.
Je vous joins mon fichier : https://www.cjoint.com/?3AjsEiXmJ42
NB : certains codes postaux sont incomplets.
merci à vous
A voir également:
- M'aider sur RECHERCHV
- Des problèmes sont survenus lors de l'installation des mises à jour, mais nous réessaierons ultérieurement. si le problème persiste et que vous souhaitez rechercher des informations sur internet ou contacter l'assistance pour en obtenir, ceci peut vous aider : (0x80070005) - Guide
- En préparant son diaporama, tom a pris quelques notes qui l'aideront lors de sa présentation. quand il présentera l'âne, il a prévu de raconter une anecdote sur cet animal. comment s'appelle l'âne de son histoire ? - Forum Powerpoint
- Quel logiciel peux aider mixcraft davoir un bon resultat - Forum Loisirs / Divertissements
- Aider un ami à récupérer son compte facebook - Guide
- Appel de notes et calques différents InDesign - Forum InDesign
14 réponses
Bonsoir,
le résultat n'est pas faux, il correspond à la 1ère occurrence rencontrée en fonction de la cellule de référence.
tel est le résultat si les données ne sont unique dans la base de recherche.
De plus n'ayant pas de données au delà du code commune 08531 la recherche sur Zip 14, 16 ... ne peut aboutir.
@+
le résultat n'est pas faux, il correspond à la 1ère occurrence rencontrée en fonction de la cellule de référence.
tel est le résultat si les données ne sont unique dans la base de recherche.
De plus n'ayant pas de données au delà du code commune 08531 la recherche sur Zip 14, 16 ... ne peut aboutir.
@+
Bonsoir,
Merci pour votre retour mais je ne comprends pas.
Si vous recopiez la formule vers le bas, vous verrez qu'apparait "Vendée" avec des codes postaux ou début de codes postaux qui ne correspondent pas.
Il y a plus de 11000 enregistrements pour les codes postaux dans le tableau 2. Il n'en manque pas
Merci
Merci pour votre retour mais je ne comprends pas.
Si vous recopiez la formule vers le bas, vous verrez qu'apparait "Vendée" avec des codes postaux ou début de codes postaux qui ne correspondent pas.
Il y a plus de 11000 enregistrements pour les codes postaux dans le tableau 2. Il n'en manque pas
Merci
Bonsoir,
Je te propose ces 2 formules matricielles :
Cordialement
Je te propose ces 2 formules matricielles :
=INDEX($J$5:$J$11463,EQUIV(TEXTE(--$A5,"000"),GAUCHE($E$5:$E$11463,3),0))et
=INDEX($K$5:$K$11463,EQUIV(TEXTE(--$A5,"000"),GAUCHE($E$5:$E$11463,3),0))Il faut les valider par CTRL+MAJ+ENTER (et remplacer mes options régionales par les françaises).
Cordialement
Bonjour romanza.
RECHERCHEV est une fonction très puissante, mais qui exige des règles strictes pour marcher correctement :
- il ne faut pas de ligne vide
- le critère de recherche doit être dans la colonne la plus à gauche
- cette colonne contenant les critère ne doit contenir aucun doublon.
Dans ton cas, cette troisième condition n'est pas du tout remplie !
De plus l'affichage "Vendée" est normal, puisqu'en ligne 10, la formule recherche la valeur associée au contenu de la cellule A10, qui est 14 ; or dans ta colonne E il n'existe pas de COM_CT ayant le N°14 ; donc la fonction affiche la dernière valeur de la plage E5:K11463 c'est-à-dire Vendée !
RECHERCHEV est une fonction très puissante, mais qui exige des règles strictes pour marcher correctement :
- il ne faut pas de ligne vide
- le critère de recherche doit être dans la colonne la plus à gauche
- cette colonne contenant les critère ne doit contenir aucun doublon.
Dans ton cas, cette troisième condition n'est pas du tout remplie !
De plus l'affichage "Vendée" est normal, puisqu'en ligne 10, la formule recherche la valeur associée au contenu de la cellule A10, qui est 14 ; or dans ta colonne E il n'existe pas de COM_CT ayant le N°14 ; donc la fonction affiche la dernière valeur de la plage E5:K11463 c'est-à-dire Vendée !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir à vous,
Je ne reprends mes messages que ce soir.
Je vous remercie pour vos retours.
Je vais prendre le temps de regarder ce que vous proposez et reviens vers vous.
Bonne soirée
Je ne reprends mes messages que ce soir.
Je vous remercie pour vos retours.
Je vais prendre le temps de regarder ce que vous proposez et reviens vers vous.
Bonne soirée
Bonsoir,
JvDo, si je copie la 1ère formule dans B5, cela ne fonctionne pas.
J'ai fait CTRL+MAJ+ENTER et excel m'indique que ma formule contient une erreur.
@+
JvDo, si je copie la 1ère formule dans B5, cela ne fonctionne pas.
J'ai fait CTRL+MAJ+ENTER et excel m'indique que ma formule contient une erreur.
@+
Bonsoir,
J'ai remplacé les virgules par des points virgules, cela fonctionne jusque la ligne 14
puis #N/A de la ligne 15 à 20
puis c'est OK de 21 à 64
puis #N/A de 65 à 74
puis OK de 75 à 160
puis #N/A de 161 à 163
OK de 164 à 176
Puis #N/A jusqu'au bout
J'ai remplacé les virgules par des points virgules, cela fonctionne jusque la ligne 14
puis #N/A de la ligne 15 à 20
puis c'est OK de 21 à 64
puis #N/A de 65 à 74
puis OK de 75 à 160
puis #N/A de 161 à 163
OK de 164 à 176
Puis #N/A jusqu'au bout
Bonsoir,
Qu'as-tu en colonne A?
Des fois 2 chiffres (n° département?) des fois 3 chiffres, des fois 5 (sans doute un code postal, des fois du texte (un code postal dont le séparateur est un espace) et des fois ..... des trucs bizarres
Pour ce qui ressemble à un code postal, essaye :
Malgré tout, tu trouveras encore des erreurs du fait que tous les CP ne sont pas dans ta table.
Solution : fiabilise tes données.
Cordialement
Qu'as-tu en colonne A?
Des fois 2 chiffres (n° département?) des fois 3 chiffres, des fois 5 (sans doute un code postal, des fois du texte (un code postal dont le séparateur est un espace) et des fois ..... des trucs bizarres
Pour ce qui ressemble à un code postal, essaye :
=RECHERCHEV(TEXTE(SUBSTITUE(A330," ","")*1,"00000"),$I$5:$K$11430,2,FAUX)et
=RECHERCHEV(TEXTE(SUBSTITUE(A330," ","")*1,"00000"),$I$5:$K$11430,3,FAUX)(Là, il n'y a plus de CTRL+MAJ+ENTER. Je me demande d'ailleurs pourquoi je t'ai proposé ces formules matricielles!)
Malgré tout, tu trouveras encore des erreurs du fait que tous les CP ne sont pas dans ta table.
Solution : fiabilise tes données.
Cordialement
ça ne marche pas.
Ne peut-on pas créer à côté de la colonne zip une colonne avec formule qui transformerait (on acceptera cette approximation) :
1) tous les codes postaux incomplets en codes complets : ex 14 devient 14000,
234 devient 23400, 5467 devient 54670
2) les codes postaux avec trop de chiffres, prendre uniquement les 5 premiers chiffres
3) les codes avec un espace type : 14 200 devient 14200
Puis à utiliser cette colonne "toilettée" pour obtenir le résultat voulu.
Merci
Ne peut-on pas créer à côté de la colonne zip une colonne avec formule qui transformerait (on acceptera cette approximation) :
1) tous les codes postaux incomplets en codes complets : ex 14 devient 14000,
234 devient 23400, 5467 devient 54670
2) les codes postaux avec trop de chiffres, prendre uniquement les 5 premiers chiffres
3) les codes avec un espace type : 14 200 devient 14200
Puis à utiliser cette colonne "toilettée" pour obtenir le résultat voulu.
Merci
Qu'est-ce qui ne marche pas?
Sur ton fichier, cette formule ramène 14 029 informations sur 18 400 soit 76%.
Donc ne dit pas que ça ne marche pas.
Tu auras toujours des erreurs puisque ta table de recherche ne contient pas les informations recherchées.
16, 17, 35, 37, 44, 45, 59, 72, 76, 79, 80, 86, 160, 161, 175, 229, 509, 569, ....... sont dans ce cas là avec 4 000 autres lignes.
Avec ce que tu proposes de faire dans une colonne approximative, tu récupèreras un peu plus de 300 erreurs.
Pour qu'il y ait moins d'erreur, il faut soit une règle moins restrictive, soit une table de recherche complétée des valeurs manquantes.
Une idée : pourquoi ne pas rappatrier les infos d'un code postal construit sur le n° de département et un complément présent dans la table.
Ainsi, tous les 59000 qui n'aboutissent nul part serait "redirigés sur le premier 59 présent dans la table, à savoir 59100 qui trouverait Lille.
En faisant ainsi, tu monteras à 15 777 correspondances. Plus que 2700....
Pour les 2 700 encore en erreur, il suffit de regarder les n° de départements correspondants, manquant dans la table.
Et il y en a ..................5 !! à savoir 16, 17, 44, 79, 86.
Imaginons que tu ajoutes à la table ces 5 entrées (avec "000" en plus pour faire un code postal), tu arriveras à 18 400 correspondances sur 18 400
cordialement
Sur ton fichier, cette formule ramène 14 029 informations sur 18 400 soit 76%.
Donc ne dit pas que ça ne marche pas.
Tu auras toujours des erreurs puisque ta table de recherche ne contient pas les informations recherchées.
16, 17, 35, 37, 44, 45, 59, 72, 76, 79, 80, 86, 160, 161, 175, 229, 509, 569, ....... sont dans ce cas là avec 4 000 autres lignes.
Avec ce que tu proposes de faire dans une colonne approximative, tu récupèreras un peu plus de 300 erreurs.
Pour qu'il y ait moins d'erreur, il faut soit une règle moins restrictive, soit une table de recherche complétée des valeurs manquantes.
Une idée : pourquoi ne pas rappatrier les infos d'un code postal construit sur le n° de département et un complément présent dans la table.
Ainsi, tous les 59000 qui n'aboutissent nul part serait "redirigés sur le premier 59 présent dans la table, à savoir 59100 qui trouverait Lille.
En faisant ainsi, tu monteras à 15 777 correspondances. Plus que 2700....
Pour les 2 700 encore en erreur, il suffit de regarder les n° de départements correspondants, manquant dans la table.
Et il y en a ..................5 !! à savoir 16, 17, 44, 79, 86.
Imaginons que tu ajoutes à la table ces 5 entrées (avec "000" en plus pour faire un code postal), tu arriveras à 18 400 correspondances sur 18 400
cordialement
Bonjour,
Merci pour ton aide.
Je vais prendre le temps d'essayer et je te tiens au courant.
Cordialement
Merci pour ton aide.
Je vais prendre le temps d'essayer et je te tiens au courant.
Cordialement
Je ne m'en sors pas.
Peux-tu regarder une solution de compromis.
Je voudrais à minima pouvoir utiliser cette fonctionnalité sur les départements 59 et 44.
Acceptes-tu de me proposer le fichier correspondant à laisser sur ci-joint.com.
Merci
Peux-tu regarder une solution de compromis.
Je voudrais à minima pouvoir utiliser cette fonctionnalité sur les départements 59 et 44.
Acceptes-tu de me proposer le fichier correspondant à laisser sur ci-joint.com.
Merci
j'ai ajouté les départements en I11458:K11462 avec des données loufoques qu'il te faudra corriger.
https://www.cjoint.com/c/CAmozWRnNTo
cordialement
https://www.cjoint.com/c/CAmozWRnNTo
cordialement
Bonsoir,
Je te remercie pour ce super boulot.
Tu as donc dû étoffer ta formule?
Ce que je ne comprends pas, c'est pourquoi il faut déterminer des zones pour 16 par exemple et pas pour 02?
Cordialement.
Je te remercie pour ce super boulot.
Tu as donc dû étoffer ta formule?
Ce que je ne comprends pas, c'est pourquoi il faut déterminer des zones pour 16 par exemple et pas pour 02?
Cordialement.
Bonsoir,
La formule a dû s'épaissir pour tenir compte des 3 ou 4 situations particulières à gérer (longueur du contenu de la colonne ZIP, présence d'espaces, absence de zéros en tête de code) mais ne pouvait fournir de solutions pour les ZIP n'apparaissant pas dans la colonne COM_Codepostal.
En effet, RECHERCHEV() a besoin que la valeur cherchée soit dans la 1ère colonne de la matrice à partie de laquelle on veut récupérer de l'info (Raymond Pentier te l'a expliqué dans un post précédent).
D'où la nécessité de créer les 5 codes manquant dans la table (colonne I, J, K).
Ces codes ont été créés avec une terminaison "000" parce que la formule construisait un ZIP à partir des 2 caractères de gauches (le département a priori) complétés par "000".
J'ai donc créé 16000, 17000, 44000, ....qui n'existent peut-être pas dans la réalité de COM_Codepostal.
Le code 02000 existant dans COM_Codepostal, il n'a pas été nécessaire de le créer.
Cordialement
La formule a dû s'épaissir pour tenir compte des 3 ou 4 situations particulières à gérer (longueur du contenu de la colonne ZIP, présence d'espaces, absence de zéros en tête de code) mais ne pouvait fournir de solutions pour les ZIP n'apparaissant pas dans la colonne COM_Codepostal.
En effet, RECHERCHEV() a besoin que la valeur cherchée soit dans la 1ère colonne de la matrice à partie de laquelle on veut récupérer de l'info (Raymond Pentier te l'a expliqué dans un post précédent).
D'où la nécessité de créer les 5 codes manquant dans la table (colonne I, J, K).
Ces codes ont été créés avec une terminaison "000" parce que la formule construisait un ZIP à partir des 2 caractères de gauches (le département a priori) complétés par "000".
J'ai donc créé 16000, 17000, 44000, ....qui n'existent peut-être pas dans la réalité de COM_Codepostal.
Le code 02000 existant dans COM_Codepostal, il n'a pas été nécessaire de le créer.
Cordialement
Bonjour,
Merci pour ces explications très claires.
Dans la réalité, le code ZIP est associé à un champ qui n'apparait pas dans le tableau 1 correspondant à des volumétries qui évoluent au fil du temps.
Le tableau 1 va être ensuite agencé en tableau croisé dynamique pour avoir la volumétrie par zone (Amiens/Caen/Rouen par ex)
Je vais recevoir régulièrement une mise à jour des chiffres et certainement avec encore des surprises sur la qualité des codes postaux (il s'agit en fait de reports de lecture optique de coupons remplis à la main et parfois donc de manière très approximative comme tu as pu le constater)
Si j'ai bien compris, un fois la nouvelle liste obtenue, il suffira :
1) de ré incrémenter ta formule
2) une fois la valeur erreur N/A apparaissant, aller dans le tableau 2 pour créer les codes postaux XX000 correspondants ainsi que les zone associées.
Autre question : que me conseilles-tu pour approcher ton niveau de maîtrise des formules Excel.
Cordialement
Merci pour ces explications très claires.
Dans la réalité, le code ZIP est associé à un champ qui n'apparait pas dans le tableau 1 correspondant à des volumétries qui évoluent au fil du temps.
Le tableau 1 va être ensuite agencé en tableau croisé dynamique pour avoir la volumétrie par zone (Amiens/Caen/Rouen par ex)
Je vais recevoir régulièrement une mise à jour des chiffres et certainement avec encore des surprises sur la qualité des codes postaux (il s'agit en fait de reports de lecture optique de coupons remplis à la main et parfois donc de manière très approximative comme tu as pu le constater)
Si j'ai bien compris, un fois la nouvelle liste obtenue, il suffira :
1) de ré incrémenter ta formule
2) une fois la valeur erreur N/A apparaissant, aller dans le tableau 2 pour créer les codes postaux XX000 correspondants ainsi que les zone associées.
Autre question : que me conseilles-tu pour approcher ton niveau de maîtrise des formules Excel.
Cordialement
Bonjour,
Le mode opératoire est ok tant que les nouvelles listes présentent les mêmes anomalies que celles gérées par les formules.
Si après ces adaptations, il reste des erreurs, il faudra trouver d'autres formules.
Ce qui te permettra de progresser sur Excel.
"Autre question : que me conseilles-tu pour approcher ton niveau de maîtrise des formules Excel."
Passer du temps sur le forum, essayer de comprendre les trucs et astuces de chacun en les testant, avoir besoin et envie d'améliorer sa façon de travailler, mais y aller doucement quand même pour ne pas se décourager.
Bref, c'est comme pour le vélo : il faut des heures de selle.
Cordialement
Le mode opératoire est ok tant que les nouvelles listes présentent les mêmes anomalies que celles gérées par les formules.
Si après ces adaptations, il reste des erreurs, il faudra trouver d'autres formules.
Ce qui te permettra de progresser sur Excel.
"Autre question : que me conseilles-tu pour approcher ton niveau de maîtrise des formules Excel."
Passer du temps sur le forum, essayer de comprendre les trucs et astuces de chacun en les testant, avoir besoin et envie d'améliorer sa façon de travailler, mais y aller doucement quand même pour ne pas se décourager.
Bref, c'est comme pour le vélo : il faut des heures de selle.
Cordialement