Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

error en suma por decimales

3,357 views
Skip to first unread message

Carlos

unread,
Oct 25, 2007, 6:20:02 AM10/25/07
to
Hola. Tengo a la vista la suma de una columna con dos decimales. Al sumar
varios términos, (1333,33+1333,33+1333,33) me da 4000, pero sabemos que el
resultado es 3999,99. Vale. Añado 0,01 en uno de los términos y el resultado
que aparece es: 8000,01 Estoy seguro que mi inexperiencia provoca este
error, pero, no obstante me gustaría averiguar donde reside el problema y
resolverlo. Gracias de antemano y saludos.

A. Leonardo

unread,
Oct 25, 2007, 9:35:09 AM10/25/07
to
Hola Carlos.

El problema es en la celda donde esta el resultado (4000) el formato de esta
celda no esta admitiendo decimales por lo cual redondea a 4000
si deseas ver el resultado exacto que como sabemos es 3999.99 pues a esta
celda dale formato de numero con 2 decimales y listo tendras tu resultado
que deseas.

Atte.
Leonardo


"Carlos" <Car...@discussions.microsoft.com> escribió en el mensaje
news:1997FCF4-5BEC-4381...@microsoft.com...

Carlos

unread,
Oct 25, 2007, 10:10:01 AM10/25/07
to
Hola Leonardo

Ya lo hice y no funcionó. No obstante, he descubierto que los términos
provienen de una división y, aunque yo veía 1333,33.- en realidad en la
barra de fórmulas estaba un decimal periódico, es decir: 1333,333333333...
Entonces, he borrado todos los treses a excepción de los dos primeros
decimales y ¡eureka! problema resuelto. Ya me extrañaba a mí que el excel
sumara mal.

De todas formas, muchas gracias.

julian-vlc-sp

unread,
Oct 25, 2007, 3:38:38 PM10/25/07
to
===========================================
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.
===========================================

Ya has descubierto que una cosa es lo que ves en una celda y otra cosa es lo
que tienes guardado en la celda.

Ahora lo que tenemos que conseguir es que no tengas que borrar esos números
que te 'sobran'.

Yo uso la versión XP de Excel, en dicha versión si entras en:

Herramientas --> Opciones --> Calcular

y seleccionas la opción Precisión de pantalla, Excel hará los cálculos con
los datos que están viendo en ese momento y no con los que tiene guardados.

Si en tu versión de Excel no tienes esta opción, mírate la ayuda de
REDONDEAR


SALUDOS.
Julián-Valencia-España
http://ijulian.iespana.es/


"Carlos" <Car...@discussions.microsoft.com> escribió en el mensaje

news:10B5277B-9FF9-4F16...@microsoft.com...

Carlos

unread,
Oct 25, 2007, 5:04:01 PM10/25/07
to
Hola Julian

Utilizo en este ordenador excel 2007 y esta opción aparece también en: menu
principal\opciones de excel\avanzadas\al calcular este libro\establecer
precisión de pantalla

Lo que pasa es que si la activo, aparece un mensaje como que perderá
precisión en todas las fórmulas. En fin, habiendo visto el problema, puedo
activarla en cualquier momento y, de momento, dejarla así.

Muchas gracias por tu ayuda.
Saludos y hasta pronto

julian-vlc-sp

unread,
Oct 26, 2007, 1:25:54 PM10/26/07
to
===========================================
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.
===========================================

Si y No, a ver si me explico con claridad.

En primer lugar, indicar que esta opción apenas la uso porque la mayoría de
mis libros los tengo desde versiones anteriores en las que esta opción no
existía o al menos yo no la conocía, y por tanto cuando necesité evitar este
inconveniente usaba REDONDEAR o funciones similares.

Ahora he hecho un prueba rápida que te comento para que la hagas tu y
decidas, o bien para que indagues sobre ella con la opinión de otros
compañeros mas experimentados en ella.

Todo esto porque no me parece adecuado que 'a mano' tengas que andar
'arreglando' valores, mi forma de ver la informática es que hay que invertir
el tiempo que haga falta al principio para luego trabajar lo menos posible.

Tal como yo lo veo, el mensaje que indicas es cierto pero 'reversible', es
decir, igual que pierdes precisión puedes ganarla.

En A1 pon 10
En B1 pon 3
En C1 pon =A1/B1 con pocos decimales, por ejemplo 2
En D1 por =C1 con muchos decimales, por ejemplo 10

Aumenta y disminuye los decimales de C1 y observa los cambios que se
producen en D1


SALUDOS.
Julián-Valencia-España
http://ijulian.iespana.es/


"Carlos" <Car...@discussions.microsoft.com> escribió en el mensaje

news:C6D3A0F9-8974-4D9D...@microsoft.com...

Carlos

unread,
Oct 27, 2007, 6:30:01 AM10/27/07
to
Hola Julián

Gracias por tu interés y me parece muy interesante tu apreciación. He hecho
pruebas y tanto el método @REDONDEAR como formato de
celdas\número\seleccionar posiciones decimales dan el mismo resultado.

También he hecho pruebas con dos términos que resultan exactos al 14º
decimal o así, (26/3 y 25/3), para comprobarlo. Lo que no veo es diferencia
con estos números en cuanto a activar o desactivar la precisión de pantalla,
tal vez haya que probar con otros términos.

Me gustaría saber si en excel se puede elegir el modo de redondear. Es
decir, en ciertos entornos, por convención, si el decimal siguiente es >= 5,
entonces se redondea por exceso y si es < 5 se redondea al término anterior,
(por defecto).

En fin, aunque el tema no parecía que tuviese entidad está dando para
bastante, al menos para que conozcamos mejor la herramienta excel.

Saludos cordiales,
Carlos

jeanka...@gmail.com

unread,
Jul 29, 2018, 3:55:36 PM7/29/18
to
buenas tardes quien me puede ayudar en este problema que tengo, poseo dos código en excel vba para ir sumando o que introduzco en una caja de texto y se valla acumulando en otra, el problema esta en que con este

Dim Diferencia As Double
Pago.txtPagado.Value = Format(Val(Replace(Pago.txtPagado.Value, ",", ".")) + Val(Replace(Pago.txtAbono.Value, ",", ".")), "#,##0.00")
Diferencia = Format(Val(Replace(Pago.txtPagado.Value, ",", ".")) - Val(Replace(Pago.txtTotal.Value, ",", ".")), "#,##0.00")
Pago.txtResto.Value = Diferencia
Pago.txtAbono.Value = ""

sumo 10.000 mas 10.000 me da como resultado es 10.010,00 y no entiendo
quitando le los formatos me queda este otro

Dim Diferencia As Double
Pago.txtPagado.Value = Val(Pago.txtPagado.Value) + Val(Pago.txtAbono.Value)
Diferencia = Val(Pago.txtPagado.Value - Val(Pago.txtTotal.Value))
Pago.txtResto.Value = Diferencia
Pago.txtAbono.Value = ""

que si realiza la suma y da el resultado que quiero pero sin el formato de miles y no me suma la parte decimal

quien me podría ayudar a solucionar este detalle de antemano agradezco su colaboración







0 new messages