Tabla de contenido
El tutorial explica la sintaxis y los usos básicos de la función ELECCIÓN y proporciona algunos ejemplos no triviales que muestran cómo utilizar una fórmula ELECCIÓN en Excel.
ELEGIR es una de esas funciones de Excel que pueden no parecer útiles por sí solas, pero que combinadas con otras funciones ofrecen una serie de ventajas impresionantes. En el nivel más básico, se utiliza la función ELEGIR para obtener un valor de una lista especificando la posición de ese valor. Más adelante en este tutorial, encontrará varios usos avanzados que sin duda merece la pena explorar.
Función CHOOSE de Excel - sintaxis y usos básicos
La función ELEGIR en Excel está diseñada para devolver un valor de la lista basado en una posición especificada.
La función está disponible en Excel 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010 y Excel 2007.
La sintaxis de la función ELEGIR es la siguiente:
CHOOSE(num_índice, valor1, [valor2], ...)Dónde:
Número_índice (obligatorio) - la posición del valor a devolver. Puede ser cualquier número entre 1 y 254, una referencia de celda u otra fórmula.
Valor1, valor2, ... - una lista de hasta 254 valores entre los que elegir. Valor1 es obligatorio, los demás valores son opcionales. Pueden ser números, valores de texto, referencias a celdas, fórmulas o nombres definidos.
He aquí un ejemplo de fórmula CHOOSE en su forma más simple:
=ELEGIR(3, "Mike", "Sally", "Amy", "Neal")
La fórmula devuelve "Amy" porque número_índice es 3 y "Amy" es el tercer valor de la lista:
Función CHOOSE de Excel - ¡3 cosas para recordar!
ELEGIR es una función muy sencilla y difícilmente encontrará dificultades para implementarla en sus hojas de cálculo. Si el resultado devuelto por su fórmula ELEGIR es inesperado o no es el resultado que buscaba, puede deberse a las siguientes razones:
- El número de valores a elegir está limitado a 254.
- Si número_índice es menor que 1 o mayor que el número de valores de la lista, se devuelve el error #¡VALOR!
- Si el número_índice es una fracción, se trunca al número entero más bajo.
Cómo utilizar la función CHOOSE en Excel - ejemplos de fórmulas
Los siguientes ejemplos muestran cómo CHOOSE puede ampliar las capacidades de otras funciones de Excel y ofrecer soluciones alternativas a algunas tareas comunes, incluso a las que muchos consideran inviables.
Excel CHOOSE en lugar de IFs anidados
Una de las tareas más frecuentes en Excel es devolver diferentes valores en función de una condición especificada. En la mayoría de los casos, esto se puede hacer utilizando una sentencia IF anidada clásica. Pero la función CHOOSE puede ser una alternativa rápida y fácil de entender.
Ejemplo 1. Devolver valores diferentes en función de la condición
Supongamos que tiene una columna de puntuaciones de alumnos y desea etiquetar las puntuaciones en función de las siguientes condiciones:
Resultado | Puntuación |
Pobre | 0 - 50 |
Satisfactorio | 51 - 100 |
Bien | 101 - 150 |
Excelente | más de 151 |
Una forma de hacerlo es anidar varias fórmulas IF una dentro de otra:
=IF(B2>=151, "Excelente", IF(B2>=101, "Bueno", IF(B2>=51, "Satisfactorio", "Deficiente"))
Otra forma es elegir una etiqueta que corresponda a la condición:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Pobre", "Satisfactorio", "Bueno", "Excelente")
Cómo funciona esta fórmula:
En el número_índice se evalúa cada condición y se devuelve TRUE si se cumple la condición, FALSE en caso contrario. Por ejemplo, el valor de la celda B2 cumple las tres primeras condiciones, por lo que obtenemos este resultado intermedio:
=CHOOSE(TRUE + TRUE + TRUE + FALSE, "Poor", "Satisfactory", "Good", "Excellent")
Dado que en la mayoría de las fórmulas de Excel VERDADERO equivale a 1 y FALSO a 0, nuestra fórmula sufre esta transformación:
=ELEGIR(1 + 1 + 1 + 0, "Deficiente", "Satisfactorio", "Bueno", "Excelente")
Una vez realizada la operación de suma, tenemos:
=CHOOSE(3, "Pobre", "Satisfactorio", "Bueno", "Excelente")
Como resultado, se devuelve el 3er valor de la lista, que es "Bueno".
Consejos:
- Para que la fórmula sea más flexible, puede utilizar referencias a celdas en lugar de etiquetas codificadas, por ejemplo:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)
- Si ninguna de sus condiciones es TRUE, el número_índice se pondrá a 0 forzando a su fórmula a devolver el error #¡VALOR! Para evitar esto, simplemente envuelva CHOOSE en la función IFERROR de la siguiente manera:
=IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Deficiente", "Satisfactorio", "Bueno", "Excelente"), "")
Ejemplo 2. Realizar diferentes cálculos en función de la condición
De forma similar, puede utilizar la función CHOOSE de Excel para realizar un cálculo en una serie de posibles cálculos/fórmulas sin anidar múltiples sentencias IF unas dentro de otras.
A modo de ejemplo, calculemos la comisión de cada vendedor en función de sus ventas:
Comisión | Ventas |
5% | $0 a $50 |
7% | De 51 a 100 dólares |
10% | más de $101 |
Con el importe de las ventas en B2, la fórmula adopta la siguiente forma:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)
En lugar de codificar los porcentajes en la fórmula, puede hacer referencia a la celda correspondiente de la tabla de referencia, si existe. Recuerde fijar las referencias con el signo $.
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)
Fórmula CHOOSE de Excel para generar datos aleatorios
Como usted probablemente sabe, Microsoft Excel tiene una función especial para generar números enteros aleatorios entre los números inferior y superior que especifique - RANDBETWEEN función. Nest en el número_índice de ELEGIR, y su fórmula generará casi cualquier dato aleatorio que desee.
Por ejemplo, esta fórmula puede producir una lista de resultados de exámenes aleatorios:
=CHOOSE(RANDBETWEEN(1,4), "Pobre", "Satisfactorio", "Bueno", "Excelente")
La lógica de la fórmula es obvia: RANDBETWEEN genera números aleatorios del 1 al 4 y CHOOSE devuelve el valor correspondiente de la lista predefinida de cuatro valores.
Nota: RANDBETWEEN es una función volátil y se recalcula con cada cambio que realice en la hoja de cálculo. Como resultado, su lista de valores aleatorios también cambiará. Para evitar que esto ocurra, puede sustituir las fórmulas por sus valores utilizando la función Pegado especial característica.
fórmula CHOOSE para hacer un Vlookup a la izquierda
Si alguna vez ha realizado una búsqueda vertical en Excel, sabrá que la función VLOOKUP sólo puede buscar en la columna situada más a la izquierda. En situaciones en las que necesite devolver un valor situado a la izquierda de la columna de búsqueda, puede utilizar la combinación INDEX / MATCH o engañar a VLOOKUP anidando la función CHOOSE en ella. He aquí cómo:
Supongamos que tiene una lista de puntuaciones en la columna A, los nombres de los estudiantes en la columna B, y desea recuperar una puntuación de un estudiante en particular. Dado que la columna de retorno está a la izquierda de la columna de búsqueda, una fórmula Vlookup normal devuelve el error #N/A:
Para solucionarlo, haz que la función ELEGIR intercambie las posiciones de las columnas, diciéndole a Excel que la columna 1 es B y la columna 2 es A:
=ELEGIR({1,2}, B2:B5, A2:A5)
Dado que proporcionamos una matriz de {1,2} en el campo número_índice la función CHOOSE acepta rangos en el argumento valor argumentos (normalmente, no lo hace).
Ahora, incrusta la fórmula anterior en el tabla_array argumento de VLOOKUP:
=VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)
Y voilà: la búsqueda a la izquierda se realiza sin problemas.
ELEGIR fórmula para devolver al día siguiente laborable
Si no está seguro de si debe ir a trabajar mañana o puede quedarse en casa y disfrutar de su merecido fin de semana, la función ELEGIR de Excel puede averiguar cuándo es el próximo día laborable.
Suponiendo que sus días laborables sean de lunes a viernes, la fórmula es la siguiente:
=HOY()+ELEGIR(DÍA DE LA SEMANA(HOY()),1,1,1,1,1,3,2)
Difícil a primera vista, pero si se observa más de cerca la lógica de la fórmula es fácil de seguir:
WEEKDAY(TODAY()) devuelve un número de serie correspondiente a la fecha de hoy, que va del 1 (domingo) al 7 (sábado). Este número va al número_índice de nuestra fórmula CHOOSE.
Valor1 - valor7 (1,1,1,1,1,3,2) determinan cuántos días hay que añadir a la fecha actual. Si hoy es domingo - jueves (index_num 1 - 5), se añade 1 para volver al día siguiente. Si hoy es viernes (index_num 6), se añade 3 para volver al lunes siguiente. Si hoy es sábado (index_num 7), se añade 2 para volver al lunes siguiente. Sí, así de sencillo :)
fórmula CHOOSE para devolver un nombre de día/mes personalizado a partir de la fecha
En situaciones en las que desee obtener el nombre de un día en el formato estándar, como el nombre completo (lunes, martes, etc.) o el nombre corto (lunes, martes, etc.), puede utilizar la función TEXTO como se explica en este ejemplo: Obtener el día de la semana a partir de la fecha en Excel.
Si desea devolver un día de la semana o un nombre de mes en un formato personalizado, utilice la función ELEGIR de la siguiente manera.
Para conseguir un día de la semana:
=CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")
Para conseguir un mes:
=CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
Donde A2 es la celda que contiene la fecha original.
Espero que este tutorial te haya dado algunas ideas de cómo puedes utilizar la función ELEGIR en Excel para mejorar tus modelos de datos. Te doy las gracias por leer y ¡espero verte en nuestro blog la semana que viene!
Descargar el cuaderno de prácticas
Ejemplos de la función CHOOSE de Excel