Recherchev : erreur

Résolu/Fermé
GC - 6 sept. 2016 à 22:22
 GC - 12 sept. 2016 à 15:10
Bonjour,

Description du fichier

dans la colonne I de 1 à 30, j'ai des numéros de 1 à 30
dans la colonne J de 1 à 30, j'ai des noms (ici juste A,B,C pour l'exemple)
dans la colonne K de 1 à 30, une formule =ALEA()
dans la colonne L de 1 à 30, une formule =RANG(K1;$K$1:$K$30;2)


I | J | K | L
1 1 |A |=ALEA() |=RANG(K1;$K$1:$K$30;2)
2 2 |B | =ALEA() |=RANG(K2;$K$1:$K$30;2)
3 3 |C| =ALEA() |=RANG(K3;$K$1:$K$30;2)
......


Dans B1, j'ai écris ceci :
=RECHERCHEV(I1;$J$1:$L$30;1)
ou
=RECHERCHEV(1;$J$1:$L$30;1)
J'ai une erreur.

Par contre, si j'écris ceci dans B1
=RECHERCHEV(L1;$I$1:$J$30;2) 
cela fonctionne.

Pourriez-vous m'expliquer pourquoi ?

Merci

6 réponses

Raymond PENTIER Messages postés 58395 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 094
7 sept. 2016 à 01:33
Parce que :
- dans la première formule tu recherches I1 (donc "A") qui n'existe pas dans la plage $J$1:$L$30
- dans la deuxième formule tu recherches la donnée "1", qui n'a aucune raison de figurer dans la colonne J:J
- dans la troisième formule tu recherches le contenu de la deuxième colonne de la plage (donc dans la colonne J:J) qui correspond à la valeur de la colonne L. Tu as donc un résultat, mais je ne suis pas certain que ce soit celui que tu voudrais ...
0
Bonjour,
effectivement, je veux récupérer le nom dans la colonne J dont le rang de la colonne L est égal au nombre de la colonne I.
Je ne sais pas si je suis clair ?

Exemple : I1=1 donc je cherche dans L la valeur 1, disons L8, puis je récupère le nom dans la colonne J, ici J8.

Merci
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 7/09/2016 à 12:10
Bonjour,

complète ta formule en ajoutant à la fin soit ;0 ou ;FAUX
cette formule rapatrie les données de la deuxième colonne à partir de la colonne de recherche soit colonne J
=RECHERCHEV(L1;$I$1:$L$30;2;0)

puis pour rapatrier les données de la troisième colonne soit K
=RECHERCHEV(L1;$I$1:$L$30;3;0)
A+
Mike-31

Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
0
Bonjour,
Je n'ai pas compris ce qu'apporte les formules même en les testant.
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 9/09/2016 à 11:53
Re,

Prenons cet exemple
=RECHERCHEV(L1;$I$1:$L$30;2;0)

=RECHERCHEV(L1 L1 est la cellule contenant le critère de recherche
$I$1:$L$30 est la matrice ou la plage de recherche, il est impératif que la première borne de la matrice soit dans la colonne ou se trouve le critère recherché donc le critère doit être en colonne $I$
;2; est la colonne dans la matrice après la colonne ou se trouve le critère, si $I$ est la première colonne de ta matrice et que tu cherches à rapatrier les données de la colonne J tu saisis 2 si tu veux rapatrier les données de la colonne K par exemple tu mets 3 etc... sachant que tu ne peux aller au delà de la colonne 4 qui est la colonne L de ta matrice et la dernière déclarée $L$30
;0) ou ;FAUX) si le critère recherché colonne I n'est pas dans un ordre croissant tu auras un retour erroné d’où ce ;0) ou ;FAUX) en fin de formule pour permettre à la syntaxe RECHERCHEV de fonctionner normalement
A+
Mike-31

Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
0
Bonjour

il est impératif que la première borne de la matrice soit dans la colonne

Ok merci
0