¿Excel tiene algo parecido a un interruptor de 3 vías?

¿Excel tiene algo parecido a un interruptor de 3 vías?

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á Truesi A1es 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.

información relacionada