En resumen, si uno quisiera hacer un cambio IF
a) si A < 0,5... B = 10.
b) si A >= 0,5... B = 15.
c) si A > 1,0... B = 20.
¿Cómo se haría eso?
Respuesta1
Esto funcionará como una función de INTERRUPTOR: –
=CHOOSE(IF(A1<0.5,1,IF(AND(A1>=0.5,A1<=1),2,3)),10,15,20)
Pero esto es hacer IF anidado internamente.
La mejor forma de utilizar el interruptor de 3 vías es la siguiente: -
=IF(A1<0.5,10,IF(AND(A1>=0.5,A1<=1),15,20))
Respuesta2
Puedes anidar expresiones "si" como esta:
=IF(A1<0.5,10,IF(AND(A1>=0.5,A1<=1),15,IF(A1>1,20,"Something else")))
(Agregué A1<=1 en caso contrario porque A>1.0 implica A también >= 0.5)
Respuesta3
Esta es la forma más sencilla de hacer esto.
Un método más flexible para calcular es aprovechar el uso de True=1 en Excel. Suponiendo que el valor está en A1:
=((A1<0.5)*10)+((A1>=0.5)*15)+((A1>1)*20)
Esto le permitirá agregar cualquier cantidad de condiciones y lo sacará de los IF anidados.
Esto funciona porque en cada agrupación la evaluación es una función lógica que devuelve Verdadero o Falso, es decir, (A1<0.5)
devolverá True
si A1
es menor que 0.5
. Excel usa el valor de 1 cuando se usa Verdadero en una función aritmética.
El ejemplo anterior que puse no es exactamente correcto, algunos números generarán True para dos grupos diferentes. El grupo intermedio necesitaría una AND()
función para limitar como:
AND(A1>=0.5,A1<=1)
Respuesta4
La solución más corta debería ser:
=IF(A1<0.5,10,IF(A1<=1,15,20))
Debido a la primera parte, el AND en la segunda parte es innecesario.