¿Alguien puede decir qué hay de malo en mi función IF anidada para Excel?

¿Alguien puede decir qué hay de malo en mi función IF anidada para Excel?

Tengo la siguiente función:

=SI(B4<5, "Excelente", SI(O(B4>5, B4<7), "Bueno", SI(B4>=7, "Satisfactorio")))

Quiero dar excelente si el valor de la celda es inferior al 5 %, dar Bueno si está entre el 5 y 7 por ciento y dar satisfactorio si el valor de la celda es mayor que el 7 %.

Los valores de celda (B4) a los que se refiere la función están en porcentajes. ¿Alguien ve lo que está mal?

Respuesta1

Mostrar como % es formato; el valor se almacena como el valor real (decimal), no como el número entero de porcentaje. Para probar <5%, use <.05, etc.

Por cierto, si desea probar un valor entre 5% y 7%, use AND en lugar de OR. O será cierto para, digamos, el 3% porque es <7%, o el 8% porque es más del 5%.

Además, tendrá agujeros en sus rangos si prueba solo < y >; debe prever cuándo los valores son exactamente iguales. Averigua si quieres <= vs. > o < vs. >=.

También puedes guardar un IF. Sus dos primeros IF prueban todo <.07, por lo que la condición falsa será >=.07. La forma general de IF es IF (condición, resultado verdadero, resultado falso). Entonces tu fórmula se vería así:

=IF(B4<.05, "Excellent", IF(AND(B4>=.05, B4<=.07), "Good", "Satisfactory"))

Respuesta2

Como el porcentaje está entre 0 y 1, debes reescribir si la función es como B4<0,05... Debería ser así:

=IF(B4<0.05, "Excellent", IF(OR(B4>0.05, B4<0.07), "Good", IF(B4>=0.07, "Satisfactory")))

Como veo tu función SI, olvidaste definir el 5% en tu función

información relacionada