Incrémentation formule matricielle

Fermé
tikazor - 19 avril 2020 à 11:56
 tikazor - 19 avril 2020 à 16:16
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 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
19 avril 2020 à 13:42
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
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 18345 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 novembre 2024 5 104
Modifié le 19 avril 2020 à 14:17
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