2 votes

Calculs excel simples erronés

Tout d'abord, je ne veux pas arrondir mes chiffres, j'utilise des chiffres en base 10, donc Excel ne devrait pas avoir de problème pour faire de simples additions et soustractions.

A|  665.110000000000000000000000000000
B|  4.990000000000000000000000000000
C|  =a1+b1
D|  670.790000000000000000000000000000
E|  1,335.890000000000000000000000000000
F|  =e1-(c1+d1)

Je devrais obtenir -5 cependant le retour de F1

-4.999999999999770000000000000000

Il s'agit d'un document financier et je veux donc éviter les arrondis. Pourquoi devrais-je le faire ? J'ai mis le formatage de la cellule sur Devise avec deux décimales et j'obtiens la valeur d'affichage correcte, mais pour tous les calculs, j'obtiens toujours -4.9999...7, ce qui entraîne d'autres erreurs avec le formatage conditionnel, etc.

6voto

Stephen Turner Points 165

Le problème est dû au matériel de base de presque tous les ordinateurs. Ils sont basés sur des systèmes binaires et ne comptent donc pas de 0 à 9, mais seulement 0 et 1, ou base 2.

C'est très bien, sauf si, comme vous l'avez découvert, vous voulez des nombres décimaux de haute précision. Les ordinateurs ne peuvent compter qu'en termes de fractions qui sont des puissances de la moitié, c'est-à-dire 1/2, 1/4, 1/8, 1/16, 1/32, etc. Il n'y a pas de moyen facile pour un ordinateur de représenter certains nombres tels que 1/3 ou 4,99 avec une précision parfaite sans perdre beaucoup de performance.

Excel est très doué pour cacher ce fait, ce n'est que si vous activez une vingtaine de décimales que vous verrez cette erreur. Il le fait en arrondissant, mais uniquement lorsque le résultat est affiché.

Vous dites que c'est pour des calculs financiers, avez-vous vraiment besoin que le résultat final soit affiché avec 20 décimales ? Ou avez-vous simplement besoin d'être sûr que le calcul est effectué avec suffisamment de précision pour éviter les erreurs d'arrondi ? Dans ce dernier cas, il vous suffit de faire confiance à Excel, qui fait son travail depuis plusieurs années pour d'innombrables organisations financières, sans aucun problème. Et que vous ne devez pas vous inquiéter des erreurs d'arrondi qui vous causent des problèmes.

3voto

Bill K Points 287

On a déjà répondu à cette question ici.

Le fait que vous utilisiez un nombre "rond" en base 10 ne sert à rien : l'ordinateur stocke les nombres en binaire. Votre nombre rond en base 10 se traduit par un nombre en binaire qui finit par se répéter, vous perdez des informations lors de la reconversion de ce nombre décimal.

Les utilisateurs d'ordinateurs contournent ce problème par deux méthodes :

1) faites vos calculs jusqu'à un certain nombre de décimales puis arrondissez-les à un nombre inférieur de décimales. 2) utilisez le système BCD ou une autre représentation décimale exacte.

A ma connaissance, Excel n'utilise pas le #2, choisissez donc une autre option.

1voto

Nuno Points 123

Il existe une option dans Excel "précision telle qu'affichée" qui arrondit automatiquement les nombres à la précision que vous choisissez pour afficher vos nombres.

http://support.microsoft.com/kb/78113

Je ne vous recommande pas de le faire car cela pourrait introduire des erreurs d'arrondi dans vos calculs car vous demandez à Excel d'arrondir à 2 décimales alors qu'actuellement l'erreur d'arrondi est de 15 (environ) décimales et n'affectera donc pas du tout vos calculs.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X