Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Devinette ...

12 réponses
Avatar
MichD
Bonjour,

Supposons que j'ai dans la colonne A1:A10
la liste des chiffres suivants:

A1 -> 1
A2 -> 1
A3 -> 0
A4 -> 0
A5 -> 5
A6 -> 6
A7 -> 10
A8 -> 2
A9 -> 9
A10 -> 7

Si je veux connaître le nombre de valeurs présentes plus d'une fois :
je pourrais normalement utiliser cette formule :
Validation matricielle : Maj + Ctrl + Enter
=SOMME(SI(NB.SI(A1:A10;A1:A10)>1;1)) -> réponse 4

Supposons maintenant que je supprime la donnée en A7, (A7 est totalement vide)
Et bien la formule est maintenant égale à 5.

Ma question : Que s'est-il passé ? ;-)

MichD
--------------------------------------------

2 réponses

1 2
Avatar
Jacquouille
Re - Re
Je veux bien être d'accord avec tout le monde et accepter pour vrai toutes
les explications.
mais, comment peut-on compter un nombre de cellules qui répondent à un
critère et arriver à une somme avec une décimale, car en manipulant les
formules (voir mes réponses), j'obtiens parfois = 7,5 ou 8,5 ??????

Bonne journée, avec un grand sourire et un grand soleil.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
infs4f$tgo$

Bon ben si vous ne pouvez pas me répondre à une question aussi simple,
je vais en rester là! ;-)))

Eh oui Daniel, j'en ai déduit l'argumentaire que tu as expliqué.

En fait, une cellule est comme une variable de type "Variant", elle accepte
du numérique et du texte. En conséquence, lorsque la cellule est totalement
vide,
sa valeur comme défaut peut-être du texte, alors c'est comme initialiser une
variable dont le type est "texte" :
Dim X As String
X = "Bozo"
Si je veux initialiser (vider) la variable X
X = ""
Si la variable est de type numérique
Dim X As integer
x = 25
Pour l'initialiser
X = 0

En conséquence, comme la cellule vide (type variant) n'a pas une
valeur définie, elle peut valoir "" ou 0

Un petit exemple que l'on rencontre souvent :
=SI(F4="";1;3)
=SI(F4=0;1;3)
Si F4 est totalement vide, la formule retourne 1 dans les 2 cas.

Perso. je ne suis pas un "formuliste" mais cette fonction (nb.si) toute
simple en
apparence peut causer bien des problèmes comme le démontrent les messages
de ce fil.
En compliquant quelque peu la formule, on obtient le résultat attendu
nonobstant
la présence des 0 ou des cellules vides dans la plage.
=SOMME(SI((A1:A10<>"")*(NB.SI(A1:A10;A1:A10)>1)=1;1)) -> validation
matricielle.

Vive le VBA... ;-))
On éprouve le même genre de difficulté avec cette formule en vba
x= Evaluate("SUM(IF(COUNTIF(" & Plg & "," & Plg & ")=1,1))")

Ce n’est pourtant pas si compliqué que ça Excel ?
;-)))))

À la prochaine !

MichD
--------------------------------------------
"DanielCo" a écrit dans le message de groupe de discussion :
infpee$mtv$

La logique :
1,1,0,0=4 + 1 pour chacune des deux cellules vides (qui comptent les
cellules à 0 donc la formule renvoie 1 pour chacune).
Daniel


non c'est le bug total,

1
1
0
0
3
4
5
8


donne 6

isabelle
------------------------------------------------------------------

Le 2011-04-05 13:24, MichD a écrit :
Dis Isabelle, tu sais ce qui se passe ?
Avatar
MichD
Bonjour Jacquouille,

| Je veux bien être d'accord avec tout le monde et accepter
| pour vrai toutes les explications.
*** Et bien, si tu as une meilleure explication, nous serions
heureux de la connaître...

Modifie ta formule comme ceci pour exclure les cellules vides :

=SOMME(1/NB.SI(A1:A10;A1:A10)*(A1:A10<>""))

Ceci retourne le nombre de valeurs distinctes en A1:A10

Le fil recherchait le nombre de valeurs qui ne sont uniques dans la plage de cellules
alors tu pourrais ta formule comme ceci :

=NBVAL(A1:A10)-SOMME(1/NB.SI(A1:A10;A1:A10)*(A1:A10<>""))

Les 2 formules sont matricielles, à valider par Ctrl + Maj + Enter

Une autre façon de faire.


MichD
--------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion : 4d9c309f$0$14244$

Re - Re
Je veux bien être d'accord avec tout le monde et accepter pour vrai toutes
les explications.
mais, comment peut-on compter un nombre de cellules qui répondent à un
critère et arriver à une somme avec une décimale, car en manipulant les
formules (voir mes réponses), j'obtiens parfois = 7,5 ou 8,5 ??????

Bonne journée, avec un grand sourire et un grand soleil.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
infs4f$tgo$

Bon ben si vous ne pouvez pas me répondre à une question aussi simple,
je vais en rester là! ;-)))

Eh oui Daniel, j'en ai déduit l'argumentaire que tu as expliqué.

En fait, une cellule est comme une variable de type "Variant", elle accepte
du numérique et du texte. En conséquence, lorsque la cellule est totalement
vide,
sa valeur comme défaut peut-être du texte, alors c'est comme initialiser une
variable dont le type est "texte" :
Dim X As String
X = "Bozo"
Si je veux initialiser (vider) la variable X
X = ""
Si la variable est de type numérique
Dim X As integer
x = 25
Pour l'initialiser
X = 0

En conséquence, comme la cellule vide (type variant) n'a pas une
valeur définie, elle peut valoir "" ou 0

Un petit exemple que l'on rencontre souvent :
=SI(F4="";1;3)
=SI(F4=0;1;3)
Si F4 est totalement vide, la formule retourne 1 dans les 2 cas.

Perso. je ne suis pas un "formuliste" mais cette fonction (nb.si) toute
simple en
apparence peut causer bien des problèmes comme le démontrent les messages
de ce fil.
En compliquant quelque peu la formule, on obtient le résultat attendu
nonobstant
la présence des 0 ou des cellules vides dans la plage.
=SOMME(SI((A1:A10<>"")*(NB.SI(A1:A10;A1:A10)>1)=1;1)) -> validation
matricielle.

Vive le VBA... ;-))
On éprouve le même genre de difficulté avec cette formule en vba
x= Evaluate("SUM(IF(COUNTIF(" & Plg & "," & Plg & ")=1,1))")

Ce n’est pourtant pas si compliqué que ça Excel ?
;-)))))

À la prochaine !

MichD
--------------------------------------------
"DanielCo" a écrit dans le message de groupe de discussion :
infpee$mtv$

La logique :
1,1,0,0=4 + 1 pour chacune des deux cellules vides (qui comptent les
cellules à 0 donc la formule renvoie 1 pour chacune).
Daniel


non c'est le bug total,

1
1
0
0
3
4
5
8


donne 6

isabelle
------------------------------------------------------------------

Le 2011-04-05 13:24, MichD a écrit :
Dis Isabelle, tu sais ce qui se passe ?
1 2