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.
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?