Bonjour à tous,
=SIERREUR(INDEX($B$11:$B$16;PETITE.VALEUR(SI($A$11:$A$16="oui";LIGNE($A$11:$A$16)-10);LIGNES($1:1)));"")
sierreur()
petite.valeur retourne un erreur si il n'y n a plus rien.
petite.valeur(ref;n)
retourne la plus petite valeur d'une matrice numérique par ordre n (n=1==>la première plus petite, n=2; la deuxième, etc ....
ligne() délivre le n° de la ligne ou elle est implantée ligne(3)==>3.
lignes($1:1) =1; lignes($1;2) = 2; etc
C'est cette fonction qui va permettre au fur et a mesure qu'on descend d'ordonner petite.valeur.
SI($A$11:$A$16="oui";LIGNE($A$11:$A$16)-10) fonction matricielle qui va renvoyer une matrice du type
si(vrai;faux;vrai;faux; vrai;vrai);{11;12;13;14;15;16}-10)==>si(vrai;faux;vrai;faux; vrai;vrai;11;12;13;14;15;16}-10)
==>si(vrai;faux;vrai;faux; vrai;vrai);{1;2;3;4;5;6}==>{1;faux;3;faux;5;6}
petite.valeur({1;faux;3;faux;5;6};lignes($1:1)
PETITE.VALEUR(SI($A$11:$A$16="oui";LIGNE($A$11:$A$16)-10);LIGNES($1:1)));"")
va renvoyer, au fur et a mesure qu'on descend, les valeurs 1;3;5;6
on aura donc
index($B$11:$B$16;1)
je descends d'une ligne
index($B$11:$B$16;3)
etc
si je descends de plus de 4 lignes, j'ai une erreur, et si erreur me renvoie "" rien
Et si tu combines les lignes et colonnes tu peux faire une liste en ligne, ou transposé une colonne en ligne(et vice versa)
Crdlmt