[Excel] Conditions et recherche

Résolu/Fermé
Labrys - 6 juil. 2009 à 10:45
 Labrys - 6 juil. 2009 à 11:25
Bonjour, sur Excel, je cherche à comparer le contenu d'une cellule (G2) à une liste de montant que j'ai dans un tableau sur la même feuille (Z3:Z12).

Je désire effectuer une formule qui me permettrait d'afficher le montant contenu dans G2 s'il se trouve dans Z3:Z12, ou qu'il ne me mette rien ("") si le montant ne s'y trouve pas.

J'ai finté avec [quote]=SI(G2=INDEX(W$7:W$12;1);G2;SI(G2=INDEX(W$7:W$12;2);G2;SI(G2=INDEX(W$7:W$12;3);G2;SI(G2=INDEX(W$7:W$12;4);G2;SI(G2=INDEX(W$7:W$12;5);G2;SI(G2=INDEX(W$7:W$12;6);G2;""))))))[/quote], mais la formule et lourde, et mon tableau va gagner en lignes, ce qui deviendrait fastidieux à modifier...


Une idée de la marche à suivre afin de faciliter la formule?

Merci d'avance,

Labrys.

3 réponses

eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 235
6 juil. 2009 à 11:08
Bonjour,

Oulalaaa !!! ;-)

Déjà tu ne peux mettre dans une formule sa propre référence (référence circulaire) à moins de savoir exactement ce que tu fais.
Il faut mettre dans une autre cellule que G2 :
=SI(NB.SI(Z3:Z12;G2)>0;G2;"")

Ou bien il faut utiliser une formule de validation dans G2 (menu 'données'), et choisir 'liste'.
Le mieux est de nommer la plage et de mettre =nom_de_la_plage dans 'source'.
Ca te donnera une liste déroulante qui obligera à choisir une valeur correcte.

eric
1
J'ai testé la formule suivante:

=SI(RECHERCHEV(G2;Z3:Z12;1)=G2;RECHERCHEV(G2;Z3:Z12;1);"")

Qui m'affiche, lorsque G correspond à une des valeurs, G2, mais le hic, que je ne comprend pas, c'est que lorsque G2=Z3, ça marche, si G2=Z7, ça marche, mais si G2=Z9, ça marche plus, mais si G2=Z10, ça remarche...

J'ai tester de me jetter par la fenêtre, mais ça n'a pas résolu le problème, sûrement du au fait que je suis au rez de chaussé.
0
(Ma formule était posée en J3, tinquiètes pas :p)

J'ai testé le =SI(NB.SI(Z3:Z12;G2)>0;G2;"") , qui, tout simple soit-il, marche très bien.

Merci beaucoup de la rapidité, et bonne continuation.
0