Incrémentation formule matricielle

tikazor -  
 tikazor -
Bonjour,

j'ai cette formule matricielle qui n'est pas de moi

=INDEX(val;PETITE.VALEUR(SI(ref=$F$2;LIGNE(INDIRECT("1:"&LIGNES(ref))));LIGNES($1:1)))

je recherche les valeurs dans"val" selon une condition correspondant à une liste dans "ref".
cela permet d'extraire multiple réponse.

lorsque je fais la démarche classique de validation de formule + incrémentation vers le bas tout se passe bien.

sauf que j'aimerai bien incrémenter vers la droite mais que la formule matricielle se résout comme si je déroulais vers le bas.

et là je sèche! y a t'il une solution possible? j'imagine qu'il faut agir sur cette partie de la formule "LIGNES($1:1)"


Cordialement
A voir également:

2 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour

Par exemple si ta 1ere cellule de retour est E2 Il faut remplacer LIGNES($1:1)
par COLONNES($E2:E2)

De plus pour que ta formule ne renvoie pas une erreur dans les dernières colonnes tu peux l'encadrer par un SIERREUR( ta formule;"")

Cdlmnt
Via
0
tikazor
 
je déambule sur les forums excel depuis quelques semaines maintenant, et merci à vous car vous êtes rapides, concis et efficace encore une réponse qui m'enlève une épine du pied. merci via55
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

pour incrémenter vers le bas

=SIERREUR(INDEX(val;PETITE.VALEUR(SI(ref=$D$4;LIGNE(INDIRECT("1:"&LIGNES(ref))));LIGNES($1:1)));"")

pour incrémenter vers la droite

=SIERREUR(INDEX(val;PETITE.VALEUR(SI(ref=$D$4;LIGNE(INDIRECT("1:"&LIGNES(ref))));LIGNES($1:1)+COLONNE()-8));"")

attention à la cellule de départ si elle est en colonne H par exemple
COLONNE() te retour 8 il faut qu'elle te retourne 0 donc COLONNE()-8
si ta première formule est en colonne C il faut veiller a avoir COLONNE()- ? =0 soit COLONNE()-3

ou simplement remplacer LIGNES($1:1)+COLONNE()-8 par COLONNE(A1)
=SIERREUR(INDEX(val;PETITE.VALEUR(SI(ref=$D$4;LIGNE(INDIRECT("1:"&LIGNES(ref))));COLONNE(A1)));"")
0