[RESOLU] Problème avec la fonction RECHERCHEV

servela

XLDnaute Nouveau
Bonjour,
Dans le cadre d'une analyse sur la saison cycliste à venir, j'ai récupérer des informations que j'aimerais traiter.
En 1ère partie, la liste des coureurs partants pour 2012, et leur valeur estimée.
En 2ème partie, la liste des coureurs et leur résultats sur la saison 2011.

J'aimerais, pour chaque coureur de 2012, savoir combien de points il a obtenu la saison précédente.
J'utilise pour ça la fonction RECHERCHEV :
Par exemple, pour Philippe Gilbert, je fait :
=RECHERCHEV(A2;$G$2:$L$715;6), et j'obtiens 3, à ma grande surprise (je suis incapable de savoir comment excell peut me renvoyer une tel valeur), alors que le résultat correcte est 1453.

Bref, je patauge.

Les point de la saisons 2011 se trouvent dans la colonne L, à l'exception de ceux qui ont un nom de famille " composé " (ca décale tout pour eux, faut encore que je m'attelle à ce problème).

Merci pour votre aide.

Cordialement, servela.
 

Fichiers joints

Dernière édition:

servela

XLDnaute Nouveau
Re : Problème avec la fonction RECHERCHEV

Bonsoir CB60,

Merci beaucoup (pour la rapidité de ta réponse et son exactitude)! Ca fonctionne !
Une explication de ce que ce 0 apporte et corrige à ma formule ?


Maintenant, si quelqu'un a une solution pour le problème de colonne pour les noms composé, je suis preneur aussi. Est-ce possible de corriger cet alignement avec une macro ?
 

Staple1600

XLDnaute Barbatruc
Re : Problème avec la fonction RECHERCHEV

Bonsoir


0=FAUX

Et pour savoir tout sur RECHERCHEV ne pas hésiter: appuie sur la touche F1 ;)
 

CB60

XLDnaute Barbatruc
Re : Problème avec la fonction RECHERCHEV

Re
tu peux tester cela en D2 et tirer vers le bas
=SI(NBCAR(A2)-NBCAR(SUBSTITUE(A2;" ";""))=4;INDEX(DECALER($L$2:$L$715;;2);EQUIV(A2;$G$2:$G$715;0));SI(NBCAR(A2)-NBCAR(SUBSTITUE(A2;" ";""))=3;INDEX(DECALER($L$2:$L$715;;1);EQUIV(A2;$G$2:$G$715;0));INDEX($L$2:$L$715;EQUIV(A2;$G$2:$G$715;0))))
 

servela

XLDnaute Nouveau
Re : Problème avec la fonction RECHERCHEV

Re,

Encore merci,
Il me dit qu'il y a une erreur dans ta formule, et si j'accepte la correction d'Excel, aucun changement par rapport à ta solution précédente.
 

servela

XLDnaute Nouveau
Re : Problème avec la fonction RECHERCHEV

A mon avis, c'est moi qui doit mal te comprendre, ou alors quelquechose m'échappe.
Quel différence y-a-t-il entre le résultat apporté par
=RECHERCHEV(A2;$G$2:$L$715;6;0)
et celui apporté par
=SI(NBCAR(A2)-NBCAR(SUBSTITUE(A2;" ";""))=4;INDEX(DECALER($L$2:$L$715;;2);EQUIV(A2;$G $2:$G$715;0));SI(NBCAR(A2)-NBCAR(SUBSTITUE(A2;" ";""))=3;INDEX(DECALER($L$2:$L$715;;1);EQUIV(A2;$G $2:$G$715;0));INDEX($L$2:$L$715;EQUIV(A2;$G$2:$G$7 15;0))))
??

La seconde formule est bien plus complexe (et pas qu'un peu), je me dis donc que tu as fait ça dans le but de résultats plus complets (je me trompe ?) or (mais c'est sans doute là que je me trompe) je ne vois aucune différence apparente (et m'interroge donc sur le fait d'avoir pondu un tel casse-tête pour un résultat équivalent). J'attends ta lumière sur ce point.

La première partie de mon problème, c'était au niveau de la formule, et c'est maintenant réglé (mais déjà avec ta première " simple " solution, je t'en remercie).

Le second problème que j'ai pour pouvoir concrètement traité les données, c'est au niveau des Noms. En effet, j'ai à la base intégrer les données par importations depuis un document texte, en choisissant délimité - par espace - afin de les placer dans les cellules. Ce qui a eu pour conséquence que, pour un coureur comme par exemple Guillaume VAN KEIRSBULCK (3 string), ses résultats sont décalés de 1 colonne, par rapport à la norme (2 string). Pour un coureur comme Koldo FERNANDEZ DE LARREA (4 string), ses résultats sont décalés de 2 colonnes.
Et donc, au niveau des résultat en appliquant la formule, ne devrait être " N/A " que les coureurs qui n'ont pas couru en 2011, ou bien ceux qui n'ont pas pris de point au cours de cette année.
Or a ceux-là s'ajoute tous les coureurs qui ont un prénom + nom supérieur à 2 string, qui ne sont pas pris en compte, vu que leur résultat est hors-champs "normal" je dirais.

Voila j'espère que c'est plus claire, merci pour ton aide en tous cas.
 

Alminar

XLDnaute Nouveau
Re : Problème avec la fonction RECHERCHEV

=RECHERCHEV(A2;$G$2:$L$715;6;FAUX)
si tu ne renseignes pas le quatrieme champ les resultats peuvent etre surprenant, faux te permet s de ne pas avoir de resultats approchants mais la reponse exacte ou pas de réponse.
 

CB60

XLDnaute Barbatruc
Re : Problème avec la fonction RECHERCHEV

Bonjour
sur le fichier je commence par rechercher le nombre d'espace en colonne A grace à:
NBCAR(A2)-NBCAR(SUBSTITUE(A2;" ";""))=4
si il y a 4 espaces je recherche le nom equivalent à A2 dans la colonne G grace à :
EQUIV(A2;$G$2:$G$1010;0))
et decale la colonne L de 2 grace à :
INDEX(DECALER($L$2:$L$1010;;2);
si je n'ai pas 4 espaces, je recherche si il y en a 3 et j'utilise la suite de la formule, enfin si les conditions 4 ou 3 espaces ne sont pas validés je prend en compte la colonne L.
La formule est beaucoup plus longue seulement pour gerer les noms composés
 

JNP

XLDnaute Barbatruc
Re : Problème avec la fonction RECHERCHEV

Bonjour le fil :),
Je suis plutôt parti sur la base de corriger les données de base, donc j'ai inséré deux colonnes H et J.
Pour récupérer le nom complet en H :
Code:
=J2&" "&K2&SI(NBVAL(O2:Q2)>0;" "&L2;"")&SI(NBVAL(O2:Q2)>1;" "&M2;"")&SI(NBVAL(O2:Q2)>2;" "&N2;"")
Les valeurs de NBVAL me permettent de vérifier si il y a plus de colonnes dû à l'éclatement des données, et à concaténer la totalité du nom :p...
Pour récupérer les points en I :
Code:
=DECALER(N2;;NBVAL(O2:Q2))
DECALER me permet d'aller chercher la dernière valeur de l'éclatement ;)...
Du fait, tu peux récupérer les points en D avec :
Code:
=SIERREUR(INDEX($I$1:$I$715;EQUIV(A2;$H$1:$H$715;0));"")
ESTERREUR (qui n'existe pas en 2003, mais tu es en 2007...) permet de ne pas afficher le #NA! et renvoit "" (tu peux mettre 0 si tu préfères), et je préfère le couple INDEX/EQUIV à RECHERCHEV :rolleyes:...
Ton fichier joint, voit si ça te convient :).
Bon dimanche :cool:
 

Fichiers joints

JNP

XLDnaute Barbatruc
Re : Problème avec la fonction RECHERCHEV

Re :),
si il y a 4 espaces je recherche le nom equivalent à A2 dans la colonne G grace à :
C'est ici qu'est le soucis, car en A2, tu as 3, 4 ou 5 prénoms/noms, alors qu'en G, tu n'as que 2 prénoms/noms concaténés, donc EQUIV ne peux pas trouver la valeur exacte :rolleyes:...
Bon dimanche :cool:
 

JNP

XLDnaute Barbatruc
Re : Problème avec la fonction RECHERCHEV

Re :),
Tu as bien tout compris, mais il faudrait concaténer en conditionnel dans la formule pour l'EQUIV :rolleyes:...
D'où mes colonnes intermédiaires pour éviter une formule de 3km :p...
Bon dimanche :cool:
 

servela

XLDnaute Nouveau
Re : Problème avec la fonction RECHERCHEV

Merci beaucoup les amis !
JNP, c'est parfait, un grand grand merci !
CB60, un tout grand merci également pour ta précieuse aide, et désolé d'avoir été peu claire dans un premier temps.
Enfin, merci pour vos explications. Ce forum est un véritable plaisir, c'est agréable de voir des gens partager leur savoir de la sorte.

Bonne fin de week-end à tous :)
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas