Re : Extraction de données selon deux critères
Salut,
Explication de la formule :
=SI(LIGNES($6:6)<=SOMMEPROD((PlageDate<=Recap!$C$3)*(PlageProd=Recap!$A$3));INDEX(Ventes!A$4:A$9;PETITE.VALEUR(SI((PlageDate<=Recap!$C$3)*(PlageProd=Recap!$A$3);LIGNE(INDIRECT("1:"&LIGNES(Ventes!A$4:A$9))));LIGNES($6:6)));"")
D'abord c'est une formule matricielle @ valider par Ctrl+Maj+Entree et je l'ai adapte pour pouvoir la tirer vers le bas et vers la droite.
cette partie va renvoie une serie d'entiers commencant par quand on tire vers le bas.
SOMMEPROD((PlageDate<=Recap!$C$3)*(PlageProd=Recap!$A$3))
calcule le nombre de valeurs repondants au criteres
ces deux parites sont le test logique.
donc si c'est vrai? ca va passer al 2eme partie de la formule :
INDEX(Ventes!A$4:A$9;PETITE.VALEUR(SI((PlageDate<=Recap!$C$3)*(PlageProd=Recap!$A$3);LIGNE(INDIRECT("1:"&LIGNES(Ventes!A$4:A$9))));LIGNES($6:6)))
qui se compose de ,
Plage de resultats a renvoyer :
tu vas remarquer que juste les lignes qui sont verouilles pas les colonnes pour que les colonnes changent quant on tire vers la droite et que les lignes restent fixes quand on tire vers le bas.
PETITE.VALEUR(SI((PlageDate<=Recap!$C$3)*(PlageProd=Recap!$A$3);LIGNE(INDIRECT("1:"&LIGNES(Ventes!A$4:A$9))));LIGNES($6:6)))
c'est pour voir l'equivalents des lignes des valeurs repondants aux criteres.
si :
(PlageDate<=Recap!$C$3)*(PlageProd=Recap!$A$3)
alors elle renvoie l'equivalent des numeros suivants :
LIGNE(INDIRECT("1:"&LIGNES(Ventes!A$4:A$9)))
car cette derniere genere une suite des entiers dont le minimum est
1 et le maximum est le nombre de ligne de la plage
Ventes!A$4:A$9 .
pourquoi petite.valeur ?? c'est pour commencer de la premiere ligne au derniere ligne.
on peut aussi faire grande.valeur mais ca va renvoyer les resultats en commencant par la derniere ligne.
on a deja parle, c'est pour dire la premiere la deuxieme la troisieme etc....
le
a la fin c'est pour gerer l'erreur quand :
LIGNES($6:6)>SOMMEPROD((PlageDate<=Recap!$C$3)*(PlageProd=Recap!$A$3))
j'espere etre bien claire sur mes explications.
J'aime pas repondre a ce genre de questions car je ne sais pas bien parler le francais ce qui me pose une difficulte et ne me permet pas d'etre bien claire et vous faire comprendre.
Desole pour les accents : je travaille sur un clavier QWERTY US.
Amicalement