none
¿Que me ocurre con el cálculo Excel? RRS feed

  • Pregunta

  • Me ocurre lo siguiente:

    En una celda con formato número y 15 posiciones decimales introduzco el siguiente cálculo:

                     +209203,61-199523,72

    El resultado que me aparece es el siguiente:

    9679,8899999999800000000

    ¿Por qué se produce esta diferencia si el resultado correcto debe ser 9679,89?

    Gracias por su respuesta

    jueves, 10 de julio de 2014 14:06

Respuestas

  • Hola Buscador001, no sé si contestas a Peter o me contestas a mi... Si es a mi te diré que no has leido los enlaces que te he dejado..., y si es a Peter tampoco.

    Para solucionar tu problema:

    1- Hemos de conocer el porqué (ver enlaces)

    2- Actuar en consecuencia, fórmula para tu ejemplo:

    =SI(REDONDEAR(A1-B1;2)<>C1;"INCORRECTO";"CORRECTO")

    Versión corta de los enlaces (texto de pepeeeeee)>>>>>>>>>>>>>>>

    El culpable es la norma IEEE 754.

    Explicado en palabras llanas, el problemas es el siguiente:

    Los ordenadores NO trabajan con TODOS los números, por lo tanto, hay un "hueco" entre un número y el siguiente, cuando el cálculo produce un numero que cae en un hueco, se hace un redondeo al numero anterior o al siguiente.
    Normalmente ese redondeo no tiene transcendencia pero en algunos casos sí y se producen esas paradojas.

    Lo mismo te ocurre a ti cuando haces cálculos con el número 1/3, lo redondeas a 0.33333 (cortando en algún momentos pues 1/3 es 0,333... hasta el infinito) si operas con ese número puedes llegar a errores notables. Lo mismo ocurre con el número pi y con el e.

    <<<<<<<<<<<<<<<<<<<<<<<

    Saludos,

    Xavier

    * Las calculadoras tienen el mismo problema, puede "verse" con otros ejemplos.



    • Editado Icaro_cat viernes, 11 de julio de 2014 13:27
    • Marcado como respuesta Buscador001 viernes, 11 de julio de 2014 16:06
    viernes, 11 de julio de 2014 13:24

Todas las respuestas

  • Hola, solo es un tema de formato de celda, lo que puedes hacer es:

    Seleccionas la celda, vas la pestaña "Inicio", Grupo "Numero", luego seleccionas "numero"

    O ... seleccionas la celda y marcas el Boton de decimales que esta en tu pestaña "Inicio" Grupo "Número" 

    Si te ayude con tu consulta, por favor marcalo como respuesta.

    Saludos,


    Peter Chirinos | Microsoft Office Specialist, Software Developer, Microsoft Certified Professional, MAP | @peter_chirinos

    jueves, 10 de julio de 2014 15:56
  • Hola Buscador001, es un problema del cálculo con coma flotante en cualquier dispositivo digital.

    Te dejo dos enlaces:

    http://answers.microsoft.com/es-es/office/wiki/office_2010-excel/la-inform%c3%a1tica-y-los-n%c3%bameros/d4f0fad7-688d-4c15-839c-97d06cc7f40d 

    http://es.wikipedia.org/wiki/Coma_flotante 

    Con respecto a los 15 dígitos pepeeeeee ya lo explica en su artículo pero por si acaso: en Excel no se pueden representar números de más de 15 dígitos, con la coma (o punto) en la posición que se quiera. A partir del dígito 16 todos serán ceros (truncando el resultado)

    Saludos,

    Xavier

    jueves, 10 de julio de 2014 18:03
  • Gracias por tu respuesta, pero sigo teniendo un problema con el resultado de la operación

    Me explico con un ejemplo:

    Doy formato a todas las celdas como "numero" y "dos decimales"

    En la celda A1 introduzco el valor  :  209203,61

    En la celda B1 introduzco el valor  :  199523,72

    En la celda C1 introduzco el valor  :  9679,89

    Si en la celda D1 indico la siguiente formula : Si((A1-B1)<>C1;"INCORRECTO";"CORRECTO")

    La respuesta es siempre "INCORRECTO". Entiendo que es porque arrastra unos decimales que alteran el resultado

    Gracias

    viernes, 11 de julio de 2014 11:35
  • Hola Buscador001, no sé si contestas a Peter o me contestas a mi... Si es a mi te diré que no has leido los enlaces que te he dejado..., y si es a Peter tampoco.

    Para solucionar tu problema:

    1- Hemos de conocer el porqué (ver enlaces)

    2- Actuar en consecuencia, fórmula para tu ejemplo:

    =SI(REDONDEAR(A1-B1;2)<>C1;"INCORRECTO";"CORRECTO")

    Versión corta de los enlaces (texto de pepeeeeee)>>>>>>>>>>>>>>>

    El culpable es la norma IEEE 754.

    Explicado en palabras llanas, el problemas es el siguiente:

    Los ordenadores NO trabajan con TODOS los números, por lo tanto, hay un "hueco" entre un número y el siguiente, cuando el cálculo produce un numero que cae en un hueco, se hace un redondeo al numero anterior o al siguiente.
    Normalmente ese redondeo no tiene transcendencia pero en algunos casos sí y se producen esas paradojas.

    Lo mismo te ocurre a ti cuando haces cálculos con el número 1/3, lo redondeas a 0.33333 (cortando en algún momentos pues 1/3 es 0,333... hasta el infinito) si operas con ese número puedes llegar a errores notables. Lo mismo ocurre con el número pi y con el e.

    <<<<<<<<<<<<<<<<<<<<<<<

    Saludos,

    Xavier

    * Las calculadoras tienen el mismo problema, puede "verse" con otros ejemplos.



    • Editado Icaro_cat viernes, 11 de julio de 2014 13:27
    • Marcado como respuesta Buscador001 viernes, 11 de julio de 2014 16:06
    viernes, 11 de julio de 2014 13:24
  • Muchas gracias por tu respuesta

    Un saludo

    viernes, 11 de julio de 2014 16:07