Menu

Función ELEGIR en Excel: un valor según un número (CHOOSE)

=ELEGIR(B2;"Low";"Medium";"High") devuelve Low cuando B2 es 1, Medium cuando es 2 y High cuando es 3. Convierte números en nombres, elige un rango para sumar, sustituye un SI anidado y elige columnas con ELEGIRCOLS.

Todas las hojas de esta página están vivas: cambia un número o una fórmula y se recalculan.

=ELEGIR(B2;"Low";"Medium";"High") devuelve el valor de la posición que indica B2: Low para 1, Medium para 2, High para 3. El primer argumento es el índice, y todo lo que va detrás es la lista entre la que se elige. ELEGIR se llama CHOOSE en inglés, y la tabla muestra la fórmula en inglés; también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México).

Del número de prioridad a una etiqueta
C2
ABC
1TaskPriorityLabel
2Fix login3High
3Update docs1Low
4Review PR2Medium
5Clean inbox1Low
6Ship release3High
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =ELEGIR(B2;"Low";"Medium";"High")

Cambia una prioridad a 2 y su etiqueta pasa a Medium. Una prioridad de 4 da #VALUE! (#¡VALOR! en Excel en español; la tabla muestra los nombres de error en inglés), porque la lista solo tiene tres valores; lo mismo pasa con 0.

Sintaxis de ELEGIR

=CHOOSE(index_num, value1, [value2], ...)
  • index_num: un número de 1 al número de valores (hasta 254). Un decimal se trunca a número entero, así que 2,9 elige el valor 2.
  • value1, value2, ...: lo que se devuelve. Números, textos, referencias de celda, fórmulas o rangos enteros.

Nombres de los días a partir de una fecha

DIASEM (WEEKDAY en inglés) devuelve un número de 1 (domingo) a 7 (sábado), que es justo el índice que espera ELEGIR.

Nombre del día de una fecha
B2
AB
1DateDay
22026-03-02Mon
32026-03-06Fri
42026-03-07Sat
52026-03-11Wed
62026-03-15Sun
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =ELEGIR(DIASEM(A2);"Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat")

El 2026-03-02 es lunes, así que B2 muestra Mon. En Excel en español la fórmula es =ELEGIR(DIASEM(A2);"Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat"). Edita una fecha y el nombre la sigue. =TEXTO(A2;"ddd") da los mismos nombres cortos sin lista (la página de DIASEM lo explica). ELEGIR es la opción cuando quieres tus propias etiquetas, como "Entre semana" y "Fin de semana", o una semana que empieza otro día.

ELEGIR en lugar de un SI anidado

Cuando la condición es un número de posición, ELEGIR sustituye una cadena de SI. Las dos fórmulas de abajo devuelven la tasa de crecimiento del escenario de B1.

Elegir un escenario
B2
AB
1Scenario (1 to 3)2
2Growth (CHOOSE)5%
3Growth (nested IF)5%
4
5Sales this year120,000
6Sales next year126,000
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =ELEGIR(B1;3%;5%;8%)

El escenario 2 da 5% y unas ventas del año siguiente de 126,000. Elige 3 en B1 para el 8%. La versión con ELEGIR, =ELEGIR(B1;3%;5%;8%), se queda en un solo nivel por muchos escenarios que añadas; la versión con SI (IF en inglés) gana un nivel por cada uno. Cuando la condición es una etiqueta de texto, usa CAMBIAR; para tramos de valores como de 0 a 999, usa una tabla de búsqueda.

Elegir un rango entero

Los valores pueden ser rangos, así que ELEGIR puede decidir qué columna lee una SUMA o un PROMEDIO. Con las ventas de enero a marzo en B2:B5, C2:C5 y D2:D5 y un número de mes en F2:

=SUM(CHOOSE(F2, B2:B5, C2:C5, D2:D5))

En Excel en español: =SUMA(ELEGIR(F2;B2:B5;C2:C5;D2:D5)). Con 3 en F2 suma D2:D5, la columna de marzo. Con más de unas pocas columnas, enumerar cada rango se hace largo, e INDICE (INDEX en inglés) hace lo mismo con un solo rango: =SUMA(INDICE(B2:D5;0;F2)), donde el 0 significa "todas las filas" (la página de INDICE lo explica). ELEGIR sigue siendo útil cuando los rangos no están juntos o están en hojas distintas.

ELEGIRCOLS y ELEGIRFILAS

Microsoft 365 y Excel 2024 añaden dos funciones que toman columnas o filas enteras de un rango por número y desbordan el resultado. Los números negativos cuentan desde el final.

Solo el nombre y el stock
F1
ABCDEFG
1ProductCategoryPriceStockProductStock
2AppleFruit$1.2040Apple40
3PearFruit$1.5025Pear25
4CarrotVegetable$0.8060Carrot60
5BreadBakery$2.4015Bread15
6MilkDairy$1.1030Milk30
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =ELEGIRCOLS(A1:D6;1;4)

F1 desborda las columnas Product y Stock, con sus encabezados. En Excel en español la fórmula es =ELEGIRCOLS(A1:D6;1;4) (CHOOSECOLS en inglés). Los números pueden ir en cualquier orden: =ELEGIRCOLS(A1:D6;4;1) pone Stock antes que Product. =ELEGIRFILAS(A1:D6;1;-1) (CHOOSEROWS en inglés) devuelve la fila de encabezados y la última fila.

Práctica: costo de envío según el método

Métodos de envío
C2
ABC
1OrderMethodCost
210012
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

Tu turno: El método 1 cuesta 5, el método 2 cuesta 9 y el método 3 cuesta 15. En C2, usa ELEGIR para devolver el costo del número de método de B2.

Preguntas frecuentes

¿Qué hace ELEGIR en Excel?

Devuelve uno de una lista de valores según un número: =ELEGIR(2;"Red";"Green";"Blue") devuelve Green. El primer argumento elige la posición, y los valores que van detrás pueden ser números, textos, referencias de celda o rangos.

¿Por qué ELEGIR devuelve #¡VALOR!?

El índice es menor que 1 o mayor que el número de valores. =ELEGIR(4;"Red";"Green";"Blue") solo tiene tres valores entre los que elegir. Un índice decimal se trunca a número entero, así que 2,7 elige el segundo valor.

¿Cuándo debo usar ELEGIR en lugar de SI?

Cuando la condición es un número de posición como 1, 2, 3. =ELEGIR(B2;5;9;15) es más corta y más fácil de leer que =SI(B2=1;5;SI(B2=2;9;15)). Para condiciones que no son números consecutivos, usa SI.CONJUNTO, CAMBIAR o una tabla de búsqueda.

¿Qué es ELEGIRCOLS en Excel?

Una función más reciente que devuelve las columnas elegidas de un rango: =ELEGIRCOLS(A1:D5;1;4) devuelve la primera y la cuarta columna. ELEGIRFILAS hace lo mismo con las filas, y los números negativos cuentan desde el final. Las dos necesitan Microsoft 365 o Excel 2024.

Ilustración de los lenguajes de programación de Coddy

Aprende a programar con Coddy

COMENZAR