Cómo utilizar la función Cambiar de Excel para comparar con un rango de valores

Cómo utilizar la función Cambiar de Excel para comparar con un rango de valores

Me gustaría usar la función CAMBIAR para detectar si un número está entre otros dos números, si no, probar el siguiente rango de números, etc.

El objetivo es tener una respuesta de una celda y luego copiar la fórmula en una columna (de fechas en este ejemplo).

Probé esto:

=SWITCH(MONTH(44562);{1;2;3};"T1";{4;5;6};"T2";{7;8;9};"T3";{10;11;12};"T4")

Pero la función se derrama para cada elemento de la matriz y la comparación se realiza por nivel de la matriz:

Podría solucionar esto usando una función IFS, pero eso requeriría escribir (y evaluar) la prueba lógica para cada par de argumentos y eso es lo que me gustaría evadir.

Tal vez esté abordando este problema desde el ángulo equivocado, pero aun así me gustaría saber si este uso de SWITCH es posible de alguna manera. Gracias de antemano.


Las respuestas :

El de Reddy Lutonadio es muy flexible para listas de valores distintos. Es el que acepté.

El de Ron Rosenfeld es muy compacto, eficiente, puede trabajar con números reales pero las listas deben tener la misma longitud.

Mi opinión: use IFS para situaciones más complejas (y tal vez agregue la función LET a la mezcla).

Respuesta1

Puede probar una combinación de LET, SWITCH, FILTERy funciones como NOTse ISERRORmuestra en la siguiente fórmula

=LET(x,SWITCH(MONTH(F1),{1,2,3},"T1",{4,5,6},"T2",{7,8,9},"T3",{10,11,12},"T4"),FILTER(x,NOT(ISERROR(x))))
  • Función LET: permite calcular el x(que es la fórmula SWITCH) solo una vez.
  • Funciones NOT (ISERROR): devuelve las filas que no tienen error.
  • Función FILTRO: devuelve el único valor correcto.

ingrese la descripción de la imagen aquí

Respuesta2

Es posible que lo más simple no sea lo suficientemente flexible para sus necesidades. Pero para devolver el mismo resultado, usando SWITCH:

=SWITCH(INT((MONTH(A1)-1)/3)+1,1,"T1",2,"T2",3,"T3",4,"T4")

Puedes obtener el mismo resultado con fórmulas más simples:

=TEXT(INT((MONTH(A1)-1)/3)+1,"\T0")    
=CHOOSE(INT((MONTH(A1)-1)/3)+1,"T1","T2","T3","T4")

información relacionada