Devinette ...

Le
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
--
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacquouille
Le #23260261
Y a pas un espace qui traine? Tu as fait nbcar(a7)?

Je viens de tester en "effaçant" A7 --> =5
par contre, si je supprime la ligne A7, il me donne bien 4

Mieux, avec
=SOMME(1/NB.SI(A1:A10;A1:A10)) ---> 8 valeurs uniques
Si j'efface A7, il me donne 7,5 comme réponse ??????

Jacquouille

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

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
--------------------------------------------
Jacquouille
Le #23260341
En utilisant ces deux formules,
=SOMME(1/NB.SI(A1:A12;A1:A12))

=SOMME(SI(NB.SI(A1:A12;A1:A12)>1;1))

valider, puis insérer une ligne entre A1 et A10 .

A voir absolument .....puis insérer une seconde ligne .....
FOU !



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jacquouille" a écrit dans le message de groupe de discussion :
4d9b329d$0$14253$

Y a pas un espace qui traine? Tu as fait nbcar(a7)?

Je viens de tester en "effaçant" A7 --> =5
par contre, si je supprime la ligne A7, il me donne bien 4

Mieux, avec
=SOMME(1/NB.SI(A1:A10;A1:A10)) ---> 8 valeurs uniques
Si j'efface A7, il me donne 7,5 comme réponse ??????

Jacquouille

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

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
--------------------------------------------
isabelle
Le #23260331
mets en B1
§
tu verras
isabelle
------------------------------------------------------------------

Le 2011-04-05 10:40, MichD a écrit :
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
--------------------------------------------


MichD
Le #23260811
Et bien merci Isabelle et Jacquouille,

Supposons qu'en A1:A10 nous ayons :
A1 Totalement vide
A2 0
A3 8
A4 8
A5 5
A6 6
A7 Totalement vide
A8 2
A9 9
A10 7

La même formule retourne 2
Validation matricielle : Maj + Ctrl + Enter
=SOMME(SI(NB.SI(A1:A10;A1:A10)>1;1)) -> réponse 2
Si j'insère en A1 , 0 comme valeur, j'obtiens 5

Dis Isabelle, tu sais ce qui se passe ?
De plus, j'ai pris la peine de mettre toute la plage au format numérique et non standard.

MichD
--------------------------------------------
"isabelle" a écrit dans le message de groupe de discussion : infcff$lta$

mets en B1
§
tu verras
isabelle
------------------------------------------------------------------

Le 2011-04-05 10:40, MichD a écrit :
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
--------------------------------------------


DanielCo
Le #23261021
Si seule A10 est vide, =NB.SI($A$1:$A$10;A10) retourne 2; j'en perdrais
mon latin si je l'avais appris !
Daniel
DanielCo
Le #23261011
De plus ¡:A10 retourne
={FAUX;FAUX;VRAI;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX;VRAI}, donc 3 "vrai", ce
qui n'est pas cohérent avec NB.SI.
Daniel
DanielCo
Le #23261081
et si on remplace les zéros par une autre valeur,
=NB.SI($A$1:$A$10;A10) renvoie "0"; donc si on teste avec A10="" et A3
et A4 = 0, on obtient 2.
L'aide sur NB.SI dit que la fonction compte les cellules non vides;
Et à mon avis, quand elles sont vides NB.SI compte les cellules à 0.
On va dire que c'est by design ;-(((
Daniel


De plus ¡:A10 retourne
={FAUX;FAUX;VRAI;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX;VRAI}, donc 3 "vrai", ce qui
n'est pas cohérent avec NB.SI.
Daniel
isabelle
Le #23261071
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 ?
DanielCo
Le #23261161
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 ?
MichD
Le #23261211
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
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 ?
Publicité
Poster une réponse
Anonyme