Testando uma célula para múltiplas condições antes de calcular o valor

1

Estou trabalhando em uma pasta de trabalho com uma fórmula

=IF(ISTEXT(G4),0,IF(ABS((G4/H4)-1)>=0.2,0,1))

Agora, se H4 tiver um valor de zero, recebo o erro do Excel #DIV/0! . Quero usar a fórmula ISERROR para substituir o #DIV/0! por traços. Aqui está minha fórmula

=IF(ISERROR(G4/H4),"--",(ISTEXT(G4),0,IF(ABS((G4/G4)-1)>=0.2,0,1)))

Isso é possível ou eu preciso de outra fórmula para fazer o que eu preciso?

Se G4 tiver um valor de texto, coloque um "0" em I4 ,    ou se o cálculo resultar em um local de erro "-" em I4 , caso contrário, use a fórmula IF(ABS((G4/H4)-1)>=0.2,0,1))

Qualquer ajuda seria muito apreciada

    
por Terry Tewell 11.02.2014 / 17:51

2 respostas

1

Você pode usar esta fórmula:

=IF(ISTEXT(G4),0,IFERROR((ABS((G4/H4)-1)<0.2)*1,"--"))

Se ABS((G4/H4)-1)>=0.2 for TRUE, então ABS((G4/H4)-1)<0.2 será FALSE e vice-versa.

Inverter a lógica dessa forma e transformar TRUE em 1 e FALSE em 0 é o que o (ABS((G4/H4)-1)<0.2)*1 faz.

    
por 12.02.2014 / 05:44
0

Isso deve funcionar -

=IF(ISTEXT(G4),0,IF(ISERROR(ABS((G4/H4)-1))=1,"--",IF(ABS((G4/H4)-1)>=0.2,0,1)))

    
por 11.02.2014 / 18:56