Eu tenho a seguinte função:
=SE(B4<5, "Excelente", SE(OU(B4>5, B4<7), "Bom", SE(B4>=7, "Satisfatório")))
Quero dar excelente se o valor da célula for inferior a 5%, dar Bom se estiver entre 5 e 7 por cento e dar satisfatório se o valor da célula for maior que 7%.
Os valores das células (B4) aos quais a função se refere estão em porcentagens. alguém vê o que há de errado?
Responder1
Exibindo como% está formatando; o valor é armazenado como o valor real (decimal), e não como o número inteiro de porcentagem. Para testar <5%, use <0,05, etc.
Aliás, se você quiser testar um valor entre 5% e 7%, use AND em vez de OR. OR será verdadeiro para, digamos, 3% porque é <7%, ou 8% porque é mais de 5%.
Além disso, você terá lacunas em seus intervalos se testar apenas < e >; você precisa prever quando os valores são exatamente iguais. Descubra se você deseja <= vs. > ou < vs. >=.
Você também pode salvar um IF. Seus dois primeiros IFs testam tudo <0,07, então a condição falsa será >=0,07. A forma geral para SE é SE(condição, resultado verdadeiro, resultado falso). Então sua fórmula ficaria assim:
=IF(B4<.05, "Excellent", IF(AND(B4>=.05, B4<=.07), "Good", "Satisfactory"))
Responder2
Como a forma percentual está entre 0 e 1, você deve reescrever se a função for B4<0,05 ... Deveria ser assim:
=IF(B4<0.05, "Excellent", IF(OR(B4>0.05, B4<0.07), "Good", IF(B4>=0.07, "Satisfactory")))
Pelo que vejo sua função IF, você esqueceu de definir 5% em sua função