Matemáticas simples de Excel incorrectas

Matemáticas simples de Excel incorrectas

En primer lugar, no quiero redondear mis números, estoy usando cifras de base 10, por lo que Excel no debería molestarse en realizar sumas y restas simples.

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

Debería obtener -5 sin embargo, F1 regresa

-4.999999999999770000000000000000

Es un documento financiero, por lo que quiero evitar el redondeo, más concretamente. ¿Por qué debería necesitarlo? Puse el formato de celda en Moneda con 2 decimales y obtendré el valor de visualización correcto, pero para todos los cálculos seguiré obteniendo -4,9999...7, lo que genera más errores con el formato condicional, etc.

Respuesta1

El problema se debe al hardware básico de casi todas las computadoras. Se basan en sistemas binarios, por lo que no cuentan del 0 al 9, sino que solo cuentan del 0 al 1, o base 2.

Esto está bien a menos que, como haya descubierto, desee números decimales de alta precisión. Las computadoras sólo pueden contar en términos de fracciones que son potencias de un medio, es decir, 1/2, 1/4, 1/8, 1/16, 1/32, etc. No existe una manera fácil para que una computadora represente algunos números como como 1/3 o 4,99 con perfecta precisión sin renunciar a mucho rendimiento.

Excel es bastante bueno para ocultar este hecho, solo si activa aproximadamente 20 decimales verá este error. Lo hace redondeando, pero sólo redondeando cuando se muestra el resultado.

Usted dice que esto es para cálculos financieros, ¿realmente necesita que el resultado final se muestre con 20 decimales? ¿O simplemente necesita asegurarse de que el cálculo se realice con suficiente precisión para que no se produzcan errores de redondeo? Si es lo último, quizás tengas que confiar en que Excel ha estado haciendo su trabajo durante algunos años para innumerables organizaciones financieras, sin problema. Y que no debes preocuparte de que esos errores de redondeo te causen problemas.

Respuesta2

Esto ha sido respondido aquí antes.

El hecho de que esté utilizando un número "redondo" en base 10 no ayuda: la computadora almacena números en binario. Su número redondo de base 10 se traduce en un número en binario que termina repitiéndose, pierde información al convertir ese decimal nuevamente.

Los usuarios de computadoras solucionan esto con dos métodos:

1) haga sus cálculos con un cierto número de decimales y luego redondeelos a menos decimales. 2) utilice BCD o alguna otra representación decimal exacta.

Hasta donde yo sé, Excel no usa el número 2, así que elija otra opción.

Respuesta3

Hay una opción en Excel "precisión como se muestra" que redondea automáticamente los números a la precisión que elija para mostrar sus números.

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

Sin embargo, no le recomendaría que haga eso, ya que eso puede introducir errores de redondeo en su cálculo, ya que le está indicando a Excel que redondee a 2 decimales, mientras que actualmente el error de redondeo es a 15 (más o menos) decimales, por lo que no afectará sus cálculos en absoluto.

información relacionada