NB.SI avec Filtre

samourra

XLDnaute Nouveau
Bonjour à vous qui m'avez déjà été d'un grand secours!

Ma question:
ci-joint un tableau avec exemple.

J'ai des projets AAA, BBB et CCC, certains projets ont été gagnés, perdus ou sont en attente. J'obtiens bien avec la fonction =NB.SI($B$2:$D$7;"Gagné" ) le nombre total des mes affaires gagnées et ainsi de suite pour les "perdu" et "en attente".

là où ça se complique, c'est que je voudrais lorsque je fais le tri sur un projet obtenir le nombre de "gagné" (ou de "perdu" ou encore de "en attente") seulement sur les valeurs affichées après mon filtre.

Comment est-ce possible?
sans macro, et si possible sans ajouter de colonne... enfin si c'est possible!!
Merci de votre aide.

Sam
 

Pièces jointes

  • NB SI AVEC FILTRE.xls
    23.5 KB · Affichages: 688

samourra

XLDnaute Nouveau
Re : NB.SI avec Filtre

Génial!
un grand merci!!
J'ai une question cela dit, je ne comprends pas toute la premiere partie de la formule, les DECALER?? etc.

Si tu pouvais m'expliquer un peu cette formule... ce serait encore plus gentil!
 

Chris401

XLDnaute Accro
Re : NB.SI avec Filtre

Re

Pour ce fichier, la formule est :

Code:
=SOMMEPROD((SOUS.TOTAL(3;DECALER($G$2;LIGNE($G$2:$G$22)-2;)))*($G$2:$G$22=G26))

Pas facile d'expliquer une matricielle. Voici un essai d'après le 1er fichier :

DECALER($B$1;LIGNE($B$1:$B$8)-1;)
Retourne les contenus des lignes de la plage B1:B8

{"STATUT";"Gagné";"Perdu";"Gagné";"En attente";"Perdu";"En attente";0}


SOUS.TOTAL(3;DECALER($B$1;LIGNE($B$1:$B$8)-1;))

Retourne 1 sur le numéro de ligne visible. Si on filtre sur AAA ça donne

{1;1;0;0;1;0;0;0}

=SOMMEPROD(({1;1;0;0;1;0;0;0})*($B$1:$B$8=B10))
=SOMMEPROD(({1;1;0;0;1;0;0;0})*({FAUX;VRAI;FAUX;VRAI;FAUX;FAUX;FAUX;FAUX}))

Chaque ligne ayant 1 et VRAI sera comptabilisé


Cordialement
 

Discussions similaires

Réponses
12
Affichages
588
L
Réponses
3
Affichages
592
LeGrosMatou
L

Statistiques des forums

Discussions
312 677
Messages
2 090 825
Membres
104 677
dernier inscrit
soufiane12