Modalités, valeurs différentes (b)
Dans l’article précédent,
nous avons vu comment – à l’aide de formules non matricielles – calculer le
nombre de modalités différentes dans un vecteur vertical, et le nombre de
valeurs différentes.
Aujourd’hui, nous vous
proposons deux formules nouvelles, matricielles.
Formule de D1 : =somme(si(estnum($A$1:$A$13)*ligne($1:$13)=equiv($A$1:$A$13;A:A;0);1))
Formule de D2 : =somme(si(ligne($1:$13)=equiv($A$1:$A$13;A:A;0);1))
Ces deux formules sont
matricielles, donc validées avec [Ctrl]-[Maj]-[Entrée].
Tant qu’il n’y a aucune cellule
vide dans le vecteur, les résultats sont identiques à ceux de C1:C2.
On peut aussi les écrire sans
utiliser le si() :
Formule de D1 :
=somme(estnum($A$1:$A$13)*(ligne($1:$13)=equiv($A$1:$A$13;A:A;0);1)))
=somme(estnum($A$1:$A$13)*(ligne($1:$13)=equiv($A$1:$A$13;A:A;0);1)))
Formule de D2 : =somme(1*(ligne($1:$13)=equiv($A$1:$A$13;A:A;0);1)))
Ce qui est étrange, c’est ce
qui se passe quand il y a une cellule vide dans le vecteur :
- quand il n’y a aucun 0, C2 donne #DIV/0!, D1 et D2 donnent #N/A…
- quand C2 donne un résultat non entier, D1 et D2 donnent le bon résultat.
- quand C2 affiche un résultat entier, C2 affiche un nombre trop grand d’une unité car il compte la cellule vide comme une modalité.
Si quelqu’un a une bonne idée
pour résoudre ce problème, nous afficherons sa solution !
2 Commentaire(s):
Pour D3
La même avec Sierreur
=SOMME(SI(LIGNE($1:$13)=SIERREUR(EQUIV($A$1:$A$13;A:A;0);"vide");1))
Arnaud
By Anonyme, sur 9:06 PM
Excellente suggestion, Arnaud !
By Hervé Thiriez, sur 11:27 PM
Enregistrer un commentaire
<< Accueil