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

Evaluation étrange des fonctions ENT et MOD

3 réponses
Avatar
Yves Michel
Bonjour

Avec Excel PRO 2003, je constate avec surprise des résultats erronés avec
les fonction ENT et MOD.

Si les cellules A1:A4 contiennent respectivement ( 0,7 ; 0,2 ; 0,1 ; -1)
dont la somme vaut zéro

Toute autre combinaison que celles-ci renvoient une valeur fausse (-1)
=ENT(A1+A3+A2+A4) =ENT(A2+A3+A1+A4) =ENT(A2+A3+A4+A1)
=ENT(A3+A1+A2+A4) =ENT(A3+A2+A1+A4) =ENT(A3+A2+A4+A1)
=ENT(A3+A4+A2+A1) =ENT(A4+A3+A2+A1)

Toute autre combinaison que celles-ci renvoient aussi une valeur fausse (+1)
=MOD(A1+A3+A2+A4;1) =MOD(A2+A3+A1+A4;1) =MOD(A2+A3+A4+A1;1)
=MOD(A3+A1+A2+A4;1) =MOD(A3+A2+A1+A4;1) =MOD(A3+A2+A4+A1;1)
=MOD(A3+A4+A2+A1;1) =MOD(A4+A3+A2+A1;1)

Autre exemple : Si les cellules A1:A4 contiennent respectivement ( 0,5 ; 0,3
; 0,2 ; -1 )
Ces combinaisons renvoient une valeur fausse (+1)
=MOD(A1+A3+A4+A2;1) =MOD(A3+A1+A4+A2;1)
=MOD(A3+A4+A1+A2;1) =MOD(A4+A3+A1+A2;1)

Dernier exemple avec le triplet ( 0,59 ; 0,41 ; -1)
=MOD(A1+A2+A3;1) et =MOD(A2+A1+A3;1) renvoient bien 0 mais toute autre
combinaison renvoie une valeur fausse (1).

Les résultats observés sont identiques en basculant entre le format
"Standard" ou "Nombre (4 chiffres) et/ou en cochant ou pas "Calcul avec la
précision au format affiché".
Ces calculs n'ont aucun intérêt sauf peut-être à mettre en évidence un
problème !!

Ai-je un problème dans Excel (toutes les mises à jour sont faites) ?
Ou doit-on avec ces fonctions utiliser obligatoirement un argument déjà
évalué ?
L'aide d'Excel ne signalant rien de tel, je me tourne vers les spécialistes
chevronnés que vous êtes.

Merci beaucoup.

3 réponses

Avatar
Modeste
Bonsour® Yves Michel avec ferveur ;o))) vous nous disiez :
l'addition sous Excel à l'aide de l'operateur "+" s'effectue en format interne
binaire
l'erreur dans ce cas est due à la représentation des nombres négatifs, c'est un
phénomêne d'approximation décimale qui provoque cet affichage erronée
il existe de la litterature la-dessus
http://translate.google.com/translate?sourceid=navclient&hl=fr&u=http%3a%2f%2fwww%2ecpearson%2ecom%2fexcel%2frounding%2ehtm

privilégier quand cela est possible la fonction SOMME
=SOMME(A4;A1;A3;A2)

@+
;o)))
Avatar
Daniel.C
Bonjour.
C'est la manière de calculer d'Exel qui est en cause. XL effectue ses
calculs en binaire, d'où une double conversion décimal =>binaire et binaire
=>décimal. Il peut en résulter une perte de décimale. Dans la grande
majorité des cas, Excel sait (dieu sait comment) afficher les bons
résultats, mais parfois, il y a un dysfonctionnement.
Dans ton premier cas, par exemple, si le résultat obtenu
est -0,000000000000001, la fonction ENT renvoie logiquement -1.
Cordialement.
Daniel
"Yves Michel" a écrit dans le message de news:
4753d448$0$25924$
Bonjour

Avec Excel PRO 2003, je constate avec surprise des résultats erronés avec
les fonction ENT et MOD.

Si les cellules A1:A4 contiennent respectivement ( 0,7 ; 0,2 ; 0,1 ; -1)
dont la somme vaut zéro

Toute autre combinaison que celles-ci renvoient une valeur fausse (-1)
=ENT(A1+A3+A2+A4) =ENT(A2+A3+A1+A4) =ENT(A2+A3+A4+A1)
=ENT(A3+A1+A2+A4) =ENT(A3+A2+A1+A4) =ENT(A3+A2+A4+A1)
=ENT(A3+A4+A2+A1) =ENT(A4+A3+A2+A1)

Toute autre combinaison que celles-ci renvoient aussi une valeur fausse
(+1)
=MOD(A1+A3+A2+A4;1) =MOD(A2+A3+A1+A4;1) =MOD(A2+A3+A4+A1;1)
=MOD(A3+A1+A2+A4;1) =MOD(A3+A2+A1+A4;1) =MOD(A3+A2+A4+A1;1)
=MOD(A3+A4+A2+A1;1) =MOD(A4+A3+A2+A1;1)

Autre exemple : Si les cellules A1:A4 contiennent respectivement ( 0,5 ;
0,3 ; 0,2 ; -1 )
Ces combinaisons renvoient une valeur fausse (+1)
=MOD(A1+A3+A4+A2;1) =MOD(A3+A1+A4+A2;1)
=MOD(A3+A4+A1+A2;1) =MOD(A4+A3+A1+A2;1)

Dernier exemple avec le triplet ( 0,59 ; 0,41 ; -1)
=MOD(A1+A2+A3;1) et =MOD(A2+A1+A3;1) renvoient bien 0 mais toute autre
combinaison renvoie une valeur fausse (1).

Les résultats observés sont identiques en basculant entre le format
"Standard" ou "Nombre (4 chiffres) et/ou en cochant ou pas "Calcul avec la
précision au format affiché".
Ces calculs n'ont aucun intérêt sauf peut-être à mettre en évidence un
problème !!

Ai-je un problème dans Excel (toutes les mises à jour sont faites) ?
Ou doit-on avec ces fonctions utiliser obligatoirement un argument déjà
évalué ?
L'aide d'Excel ne signalant rien de tel, je me tourne vers les
spécialistes chevronnés que vous êtes.

Merci beaucoup.



Avatar
Yves Michel
Bonsoir Modeste et Daniel,

Je vous remercie de vos réponses pertinentes.
Bravo pour votre disponibilité et rapidité à répondre.

Bonne continuation.

"Yves Michel" a écrit dans le message de news:
4753d448$0$25924$
Bonjour

Avec Excel PRO 2003, je constate avec surprise des résultats erronés avec
les fonction ENT et MOD.

Si les cellules A1:A4 contiennent respectivement ( 0,7 ; 0,2 ; 0,1 ; -1)
dont la somme vaut zéro

Toute autre combinaison que celles-ci renvoient une valeur fausse (-1)
=ENT(A1+A3+A2+A4) =ENT(A2+A3+A1+A4) =ENT(A2+A3+A4+A1)
=ENT(A3+A1+A2+A4) =ENT(A3+A2+A1+A4) =ENT(A3+A2+A4+A1)
=ENT(A3+A4+A2+A1) =ENT(A4+A3+A2+A1)

Toute autre combinaison que celles-ci renvoient aussi une valeur fausse
(+1)
=MOD(A1+A3+A2+A4;1) =MOD(A2+A3+A1+A4;1) =MOD(A2+A3+A4+A1;1)
=MOD(A3+A1+A2+A4;1) =MOD(A3+A2+A1+A4;1) =MOD(A3+A2+A4+A1;1)
=MOD(A3+A4+A2+A1;1) =MOD(A4+A3+A2+A1;1)

Autre exemple : Si les cellules A1:A4 contiennent respectivement ( 0,5 ;
0,3 ; 0,2 ; -1 )
Ces combinaisons renvoient une valeur fausse (+1)
=MOD(A1+A3+A4+A2;1) =MOD(A3+A1+A4+A2;1)
=MOD(A3+A4+A1+A2;1) =MOD(A4+A3+A1+A2;1)

Dernier exemple avec le triplet ( 0,59 ; 0,41 ; -1)
=MOD(A1+A2+A3;1) et =MOD(A2+A1+A3;1) renvoient bien 0 mais toute autre
combinaison renvoie une valeur fausse (1).

Les résultats observés sont identiques en basculant entre le format
"Standard" ou "Nombre (4 chiffres) et/ou en cochant ou pas "Calcul avec la
précision au format affiché".
Ces calculs n'ont aucun intérêt sauf peut-être à mettre en évidence un
problème !!

Ai-je un problème dans Excel (toutes les mises à jour sont faites) ?
Ou doit-on avec ces fonctions utiliser obligatoirement un argument déjà
évalué ?
L'aide d'Excel ne signalant rien de tel, je me tourne vers les
spécialistes chevronnés que vous êtes.

Merci beaucoup.