Formule SI avec cellules contenant des décimales

Le
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,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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #21650171
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." :
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.
karen.
Le #21650411
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." :
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.

Publicité
Poster une réponse
Anonyme