Excel 2007: a planilha mostra o resultado incorreto da multiplicação
O produto de 850 por 77,1 é 65535, mas o Excel 2007 diz que é 100000.
Esse bug foi relatado há alguns dias pelo usuário Molham Serry, no grupo de discussão microsoft.public.excel, da Usenet. Depois, outros participantes do grupo começaram a fazer testes e a descobrir coisas intrigantes. Quando se soma 1 ao resultado da conta, por exemplo, a resposta dada pelo Excel é 100001. No entanto, ao subtrair 1 do mesmo número, obtém-se 65534, que é o valor correto.
Um dos participantes do grupo avisou à Microsoft, que publicou ontem uma resposta sobre o assunto. David Gainer, do grupo que desenvolve o Excel, diz que sua equipe fez uma rápida análise do problema e chegou a algumas conclusões. A falha acontece com apenas 12 números reais em torno de 65535. Seis deles ficam entre 65534,99999999995 e 65535. Os outros seis estão entre 65535,99999999995 e 65536.
Não é possível digitar diretamente esses números no Excel. Se alguém tentar, eles serão arredondados para o valor mais próximo com 15 dígitos. No entanto, eles podem aparecer como resultado de cálculos. Nesse caso, os números são armazenados corretamente, mas são exibidos de forma errônea.
Com essa explicação, fica claro por que, ao subtrair 1 do resultado errado, obtém-se o valor correto, 65534. O que acontece é que 65534 fica fora da faixa de erro. Já quando se soma 1, o resultado é 65536, um dos números que são exibidos erradamente. Por isso, o Excel mostra o valor incorreto 100001.
Gainer diz que o problema deve ter surgido quando foram feitas mudanças na lógica de cálculo do Excel, durante o desenvolvimento da versão 2007. Ele acrescenta que sua equipe está trabalhando numa correção para a falha. Assim que estiver pronta e devidamente testada, será oferecida para download. Resta esperar que isso aconteça logo. Não é nada agradável descobrir que sua planilha se dá mal nos cálculos.
Blogged with Flock