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
--------------------------------------------

10 réponses

1 2
Avatar
Jacquouille
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
--------------------------------------------
Avatar
Jacquouille
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
--------------------------------------------
Avatar
isabelle
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
--------------------------------------------


Avatar
MichD
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
--------------------------------------------


Avatar
DanielCo
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
Avatar
DanielCo
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
Avatar
DanielCo
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
Avatar
isabelle
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
DanielCo
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
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