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

Formule SI avec cellules contenant des décimales

2 réponses
Avatar
karen.
Bonjour,
Dans un fichier excel, voici la formule que je veux incorporer dans la
cellule d1: =si(a1-(b1+c1)=0;"";a1-(b1+c1))
Donc lorsque le test logique est vrai, la cellule n'affiche rien, sinon elle
affiche le résultat.
Le problème: lorsque dans l'une des trois cellules (a1, b1 ou c1) le nombre
est décimal autre que ,25 ,50 ou ,75, le résultat du test logique vrai
affiche 0,00 au lieu de ne rien afficher.
Exemple:
a1=10,63 b1=0 c1=10,63 dans d1 je vois 0,00

Ceci arrive seulement dans un fichier en particulier et quand je fais un
test dans un nouveau document le tout semble correct. Y aurait-il une option
dans le fichier qui a été modifiée et qui fait en sorte que ma formule ne
fonctionne pas ?
Merci.

2 réponses

Avatar
michdenis
Bonjour,

Le problème tel que posé ne génère pas ce que tu avances.
La formule retourne bien "".

Cependant dans ton fichier, il se peut que le contenu des 3
cellules soit le résultat d'opération mathématique. Dans
ce cas, comme le processeur d'un ordinateur travaille en
binaire, il doit transformer le nombre de chacune des cellules
en binaire, effectuer l'opération mathématique et transformer
à nouveau en décimale. Il arrive à l'occasion que le résultat
de ces conversions ne donne pas un nombre juste. Le nombre
traîne avec lui des décimales après le 8 , 9 ou 10e chiffre
après le point. Habituellement le format de la cellule ne nous
permet pas de percevoir ces infinies décimales.
En conséquence, ce qui semble être une soustraction de 2 chiffres
identiques ne donne pas 0, mais 0.00000000189...mais comme
la cellule est formatée avec 2 chiffres après le point, ces valeurs
infimes ne sont pas perçues, mais Excel en tient toujours compte
c'est probablement pour ça que ta formule retourne 0.00 au lieu
de "".

Solution possible :
A) Barre des menus / outils / onglet Calcul /
"Calcul avec la précision au format affiché".

B ) tu utilises la fonction Arrondi() pour limiter le nombre
de décimales. Ta formule deviendrait :
=SI(ARRONDI(A1-(B1+C1);2)=0;"";A1-(B1+C1))


"karen." a écrit dans le message de groupe de discussion
:
Bonjour,
Dans un fichier excel, voici la formule que je veux incorporer dans la
cellule d1: =si(a1-(b1+c1)=0;"";a1-(b1+c1))
Donc lorsque le test logique est vrai, la cellule n'affiche rien, sinon elle
affiche le résultat.
Le problème: lorsque dans l'une des trois cellules (a1, b1 ou c1) le nombre
est décimal autre que ,25 ,50 ou ,75, le résultat du test logique vrai
affiche 0,00 au lieu de ne rien afficher.
Exemple:
a1,63 b1=0 c1,63 dans d1 je vois 0,00

Ceci arrive seulement dans un fichier en particulier et quand je fais un
test dans un nouveau document le tout semble correct. Y aurait-il une option
dans le fichier qui a été modifiée et qui fait en sorte que ma formule ne
fonctionne pas ?
Merci.
Avatar
karen.
Bonjour michdenis

Vous aviez bien raison. La cellule a1 est en fait la cellule h1 dans mon
fichier et elle est le résultat d'une soustraction de deux autres cellules.
J'ai choisi la première solution que vous me proposiez et cela a réglé mon
problème.
Je vous remercie de votre aide.

"michdenis" a écrit :

Bonjour,

Le problème tel que posé ne génère pas ce que tu avances.
La formule retourne bien "".

Cependant dans ton fichier, il se peut que le contenu des 3
cellules soit le résultat d'opération mathématique. Dans
ce cas, comme le processeur d'un ordinateur travaille en
binaire, il doit transformer le nombre de chacune des cellules
en binaire, effectuer l'opération mathématique et transformer
à nouveau en décimale. Il arrive à l'occasion que le résultat
de ces conversions ne donne pas un nombre juste. Le nombre
traîne avec lui des décimales après le 8 , 9 ou 10e chiffre
après le point. Habituellement le format de la cellule ne nous
permet pas de percevoir ces infinies décimales.
En conséquence, ce qui semble être une soustraction de 2 chiffres
identiques ne donne pas 0, mais 0.00000000189...mais comme
la cellule est formatée avec 2 chiffres après le point, ces valeurs
infimes ne sont pas perçues, mais Excel en tient toujours compte
c'est probablement pour ça que ta formule retourne 0.00 au lieu
de "".

Solution possible :
A) Barre des menus / outils / onglet Calcul /
"Calcul avec la précision au format affiché".

B ) tu utilises la fonction Arrondi() pour limiter le nombre
de décimales. Ta formule deviendrait :
=SI(ARRONDI(A1-(B1+C1);2)=0;"";A1-(B1+C1))


"karen." a écrit dans le message de groupe de discussion
:
Bonjour,
Dans un fichier excel, voici la formule que je veux incorporer dans la
cellule d1: =si(a1-(b1+c1)=0;"";a1-(b1+c1))
Donc lorsque le test logique est vrai, la cellule n'affiche rien, sinon elle
affiche le résultat.
Le problème: lorsque dans l'une des trois cellules (a1, b1 ou c1) le nombre
est décimal autre que ,25 ,50 ou ,75, le résultat du test logique vrai
affiche 0,00 au lieu de ne rien afficher.
Exemple:
a1,63 b1=0 c1,63 dans d1 je vois 0,00

Ceci arrive seulement dans un fichier en particulier et quand je fais un
test dans un nouveau document le tout semble correct. Y aurait-il une option
dans le fichier qui a été modifiée et qui fait en sorte que ma formule ne
fonctionne pas ?
Merci.