[Excel] Conditions et recherche

Résolu
Labrys -  
 Labrys -
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

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  2. Labrys
     
    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
  3. Labrys
     
    (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