Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 NB.SI sur cellules filtrées uniquement

dargoll

XLDnaute Nouveau
Bonjour,

Je bloque sur un truc depuis un moment et j'espère que vous allez pouvoir m'éclairer.

Dans un grand tableau, j'ai une colonne avec des pourcentages (0%;25%,50%,75%,100%) et dans un petit tableau j'ai 5 cellules qui m'indique le pourcentage de fois que j'ai 0%, le pourcentage de fois que j'ai 25% ..... dans le grand tableau.

j'ai une formule toute simple et efficace =NB.SI(Tableau1[AVANCEMENT];"=0,5")/NBVAL(Tableau1[IDENTIFICATION SITE]) (exemple pour mon 50%)

Jusque là, ça va, ça marche. Quand je fais la somme des pourcentages du petit tableau, j'ai bien 100%, les comptes sont bons.

là où ça se complique, c'est que je peux filtrer sur un nom dans le grand tableau et j'aimerais que mon petit tableau se recalcul que sur ce qui est visible après filtrage

J'ai bien trouvé une formule sur un site internet, mais ça marche carrément pas.

=SOMMEPROD((Tableau1[AVANCEMENT]=50%)*(SOUS.TOTAL(3;DECALER(J14;LIGNE(Tableau1[AVANCEMENT])-MIN(LIGNE(Tableau1[AVANCEMENT]));0))))/SOUS.TOTAL(3;Tableau1[IDENTIFICATION SITE])

ça ne me donne pas d'erreur mais quand je trie, le total des pourcentage affiché dans le petit tableau de fait pas 100%.

"les comptes sont pas bons Kevin"

Merci encore.
 

Pièces jointes

  • TABLEAU DE SUIVI web.xlsx
    92.6 KB · Affichages: 6
Solution
Bonjour Dargoll,
Je n'ai pas testé toutes les configurations, mais essayez de figer J12 dans vos formules. En "tirant" J12 est devenu J13, J14, J15 ...
Essayez avec :
VB:
=SOMMEPROD((Tableau1[AVANCEMENT]=0%)*(SOUS.TOTAL(3;DECALER($J$12;LIGNE(Tableau1[AVANCEMENT])-MIN(LIGNE(Tableau1[AVANCEMENT]));0))))/SOUS.TOTAL(3;Tableau1[IDENTIFICATION SITE])
( J'ai mis la somme des % en C10 pour test )

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Dargoll,
Je n'ai pas testé toutes les configurations, mais essayez de figer J12 dans vos formules. En "tirant" J12 est devenu J13, J14, J15 ...
Essayez avec :
VB:
=SOMMEPROD((Tableau1[AVANCEMENT]=0%)*(SOUS.TOTAL(3;DECALER($J$12;LIGNE(Tableau1[AVANCEMENT])-MIN(LIGNE(Tableau1[AVANCEMENT]));0))))/SOUS.TOTAL(3;Tableau1[IDENTIFICATION SITE])
( J'ai mis la somme des % en C10 pour test )
 

Pièces jointes

  • TABLEAU DE SUIVI web.xlsx
    94.9 KB · Affichages: 1

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…