XL 2010 JOINDRE UNE CONDITION SI DANS UNE SUITE D'INDEX

br44

XLDnaute Impliqué
Bonjour le forum , je me permet de revenir vers vous pour une petite question ? voilà j'ai écrit cette formule : *

=INDEX(P44:AA53;EQUIV(A483;Q44:Q53;0);1);(INDEX(P59:AA68;EQUIV(A483;Q59:Q68;0);1));INDEX(P73:AA82;EQUIV(A483;Q73:Q82;0);1);INDEX(P87:AA96;EQUIV(A483;Q87:Q96;0);1);INDEX(P102:AA111;EQUIV(A483;Q102:Q111;0);1);INDEX(P116:AA120;EQUIV(A483;Q116:Q120;0);1) pour recherche le résultats de la cellule A483 dans le bon index .je souhaiterais qu'il passe d'un index à 'autre si il de ne trouve pas la correspondance exact ?

Pour l'exemple la valeur rechercher (A483) se situe dans le deuxième index ici en bleu . se qui me donnerais si A 483 est dans le premier , alors affiche le résultat sinon passe à la recherche suivantes et ainsi de suite ,

il me faut juste la clé où la bonne syntaxe pour faire la liaison des deux fonction entre la condition et la recherche .

en vous remerciant par avance et en espérant que je sois claire je vous souhaites une excellentes journée . Br44
 
Solution
Bonjour,

Essayez ceci
VB:
=SIERREUR(INDEX(P44:AA53;EQUIV(A483;Q44:Q53;0);1);
SIERREUR(INDEX(P59:AA68;EQUIV(A483;Q59:Q68;0);1);
SIERREUR(INDEX(P73:AA82;EQUIV(A483;Q73:Q82;0);1);
SIERREUR(INDEX(P87:AA96;EQUIV(A483;Q87:Q96;0);1);
SIERREUR(INDEX(P102:AA111;EQUIV(A483;Q102:Q111;0);1);
SIERREUR(INDEX(P116:AA120;EQUIV(A483;Q116:Q120;0);1);""))))))

Cdlt

Rouge

XLDnaute Impliqué
Bonjour,

Essayez ceci
VB:
=SIERREUR(INDEX(P44:AA53;EQUIV(A483;Q44:Q53;0);1);
SIERREUR(INDEX(P59:AA68;EQUIV(A483;Q59:Q68;0);1);
SIERREUR(INDEX(P73:AA82;EQUIV(A483;Q73:Q82;0);1);
SIERREUR(INDEX(P87:AA96;EQUIV(A483;Q87:Q96;0);1);
SIERREUR(INDEX(P102:AA111;EQUIV(A483;Q102:Q111;0);1);
SIERREUR(INDEX(P116:AA120;EQUIV(A483;Q116:Q120;0);1);""))))))

Cdlt
 

Rouge

XLDnaute Impliqué
Avec SI
Si TEST_1=VRAI, TEST_1,
Si TEST_2 = VRAI, TEST_2,
Si TEST_3 = VRAI, TEST_3, etc...
Sinon ""

Si le test est vrai, il faut recopier la condition, sinon on passe au suivant, et ce pour chaque condition
Ce qui donne dans votre cas pour les 3 première conditions:
=SI(INDEX(P44:AA53;EQUIV(A483;Q44:Q53;0);1)=vrai;INDEX(P44:AA53;EQUIV(A483;Q44:Q53;0);1);
SI(INDEX(P59:AA68;EQUIV(A483;Q59:Q68;0);1)=vrai;INDEX(P59:AA68;EQUIV(A483;Q59:Q68;0);1)
SI(INDEX(P73:AA82;EQUIV(A483;Q73:Q82;0);1)=vrai;INDEX(P73:AA82;EQUIV(A483;Q73:Q82;0);1); "")

Avec SIERREUR
SIERREUR TEST_1,
SIERREUR TEST_2 ,
SIERREUR TEST_3 , etc...
sinon ""

Ce qui donne dans votre cas pour les 3 première conditions:
=SIERREUR(INDEX(P44:AA53;EQUIV(A483;Q44:Q53;0);1);
SIERREUR(INDEX(P59:AA68;EQUIV(A483;Q59:Q68;0);1);
SIERREUR(INDEX(P73:AA82;EQUIV(A483;Q73:Q82;0);1);
""

la différence: Avec SI, on teste la condition, si elle est vraie, on recopie la condition et on s'arrête là , si elle est FAUSSE, on passe à la condition suivante, etc...
SIERREUR est simple d'utilisation et permet raccourcir les formules avec une lecture plus claire.

Voilà
 

Statistiques des forums

Discussions
312 214
Messages
2 086 313
Membres
103 175
dernier inscrit
abcc