Ir para o conteúdo
Kalambata

[Resolvido] Resultado 0 ?

Mensagens Recomendadas

Kalambata

Tenho aqui um problema que nunca me tinha surgido.

É o seguinte:

valor da Célula A1 ( Resulta do somatório de várias células) --> 1.684,190000000000000

valor da Célula A2 ( idem ) --> 1.684,190000000000000

valor da Célula A3 ( =A2-A1 ) --> -0,000000000001819

valor da Célula A4 ( =A1-A2 ) --> 0,000000000001819

Se nas células A1 e A2 eu introduzir manualmente os valores o resultado é, como pretendo, 0,000000000000000

Verifiquei, com 15 casas decimais, todos os valores que influenciam o resultado das células A1 e A2 e os valores estão corretos.

Alguém já passou por isto? O que fazer?

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

É um "problema" de precisão do Excel, pois o Excel cumpre o standard IEEE 754 e é uma questão de limitação do máximo/mínimo.

Lê estes artigos pois ambos explicam melhor do que eu esta questão:

http://blogs.office.com/b/microsoft-excel/archive/2008/04/10/understanding-floating-point-precision-aka-why-does-excel-give-me-seemingly-wrong-answers.aspx

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Kalambata

Tenho aqui um problema que nunca me tinha surgido.

É o seguinte:

valor da Célula A1 ( Resulta do somatório de várias células) --> 1.684,190000000000000

valor da Célula A2 ( idem ) --> 1.684,190000000000000

valor da Célula A3 ( =A2-A1 ) --> -0,000000000001819

valor da Célula A4 ( =A1-A2 ) --> 0,000000000001819

Se nas células A1 e A2 eu introduzir manualmente os valores o resultado é, como pretendo, 0,000000000000000

Verifiquei, com 15 casas decimais, todos os valores que influenciam o resultado das células A1 e A2 e os valores estão corretos.

Alguém já passou por isto? O que fazer?

Obrigado

Obrigado pela resposta. De facto desconhecia este "problema".

Uma vez que o resultado =0 ou <>0 é fundamental para o comportamento de outras funções a solução foi usar a função =ROUND()

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

Aqui fica mais uma curiosidade sobre o standard IEEE 754 ... a formula seguinte devolve o resultado Falso quando deveria dar Verdadeiro :/

=5,1-5=0,1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruirodrigues1971

Já me aconteceu estar a programar em VB.Net e ter pessoas a verificar os cálculos em Excel e tivemos esse problema hehehe ... e o que era engraçado é que o cálculo em VB.NET estava mais correto que o cálculo das tabelas oficiais legais que saíram em diário da república que como foi óbvio usaram a norma do excel (pois batiam com a nossa simulação em Excel hehehe). Só que ficamos com um problema porque o cliente usava as tabelas oficiais menos precisas hehehe ... já nem me lembro como resolvemos esse problema da diferença dentro do VB.NET

Editado por ruirodrigues1971

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.