Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Pas de problème :
=LET(p_1;$C$1:$C$21;
p\_2;$E$1:$E$21;
vu;UNIQUE(p\_1);
vnb;MAP(vu;LAMBDA(v;NBVAL(FILTRE(p\_1;(p\_1=v)\*(p\_2<>"")))));
ASSEMB.H(vu;vnb))
LET permet de déclarer des "variables". Elle évite de répéter des portions de formules => formule plus courte, plus lisible (on place ce qui est variable au début comme les plages), plus rapides (pas besoin pour Excel de refaire le calcul)
p_1 : la plage1 (le nom "p1" n'est pas utilisable car correspond à une cellule)
p_2 : la plage2
vu : Matrice des Valeurs Unique (on enlève les doublons de p_1)
vnb : Matrice des Valeur du dénombrements (explications, voir plus bas)
Puis on a la formule qui correspond au résultat renvoyé par LET : ASSEMB.H qui permet d'accoler les 2 matrices "vu" et "vnb".
Description de vnb :
La fonction MAP permet de faire une opération sur chaque valeur de la matrice "vu" (comme une boucle en programmation, "pour chaque valeur de "vu"...")
La fonction LAMBDA décrit l'opération a faire sur chaque valeur de "vu"
Description de la "boucle"
> La 1ère valeur Valeur unique de "vu" est placée dans la variable "v"
> On filtre (fonction FILTRE) la plage "p_1" en ne prenant que les lignes ou les valeurs de "p_1" sont égales à la valeur de "v" et que les valeurs de "p_2" ne sont pas vides (coureurs déjà inscrits).
> On compte le nombre de valeurs renvoyées par la fonction FILTRE avec la fonction NBVAL et ce résultat est mémorisé dans "vnb"
On recommence pour les valeurs suivantes de "vu"