lunes, julio 27, 2009

Números grandes en Excel – segunda nota

Excel guarda los números con un límite de precisión de 15 cifras. Esto se hace evidente cuando introducimos un número de más de 15 cifras. Veamos qué pasa cuando introducimos el número 123456789123456789 (18 cifras) en una celda a la cual le hemos de antemano el formato de número para evita que Excel ponga el formato científico automáticamente




Al apretar Enter todas las cifras a la derecha de la posición 15 son convertidas en ceros.
El mismo problema existe cuando la parte fraccional de un número supera las 15 cifras.


Por lo general esta limitación no es significativa, en especial si usamos Excel para cálculos financieros. Si necesitamos operar con mayor precisión de la que permite Excel dos posibilidades son:


# - descargar el complemento xlPrecision


# - utilizar los conceptos esbozados por Tushar Metha en esta nota



La ventaja del complemento xlPrecision es que también soluciona el problema precisión y redondeo que existe en Excel.



Es este el problema de la conversión binaria (no sólo de Excel) que se hace evidente con este ejemplo: restamos 4.0 de 4.1



formato númerico en Excel

Aparentemente el resulta es el correcto: 0.1. Veamos qué pasa cuando formamos la celda para que muestre más de 15 decimales





El resultado no es exactamente 0.1.





Technorati Tags:

8 comentarios:

  1. Hola Buenas tardes.
    En los últimos meses me he convertido en un asiduo a este blog por motivos de trabajo. Me parece que es genial como tratáis temas tan puntuales de menejo de excel, díficil de encontrar en cualquier manual. En concreto yo he necesitado familiarizarme bastante con las tablas dinámicas y debo decir que me han facilitado el trabajo.
    Me gustaría saber si es posible resolverme esta duda, porque por mucho que he buscado en el blog no he conseguido encontrar una respuesta satisfactoría.
    En concreto se me plantea la siguiente duda: he creado una excel que contiene doce hojas, una por cada mes del año,y en cada hoja está la información de la empresa desglosada por los distintos departamentos que la componen, de aproximadamente unas 50.000 líneas cada una. Me gustarí saber como puedo crear una tabla dinámica que me permita conseguir la mismas prestaciones pero en donde este toda la información, es decir, que no me acumule, sino todo lo contrario, que pueda visualizar mes a mes todos los datos. He visto algun comentario al respecto pero no corresponde con lo que yo necesito.
    He estado buscando por la red y preguntando pero nadie me da una solución.

    Muchas gracias por su atención.

    Fran Ramírez.
    Aspe (Alicante)España.
    fran.ramirez@terra.es

    ResponderBorrar
  2. Hola Fran

    la consulta no está relacionada con el tema de la nota, por lo que te sugiero te pongas en contacto conmigo por medio del correo electrónico.
    Existen varias formas de enfrentar la tarea que quieres hacer, algunas han sido expuestas en este blog, pero nuevamente, ponte en contacto conmigo por mail.

    ResponderBorrar
  3. Ke tal Jorge, soy Ivan solo para agradecerte los ultimos dos temas que han resuelto mis dudas con respecto al uso de cifras de mas de 15 digitos en una celda. Mucho exito. Saludos.

    ResponderBorrar
  4. Buenas!!!!

    No he podido instalar correctamente "el complemento". Será, tal vez, por el sistema operativo de 64 bits.

    Gracias y un saludo

    ResponderBorrar
  5. Así parece ser. El complemento esta indicado para 32 Bits. Te sugiero que e pongas en contacto con el autor en el sitio del enlace.

    ResponderBorrar
  6. Interesante pero al final no veo el problema que mencionas ya que matemáticamente 0.1 es exactamente igual a 0.10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

    ResponderBorrar
  7. Si, pero cuando hacemos operaciones que dan como resultado (aparentemente) 0.1, como el ejemplo que pongo en la nota, Excel muestra 0.1 pero el número que usa es 0.0999999999999996. Matemáticamente distinto a 0.1

    ResponderBorrar
  8. Tienes toda la razón, perdona. No había visto la última parte del video, me la estaba ocultando la publicidad de Youtube.

    ¡Buen artículo!

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.