Question Maths simples excel


Tout d'abord, je ne veux pas arrondir mes chiffres, j'utilise des chiffres de base 10, donc Excel ne devrait pas se soucier de faire des ajouts et des soustractions simples.

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

Je devrais obtenir -5 mais la F1 revient

-4.999999999999770000000000000000

C'est un document financier, donc je veux éviter les arrondis, plus précis. Pourquoi devrais-je en avoir besoin? J'ai mis la mise en forme de cellule en Devise avec 2 décimales et j'obtiendrai la valeur d'affichage correcte, mais pour tous les calculs, j'obtiendrai toujours -4,9999 ... 7, ce qui entraînerait d'autres erreurs de mise en forme conditionnelle, etc.


2
2017-11-02 23:33


origine


précision de la recherche et représentation - Mitch Wheat
Quelle version d'Excel? Je reçois -5 (comme prévu) avec Excel 2003. - Chris J
Si vous craignez de perdre dix milliards de penny, appelez-moi et je vous couvrirai. - Stephen Jennings
"J'utilise des chiffres de base 10" - en interne l'ordinateur ne l'est pas! Il n'y a que des uns et des zéros. Peut-être que la conversion de et vers le décimal est la cause de la "divergence" - BrianA


Réponses:


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

C'est bien sauf si vous avez découvert que vous vouliez des nombres décimaux de haute précision. Les ordinateurs ne peuvent compter qu'en termes de fractions de puissances de moitié, à savoir 1/2, 1/4, 1/8, 1/16, 1/32, etc. comme 1/3 ou 4,99 parfaitement précis sans renoncer à beaucoup de performance.

Excel est assez bon pour cacher ce fait, c'est seulement si vous activez une vingtaine de décimales que vous voyez cette erreur. Cela se fait en arrondissant, mais en arrondissant uniquement lorsque le résultat est affiché.

Vous dites que c'est pour les calculs financiers, avez-vous vraiment besoin du résultat final affiché à 20 décimales? Ou avez-vous simplement besoin de vous assurer que le calcul est effectué avec suffisamment de précision pour éviter les erreurs d'arrondi? Si ce sont ces derniers, vous pouvez simplement avoir confiance dans le fait qu'Excel fait son travail depuis quelques années pour d'innombrables organisations financières, sans problème. Et que vous n’avez pas à vous soucier des erreurs d’arrondi qui vous causent des problèmes.


6
2017-11-02 23:47





Cela a été répondu ici avant.

Ce n'est pas parce que vous utilisez un nombre "Round" en base 10 que l'ordinateur stocke les nombres en binaire. Votre chiffre de base 10 rond se traduit par un nombre en binaire qui se répète, vous perdez des informations lors de la conversion de ce nombre décimal.

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

1) faites vos calculs à un certain nombre de décimales, puis arrondissez-les à des décimales moins nombreuses. 2) utiliser BCD ou une autre représentation décimale exacte.

À ma connaissance, Excel n'utilise pas # 2, alors choisissez une autre option.


3
2017-11-02 23:41





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 numéros.

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

ne recommanderiez pas que vous fassiez cela car cela peut introduire des erreurs d'arrondi dans votre calcul, car vous dites à arrondir à 2 décimales alors qu'actuellement l'erreur d'arrondi est à 15 (ish) décimales donc n'affectera pas du tout vos calculs.


1
2017-11-05 07:32



Et soyez conscient que "la précision affichée" est un paramètre de classeur, pas par feuille. - Lance Roberts