OVH Cloud OVH Cloud

Nombre de valeurs uniques dans une plage de valeurs

8 réponses
Avatar
Jimmy
bonjour à toutes et à tous,

Comment peut-on compter le nombre de cellules uniques dans une plage de
valeurs qui contiennent
des chiffres et aussi des lettres ?

(La réponse a peut-être déjà été donnée dans le forum précédemment mais je
ne l'ai pas trouvée. C'est pourquoi je vous la pose maintenant.)

plage de valeurs :
8
93
8
paris
5
nice
5
paris

8
100

nb de valeurs uniques : 6 (la cellule vide est-elle comptée comme une valeur
?)

merci pour tout

8 réponses

Avatar
2B or not 2B
Admettons que tes valeurs soient en A1: A100

en écrivant en B1 = NB.SI($A$1:$A$100;A1)
puis en tirant cette formule jusqu'à B100 tu aura en colonne B le nombre
de répétition de chaque valeur contenue en colonne A.

Or tu ne veux comptabiliser que les valeurs uniques, celles qui ne sont
présentes qu'une seule fois.

Suffit donc de compter les cellules en B =1


Le tout peut se faire directement à partir de B1 avec
=SI(NB.SI($A$1:$A$100;A1)>1;"";1) tirer la formule jusqu'en B100, et
faire la somme B1:B100
Avatar
ChrisV
Bonjour Jimmy,

Avec la plage de données nommée ici Zn
(à saisir sans les { } et valider par Ctrl+Shift+Entrée)

{=SOMME(SI(Zn<>"";1/NB.SI(Zn;Zn)))}


ChrisV


"Jimmy" a écrit dans le message de news:
OV$
bonjour à toutes et à tous,

Comment peut-on compter le nombre de cellules uniques dans une plage de
valeurs qui contiennent
des chiffres et aussi des lettres ?

(La réponse a peut-être déjà été donnée dans le forum précédemment mais je
ne l'ai pas trouvée. C'est pourquoi je vous la pose maintenant.)

plage de valeurs :
8
93
8
paris
5
nice
5
paris

8
100

nb de valeurs uniques : 6 (la cellule vide est-elle comptée comme une
valeur

?)

merci pour tout






Avatar
2B or not 2B
Pour ma culture perso, je ne comprend pas bien la structure de ta
formule, et plus particulièrement le 1/NB.SI

Qques généreuses explications seraient chaleureusement appréciées.

Merci.
Avatar
ChrisV
Bonjour 2B or not 2B,

Comme pour ta proposition, on calcul tout d'abord ici le nombre de
répétition de chaque valeur contenue sur la plage Zn avec NB.SI(Zn;Zn).
Avec les données initiales proposées par Jimmy, on a donc une matrice
composée des éléments suivants:
{3;1;3;2;2;1;2;2;0;3;1}
(le 8 apparaît 3x, le 93 1x, etc...)

La formule 1/NB.SI(Zn;Zn) est donc interprétée de la manière suivante:
1/{3;1;3;2;2;1;2;2;0;3;1}

Le calcul renvoie une nouvelle matrice constituée des éléments suivants:
{0,333333333333333;1;0,333333333333333;0,5;0,5;1;0,5;0,5;#DIV/0!;
0,333333333333333;1}

Le test SI(Zn<>"" impose donc maintenant la matrice suivante
{0,333333333333333;1;0,333333333333333;0,5;0,5;1;0,5;0,5;FAUX;
0,333333333333333;1}

pour laquelle il ne reste plus qu'à faire la somme...
SOMME({0,333333333333333;1;0,333333333333333;0,5;0,5;1;0,5;0,5;
FAUX;0,333333333333333;1})
=6


ChrisV


"2B or not 2B" a écrit dans le message de
news:
Pour ma culture perso, je ne comprend pas bien la structure de ta
formule, et plus particulièrement le 1/NB.SI

Qques généreuses explications seraient chaleureusement appréciées.

Merci.



Avatar
ChrisV
autre exemple...

imaginons une matrice (Zn) composée des éléments suivants: {2;2}
donc 1 seul élément unique...
NB.SI(Zn;Zn) <=> 1/{2;2}
=> {0,5;0,5}
d'où SOMME({0,5;0,5}) = 1


ChrisV


"ChrisV" a écrit dans le message de news:

Bonjour 2B or not 2B,

Comme pour ta proposition, on calcul tout d'abord ici le nombre de
répétition de chaque valeur contenue sur la plage Zn avec NB.SI(Zn;Zn).
Avec les données initiales proposées par Jimmy, on a donc une matrice
composée des éléments suivants:
{3;1;3;2;2;1;2;2;0;3;1}
(le 8 apparaît 3x, le 93 1x, etc...)

La formule 1/NB.SI(Zn;Zn) est donc interprétée de la manière suivante:
1/{3;1;3;2;2;1;2;2;0;3;1}

Le calcul renvoie une nouvelle matrice constituée des éléments suivants:
{0,333333333333333;1;0,333333333333333;0,5;0,5;1;0,5;0,5;#DIV/0!;
0,333333333333333;1}

Le test SI(Zn<>"" impose donc maintenant la matrice suivante
{0,333333333333333;1;0,333333333333333;0,5;0,5;1;0,5;0,5;FAUX;
0,333333333333333;1}

pour laquelle il ne reste plus qu'à faire la somme...
SOMME({0,333333333333333;1;0,333333333333333;0,5;0,5;1;0,5;0,5;
FAUX;0,333333333333333;1})
=6


ChrisV


"2B or not 2B" a écrit dans le message
de

news:
Pour ma culture perso, je ne comprend pas bien la structure de ta
formule, et plus particulièrement le 1/NB.SI

Qques généreuses explications seraient chaleureusement appréciées.

Merci.







Avatar
2B or not 2B
Astucieux comme approche. "Méchamment" puissant comme efficacité. C'est
beau. C'est pro.

Merci pour le cours (tout copié collé dans mon petit doc de formation
évidemment).
Avatar
Jimmy
merci à tous pour les réponses très précises

"ChrisV" a écrit dans le message de
news:%
autre exemple...

imaginons une matrice (Zn) composée des éléments suivants: {2;2}
donc 1 seul élément unique...
NB.SI(Zn;Zn) <=> 1/{2;2}
=> {0,5;0,5}
d'où SOMME({0,5;0,5}) = 1


ChrisV


"ChrisV" a écrit dans le message de news:

Bonjour 2B or not 2B,

Comme pour ta proposition, on calcul tout d'abord ici le nombre de
répétition de chaque valeur contenue sur la plage Zn avec NB.SI(Zn;Zn).
Avec les données initiales proposées par Jimmy, on a donc une matrice
composée des éléments suivants:
{3;1;3;2;2;1;2;2;0;3;1}
(le 8 apparaît 3x, le 93 1x, etc...)

La formule 1/NB.SI(Zn;Zn) est donc interprétée de la manière suivante:
1/{3;1;3;2;2;1;2;2;0;3;1}

Le calcul renvoie une nouvelle matrice constituée des éléments suivants:
{0,333333333333333;1;0,333333333333333;0,5;0,5;1;0,5;0,5;#DIV/0!;
0,333333333333333;1}

Le test SI(Zn<>"" impose donc maintenant la matrice suivante
{0,333333333333333;1;0,333333333333333;0,5;0,5;1;0,5;0,5;FAUX;
0,333333333333333;1}

pour laquelle il ne reste plus qu'à faire la somme...
SOMME({0,333333333333333;1;0,333333333333333;0,5;0,5;1;0,5;0,5;
FAUX;0,333333333333333;1})
=6


ChrisV


"2B or not 2B" a écrit dans le message
de

news:
Pour ma culture perso, je ne comprend pas bien la structure de ta
formule, et plus particulièrement le 1/NB.SI

Qques généreuses explications seraient chaleureusement appréciées.

Merci.











Avatar
ben7249
Bonjour

une solution est de faire un filtre élaboré avec extraction des doublons.

dans ce cas seulles les valeurs uniques sortiront (y compris la cellule vide)


ensuite faire un nbval pour avoir le nombre de cellule non vide


Benoit


"Jimmy" wrote in message news:<OV$...
bonjour à toutes et à tous,

Comment peut-on compter le nombre de cellules uniques dans une plage de
valeurs qui contiennent
des chiffres et aussi des lettres ?

(La réponse a peut-être déjà été donnée dans le forum précédemment mais je
ne l'ai pas trouvée. C'est pourquoi je vous la pose maintenant.)

plage de valeurs :
8
93
8
paris
5
nice
5
paris

8
100

nb de valeurs uniques : 6 (la cellule vide est-elle comptée comme une valeur
?)

merci pour tout