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