Rapporter une série de données d'une liste selon la première colonne ?

epfyffer

XLDnaute Nouveau
Bonjour,

Désolé de ce titre peu clair mais je n'ai pas trouvé mieux...

J'ai un tableau de 3 colonnes (Catégorie, Produit, Quantité) classé ou plutôt regroupé par Catégorie. A l'intérieur de ces catégories peuvent aparaître 1 à N produits (variables car c'est le résultat d'un query sur une base de données). Chaque Produit a un nombre associé correspondant au stock.

Pour un besoin d'avanyse je cherche à remplir une plage de cellules (utilisées comme source de mon graphique de style camembert) en fonction du choix de la catégorie fait par l'utilisateur (par défaut ce choix est le nom de la catégorie et cela vient écrit dans une cellule (C2). Cette plage de données devrait ne contenir que les X lignes pour lesquelles la colonne Catégorie match avec le choix de l'utilisateur.

Je tourne en rond car le MATCH ne me retourne que la première ligne qui correspond, et les LOOKUP et VLOOKUP aussi ne me retournent pas ce que je cherche (VLOOKUP reproduit la première ligne qui match...):

Comme je ne suis pas un spécialiste et que mon besoin semble assez basique (c'est un filtre en fait) je voulais savoir si vous pouviez m'aiguiller en complétant mon fichier d'exemple ???

Merci BEAUCOUP d'avance :)
 

Pièces jointes

  • liste.xls
    17 KB · Affichages: 74
  • liste.xls
    17 KB · Affichages: 74
  • liste.xls
    17 KB · Affichages: 74

wilfried_42

XLDnaute Barbatruc
Re : Rapporter une série de données d'une liste selon la première colonne ?

Bonjour

Formule Matricielle à mettre en E2 et à valider avec CTRL + SHIFT + Entrée
Tirer la formule vers le bas
=SI(PETITE.VALEUR(SI($D$16:$D$28=$C$2;LIGNE($D$16:$D$28);99999);LIGNE()-1)=99999;"";DECALER($E$1;PETITE.VALEUR(SI($D$16:$D$28=$C$2;LIGNE($D$16:$D$28);99999);LIGNE()-1)-1;0))
 

Discussions similaires

Réponses
7
Affichages
377