Función CHOOSE de Excel

- Ej1 - Uso básico: usar la función CHOOSE sola para elegir un valor del argumento de lista
- Ej2 – Devolver diferentes resultados basados en múltiples condiciones
- Ej3 – Devolver diferentes resultados calculados basados en condiciones
- Ej4 – Elegir aleatoriamente de una lista
- Ej5 – Combinar las funciones CHOOSE y VLOOKUP para devolver un valor en la columna izquierda
- Ej6 – Devolver el día de la semana o el mes según una fecha dada
- Ej7 – Devolver la próxima fecha laborable/fin de semana basada en hoy
Descripción
La función CHOOSE devuelve un valor de la lista de argumentos de valores según el número de índice dado. Por ejemplo, CHOOSE(3,"Manzana","Melocotón","Naranja") devuelve Naranja, el número de índice es 3, y Naranja es el tercer valor después del número de índice en la función.
sintaxis y argumentos
Sintaxis de la fórmula
CHOOSE(número_índice, valor1, [valor2], …) |
Argumentos
|
Valor1, valor2… pueden ser números, textos, fórmulas, referencias de celda o nombres definidos.
Valor de retorno
La función CHOOSE devuelve un valor de una lista basado en la posición dada.
Uso y ejemplos
En esta parte, enumero algunos ejemplos simples pero representativos para explicar el uso de la función CHOOSE.
Ej1 - Uso básico: usando CHOOSE función sola para elegir un valor del argumento de lista
Fórmula1:
=CHOOSE(3,"a","b","c","d")
Devuelve: c, que es el tercer argumento después del número_índice de 3 en la función CHOOSE.
Nota: usa comillas dobles alrededor del valor si es texto.
Fórmula2:
=CHOOSE(2,A1,A2,A3,A4)
Devuelve: Kate, el valor de A2. Dado que el número_índice es 2, y A2 es el segundo valor en la función CHOOSE.
Fórmula3:
=CHOOSE(4,8,9,7,6)
Devuelve: 6, el cuarto argumento de la lista en la función.
Ej2 – Devolver diferentes resultados basados en múltiples condiciones
Supongamos que tienes una lista de desviaciones para cada producto que necesita ser etiquetada según ciertas condiciones como se muestra en la siguiente captura de pantalla.
Normalmente, puedes usar la función SI para manejarlo, pero aquí te muestro cómo usar la función CHOOSE para resolver este problema fácilmente.
Fórmula:
=CHOOSE((B7>0)+(B7>1)+(B7>5),"Superior","Medio","Inferior")
Explicación:
(B7>0)+(B7>1)+(B7>5): el número_índice, B7 es 2, que es mayor que 0 y 1 pero menor que 5, por lo que obtenemos el resultado intermedio:
=CHOOSE(Verdadero+Verdadero+Falso,"Superior","Medio","Inferior")
Como sabemos, Verdadero = 1, Falso = 0, por lo que la fórmula puede verse como:
=CHOOSE(1+1+0,"Superior","Medio","Inferior")
entonces
=CHOOSE(2,"Superior","Medio","Inferior")
Resultado: Medio
Ej3 – Devolver diferentes resultados calculados basados en condiciones
Supongamos que necesitas calcular los descuentos para cada producto basándote en la cantidad y el precio como se muestra en la siguiente captura de pantalla:
Fórmula:
=CHOOSE((B8>0)+(B8>100)+(B8>200)+(B8>300),B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
Explicación:
(B8>0)+(B8>100)+(B8>200)+(B8>300): número_índice, B8 es 102, que es mayor que 100 pero menor que 201, por lo que en esta parte, devuelve el resultado mostrado como:
=CHOOSE(verdadero+verdadero+falso+falso,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
=CHOOSE(1+1+0+0,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
entonces
=CHOOSE(2,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5: los valores entre los cuales elegir, el descuento es igual al precio * cantidad * porcentaje de descuento, ya que aquí el número_índice es 2, elige B8*C8*0.2
Devuelve: 102*2*0.2=40.8
Ej4 – Elegir aleatoriamente de una lista
En Excel, a veces, puede que necesites elegir aleatoriamente un valor de una lista dada, la función CHOOSE puede resolver este trabajo.
Elegir aleatoriamente un valor de una lista:
Fórmula:
=CHOOSE(RANDBETWEEN(1,5),$D$2,$D$3,$D$4,$D$5,$D$6)
Explicación:
RANDBETWEEN(1,5): número_índice, obtiene aleatoriamente un número entre 1 y 5
$D$2,$D$3,$D$4,$D$5,$D$6: la lista de valores entre los cuales elegir
Ej5 – Combinar las funciones CHOOSE y VLOOKUP para devolver un valor en la columna izquierda
Generalmente, usamos la función VLOOKUP =VLOOKUP(valor, tabla, col_índice, [rango_búsqueda]) para devolver un valor basado en un valor dado de un rango de tabla. Pero con la función VLOOKUP devolverá un valor de error mientras la columna de retorno esté a la izquierda de la columna de búsqueda como se muestra en la siguiente captura de pantalla:
En este caso, puedes combinar la función CHOOSE con la función VLOOKUP para resolver el problema.
Fórmula:
=VLOOKUP(E1,CHOOSE({1,2},B1:B7,A1:A7),2,FALSO)
Explicación:
CHOOSE({1,2},B1:B7,A1:A7): como argumento table_range en la función VLOOKUP. {1,2} significa mostrar 1 o 2 como argumento número_índice basado en el argumento col_num en la función VLOOKUP. Aquí, el col_num en la función VLOOKUP es 2, por lo que la función CHOOSE se muestra como CHOOSE(2, B1:B7,A1:A7), significa elegir un valor de A1:A7.
Ej6 – Devolver el día de la semana o el mes según una fecha dada
Con la función CHOOSE, también puedes devolver el día de la semana y el mes relativo según una fecha dada.
Fórmula 1: devolver el día de la semana por una fecha
=CHOOSE(DIASEM(),"Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado")
Explicación:
DIASEM(): el argumento número_índice, para obtener el número del día de la semana de la fecha dada, por ejemplo, DIASEM(A5) devuelve 6, entonces el argumento número_índice es 6.
"Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado": argumentos de lista de valores, comenzando con “Domingo” porque el número de día de la semana “1” indica “Domingo”.
Fórmula 2: devolver el mes por una fecha
=CHOOSE(MES(),"Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic")
Explicación:
MES(): argumento número_índice, que obtiene el número del mes de la fecha dada, por ejemplo, MES(A5) devuelve 3.
Ej7 – Devolver la próxima fecha laborable/fin de semana basada en hoy
En el trabajo diario, puede que quieras calcular el próximo día laborable o fin de semana basado en hoy. Aquí la función CHOOSE también puede ayudarte.
Por ejemplo, hoy es 20/12/2018, jueves, ahora necesitas obtener el próximo día laborable y fin de semana.
Fórmula 1: obtener la fecha de hoy
=HOY()
Resultado: 20/12/2018
Fórmula 2: obtener el número del día de la semana de hoy
=DIASEM(HOY())
Resultado: 5 (mientras hoy sea 20/12/2018)
La lista de números de días de la semana se muestra en la siguiente captura de pantalla:
Fórmula 3: obtener el próximo día laborable
=HOY()+CHOOSE(DIASEM(HOY()),1,1,1,1,1,3,2)
Explicación:
HOY(): devuelve la fecha actual
DIASEM(HOY()): argumento número_índice en la función CHOOSE, obtiene el número del día de la semana de hoy, por ejemplo, domingo es 1, lunes es 2…
1,1,1,1,1,3,2: argumento de lista de valores en la función CHOOSE. Por ejemplo, si DIASEM(hoy()) devuelve 1 (domingo), elige 1 de la lista de valores, entonces toda la fórmula cambia a =HOY()+1, lo que significa agregar 1 día para devolver el próximo lunes. Si DIASEM(hoy()) devuelve 6 (viernes), elige 3 de la lista de valores, porque viernes está a 3 días del próximo lunes.
Resultado (mientras hoy sea 20/12/2018):
=20/12/2018+CHOOSE(5,1,1,1,1,1,3,2)
=12/20/2018+1
=12/21/2018
Fórmula 4: obtener el próximo día de fin de semana
=HOY()+CHOOSE(DIASEM(HOY()),6,5,4,3,2,1,1)
Explicación:
6,5,4,3,2,1,1: argumento de lista de valores en la función CHOOSE. Por ejemplo, si DIASEM(hoy()) devuelve 1 (domingo), elige 6 de la lista de valores, entonces toda la fórmula cambia a =HOY()+6, lo que significa agregar 6 días y devolver el próximo sábado.
Resultado:
=20/12/2018+CHOOSE(5,6,5,4,3,2,1,1)
=12/20/2018+2
=12/22/2018
Las Mejores Herramientas de Productividad para Office
Kutools para Excel - Te Ayuda a Sobresalir Entre la Multitud
Kutools para Excel Presume de Más de 300 Funciones, Asegurando Que Lo Que Necesitas Está a Solo Un Clic de Distancia...
Office Tab - Habilita Lectura y Edición con Pestañas en Microsoft Office (incluye Excel)
- ¡Un segundo para cambiar entre decenas de documentos abiertos!
- Reduce cientos de clics de ratón para ti todos los días, di adiós al síndrome del túnel carpiano.
- Aumenta tu productividad en un 50% al ver y editar múltiples documentos.
- Trae Pestañas Eficientes a Office (incluye Excel), Al Igual Que Chrome, Edge y Firefox.