E me
bonjour,
Dans une colonne "Bâtiment" (D1). j 'ai une liste de plusieurs noms de bâtiment je souhaiterais à l'aide d'une fonction de récupérer une seul fois le noms de chaque bâtiment exemple:
Feuille 1
Colonne D1
Bâtiment
ART TRIBU
ART TRIBU
ART TRIBU
ART TRIBU
CENTRE LOISIRS SANS HEBERGEMENT
CENTRE LOISIRS SANS HEBERGEMENT
CENTRE LOISIRS SANS HEBERGEMENT
CLUB 3EME AGE
CLUB 3EME AGE
CLUB 3EME AGE
Ce que je souhaite sur la feuille 2 c'est :
ART TRIBU
CENTRE LOISIRS SANS HEBERGEMENT
CLUB 3EME AGE
Bonjour Bay,
Un TCD ferait ça très facilement...
A+ Daniel
Bonjour,
Si tu ne souhaites pas te lancer dans les TCD, un ensemble de formules assez simple, sans validation matricielle (pour cela on fait les calculs avec des relais.
On va utiliser la colonne O sur Feuil1 (à masquer ensuite, car elle ne sert qu'à faciliter les calculs sur l'autre feuille).
En O1 : =SOMMEPROD(1/NB.SI(D2:D223;D2:D223))
Formule classique pour avoir le nombre de bâtiments.
En O2 : =SI(NB.SI($D$1:D2;D2)=1;EQUIV(D2;$D$1:D223;0);"")
Et on la tire vers le bas jusqu'en 223.
Celle-ci, pour chaque bâtiment différent, lorsqu'il apparaît dans la liste pour la première fois va tout simplement nous indiquer sur quelle ligne il apparaît (pour les apparitions suivantes elle n'indique rien).
Feuil2 maintenant :
En A2 : =SI(LIGNE()-1<=Feuil1!$O$1;LIGNE()-1;"")
Elle va mettre, en la tirant vers le bas, des numéros à partir de 1 jusqu'à atteindre le nombre total de bâtiments différents calculé. Au-delà elle ne met plus de numéros.
En B2 : =SI(A2<>"";INDEX(Feuil1!$D$1:$D$223;PETITE.VALEUR(Feuil1!$O$2:$O$223;A2));"")
On la tire aussi vers le bas. Elle chercher les numéros de ligne que nous avons calculés, du plus petit au plus grand, pour récupérer le nom du bâtiment.
En C2 : =SI(A2<>"";SOMMEPROD((Feuil1!$D$2:$D$223=B2)*Feuil1!$L$2:$L$223);"")
A tirer encore. elle calcule la consommation par bâtiment. Fait sur la colonne Prix car il n'y avait qu'une colonne consommation, mais on peut récupérer les autres types de valeurs en changeant la colonne visée.
Cordialement
Ferrand
En A2