XL 2019 Répartition du sexe dans une équipe avec SommeProd

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour,
Dans le fichier joint j'ai créé une macro qui me permet de connaitre la répartition des sexes pour chaque équipe.
J'aimerais créer une formule avec sommeprod qui fasse la meme chose et qui m'éviterait ainsi de devoir cliquer sur le bouton MAJ à chaque changement.
Bonne journée
 

Pièces jointes

  • Recenser Sexe équipe.xlsb
    23.1 KB · Affichages: 26

Dudu2

XLDnaute Barbatruc
La formule en I7 (à étendre) qui suppose qu'il n'y a pas de "trou" dans la liste des équipes en colonne J est:
=SIERREUR(SOMMEPROD((STXT(DECALER(J$7;0;0;NBVAL(J$7:J$1000));1;NBCAR(DECALER(J$7;0;0;NBVAL(J$7:J$1000)))-1)=STXT(J7;1;NBCAR(J7)-1))*(DECALER(C$7;0;0;NBVAL(J$7:J$1000))="F")) & "F" &
SOMMEPROD((STXT(DECALER(J$7;0;0;NBVAL(J$7:J$1000));1;NBCAR(DECALER(J$7;0;0;NBVAL(J$7:J$1000)))-1)=STXT(J7;1;NBCAR(J7)-1))*(DECALER(C$7;0;0;NBVAL(J$7:J$1000))="M")) & "M";"")
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
La formule est rendue quelque peu illisible à cause des DECALER nécessaires pour déterminer la hauteur de la colonne J.

Sinon, la formule de base si on considère qu'il n'y a que J7:J47 est plus facile à lire:
=SOMMEPROD((STXT(J$7:J$47;1;NBCAR(J$7:J$47)-1)=STXT(J7;1;NBCAR(J7)-1))*(C$7:C$47="F")) & "F" &
SOMMEPROD((STXT(J$7:J$47;1;NBCAR(J$7:J$47)-1)=STXT(J7;1;NBCAR(J7)-1))*(C$7:C$47="M")) & "M"

Ce sont donc les J$7:J$47 qui ont été remplacés par les DECALER(J$7;0;0;NBVAL(J$7:J$1000)) qui permettent de rendre la formule indépendante de la hauteur de la colonne J. Et le C$7:C$47 sur le même principe.

Le SIERREUR() évite les #VALEUR! si l'équipe est vide sur les STXT().
 
Dernière édition:

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour Dudu2,
Super je ne savais pas que c'était possible de faire cela avec des formules.
Ta formule marche très bien sur la plage J$7:J$47 comme tu le dis mais j'aurai besoin d'une formule à hauteur variable en colonne J avec des trous parfois. J'ai essayé d'intégrer le DECALER(J$7;0;0;NBVAL(J$7:J$100)) à la place du J$7:J$47 mais ca me met un message d'erreur . je ne sais pas si cela est possible.
En tout cas merci beaucoup
 

Dudu2

XLDnaute Barbatruc
Ce serait plus simple si tu séparais le n° d'équipe du couloir.
On n'aurait pas à faire des STXT qui plantent si l'équipe-couloir est vide et qui obligent à ne traiter que les équipes-couloir existantes et donc à en déterminer le nombre.
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi