IF function: é igual a uma soma não funciona

0

Eu tenho uma célula (A40) em uma planilha do Excel que contém a soma de um intervalo de valores (fórmula: =SUM(A1:A39) ).

Outra célula deve imprimir "OK" se a soma for 0 e "ERROR" se a soma não for 0. Eu tenho a seguinte fórmula: =IF(A40=0;"OK";"ERROR") . Infelizmente sempre imprime "ERRO".

A1 a A40 estão no formato "Currency", se isso for importante.

Isso é outro "nunca comparar pontos flutuantes a valores fixos, em vez disso, usar um pequeno intervalo de epsilon" -error? A correção a seguir funciona ... =IF(AND(A40>-0,1; A40<0,1);"OK";"ERROR") . Quantos zeros são "suficientes" para obter sempre a saída "OK" ou "ERROR" correta?

    
por D.R. 02.11.2015 / 20:26

1 resposta

2

Sim, você terá problemas ao comparar um ponto flutuante com um inteiro. Experimente =IF(ROUND(A40;2)=0;"OK";"ERROR")

Isso primeiro arredondará sua soma para duas casas decimais e fará a comparação.

    
por 02.11.2015 / 20:33