El redondeo de Excel

Por el 27 de septiembre de 2007

en: Sin categoría

Se ha comentado mucho sobre este tema en estos dos últimos días, un usuario de Google Groups reporto hace poco, un error en el Excel 2007 de Microsoft. Dicho error ocurre cuando el resultado de una operación debe devolver 65535, pero no es así y devuelve 100.000 ¡Excel redondea a lo bestia!.

Veamos un ejemplo: si dispones de una versión de Microsoft Excel en tu Pc (espero que no!) prueba a hacer la siguiente operación.

- 850 por 77’1… El resultado es 100.000, este resultado puede llegar a ser creible si nuestra capacidad de cálculo no esta especialmente desarrollada.

- Ahora coge una calculadora o algún aparato capaz de realizar cálculos (un móvil por ejemplo), realiza la misma operación: 850 por 77’1… El resultado es 65.535, este resultado no concuerda con el anterior, esto nos lleva a pensar que uno de los dos sistemas está equivocado, en este caso hablamos de que se equivoca Microsoft Excel 2007 un programa que nos ha costado un mínimo de 150 €.

En OrlandoAlonzo.com.mx nos dan algunas pistas de a que puede ser debido este error:

… Pero es más complicado de lo que parece, y mucho peor. Si tan sólo fuese 850 * 77.1 el único fallo en los cálculos, se podría hacer un remedio temporal, pero hay otros fallos de cálculos en el programa. Una persona hizo una prueba rápida: creó una hoja de cálculo nueva para dividir 65,535 entre cada número de 1 hasta 65,535, y entonces multiplicar el número por ese resultado. Un ejemplo al azar: 65,535 entre 26 = 2,520.577, y luego multiplicando esos números…¡sorpresa! 100,000 otra vez. De acuerdo con datos del usuario, cerca de 10,000 de esos cálculos arrojaron resultados incorrectos.

El patrón aquí es obvio: el problema es con el número 65,535 (FFFF en hexadecimal), que curiosamente es el máximo entero que se puede representar de 16 bits. De nuevo, curiosamente, al convertir los cálculos erróneos a hexadecimal con Excel se obtiene FFFE, lo cual es una pista de que el problema podría bien ser un error bastante tonto.

Visto este bug puedes tomártelo de dos maneras: como un bug anecdótico que va a ser rápidamente reparado o como una prueba mas de la ineficiente forma en la que Microsoft desarrolla sus productos.

  • Entradas relacionadas:
  • No hay coincidencias

Dejar un comentario