une formule de Monique

pat1545.

XLDnaute Accro
Bonsoir,

j'ai vu passer, il me semble, une formule (trop compliquée pour moi) de Monique permettant de compter le nombre de 'valeur uniques' dans une colonne, je ne l'ai pas sauvée !!

Qq un aurait il ça sous la main ?


Merci

Patrick
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir Patrick :)

Monique nous a donné tant de formules que je ne peux pas te répondre sur celle que tu as vue. Mais peut-être pourrons-nous, les uns ou les autres, t'en donner une en fonction de ce que tu cherches à faire.

Exemples sur une 'Plage' quelconque :

1) compter le nombre de valeurs différentes dans une colonne
=SOMMEPROD(1/NB.SI(Plage;Plage))

2) compter le nombre de valeurs n'apparaissant qu'une fois :
=SOMMEPROD((NB.SI(Plage;Plage)=1)*1)

etc.

A+ ;)
 

Gael

XLDnaute Barbatruc
Bonsoir Pat, Bonsoir Charly,

Juste pour ajouter une explication et d'autres possibilités:

Pour le comptage de valeurs différentes, la formule utilisée est la suivante:

{=Somme(1/NB.SI(plage;plage)} à saisir sous forme matricielle (en faisant Ctrl Maj Entrée au lieu de Entrée).

Si on veut compter par exemple le nombre de valeurs différentes dans la suite a d c a d b e

NB.SI(Plage;plage) va créer une matrice avec pour chaque cellule, le nombre d'occurences soit dans cet exemple:

a d c a d b e donnera 2 2 1 2 2 1 1

Le 1/nb.si va donner 1/2 1/2 1 1/2 1/2 1 1

et la somme de tout ça fera bien 5. En fait on obtient pour chaque valeur N*1/N soit 1.

Ce mode de calcul peut cependant poser un problème lorsque 1/N donne un résultat avec un nombre de décimales trop important:

Si une valeur est présente 4 fois dans une liste, on aura 1/N=1/4=0,25 et 4*1/N=1 mais si N=3, 1/N=1/3=0,333333333 et 3*0,333333333 donnera 0,999999999 et non pas 1. C'est pourquoi dans certains cas (valeurs présentes, 3,7,8... fois) et avec certaines fonctions, les résultats peuvent être altérés.

Une autre formule est aussi efficace mais seulement avec des nombres:

{=SOMME(N(FREQUENCE(Plage;Plage)>0))}

Tu peux également técharger une macro complémentaire MOREFUN.XLL qui contient une fonction NB.DIFF qui a l'avantage d'être plus simple et plus rapide si tu as des plages importantes.

Adresse du téléchargement : Ce lien n'existe plus
nom de la macro: morefun.xll

@+

Gael
 

pat1545.

XLDnaute Accro
Merci Gael,

je connaissais depuis bien lontemps morefun du tout grand Laurent et je l'utilise mais parfois les gens ne l'ont pas sur leur pc et le decompte est plus difficile, alors autant utiliser sommeprod et les combinaisons de fonctions.

Merci à toi

Patrick
 

Discussions similaires

Réponses
10
Affichages
319
Réponses
11
Affichages
434
Réponses
4
Affichages
256

Statistiques des forums

Discussions
311 735
Messages
2 082 024
Membres
101 873
dernier inscrit
excellllll