Resumen —
ELEGIR(núm_índice; valor1; valor2; …)devuelve el elemento en la posiciónnúm_índicede la lista que le des:ELEGIR(2; "A"; "B"; "C")es"B". Elige por posición, no comparando un valor — que es justo lo que la convierte en la compañera perfecta de cualquier fórmula que ya produce un número de 1 a N (comoDIASEMoMES). Su poder poco aprovechado: los «valores» pueden ser rangos enteros, no solo celdas sueltas.
=ELEGIR(2; "Gold"; "Silver"; "Bronze") ' -> "Silver"
=ELEGIR(DIASEM(A2); "Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat")
=ELEGIR(MES(A2); "Q1";"Q1";"Q1";"Q2";"Q2";"Q2";"Q3";"Q3";"Q3";"Q4";"Q4";"Q4")
=SUMA(ELEGIR(scenario; Q1_Sales; Q2_Sales; Q3_Sales)) ' elige un rango entero
ELEGIR es una de las funciones más antiguas de Excel y una de las más discretamente útiles. La mayoría la conoce como una forma de convertir un número en una etiqueta, y nunca se da cuenta de que también puede devolver rangos enteros — que es donde hace cosas que ninguna otra función hace con tanta limpieza.
Nota: en la interfaz de Excel en español esta función se llama ELEGIR, y los códigos de error aparecen como #¡VALOR! y #N/D. Funciones relacionadas:
DIASEM(WEEKDAY),MES(MONTH),CAMBIAR(SWITCH),BUSCARV(VLOOKUP),SI.ERROR(IFERROR). Los ejemplos de esta guía ya usan los nombres en español; el comportamiento es idéntico al inglés.
Lo que aprenderás
- El modelo mental: elige por posición, no por búsqueda
- Por qué eso hace de ELEGIR la pareja natural de
DIASEM,MESy cualquier número de 1 a N - La trampa del
#¡VALOR!cuando el índice está fuera de rango (y qué hace un índice decimal) - ELEGIR vs CAMBIAR vs INDICE — elegir la correcta
- El superpoder: devolver rangos para cambiar de escenario o reordenar columnas
El modelo mental: elige por posición, no por coincidencia
Imagina una estantería numerada. ELEGIR toma un número de posición y te entrega lo que sea que esté en ese hueco:
=ELEGIR(3; "Gold"; "Silver"; "Bronze"; "Steel")
' ▲ posición 3 -> "Bronze"
El índice empieza en 1: 1 da el primer valor, 2 el segundo, y así. Esta es
toda la diferencia entre ELEGIR y su prima CAMBIAR.
CAMBIAR pregunta «¿qué caso es igual a mi valor?». ELEGIR pregunta «¿qué hay en
el hueco número N?» — nunca inspecciona el contenido, solo cuenta hasta la
posición. Así que ELEGIR brilla precisamente cuando ya tienes un número que
significa «el enésimo».
El uso clásico: convertir un número calculado en una etiqueta
Como tantas funciones de Excel devuelven un entero de 1 a N, ELEGIR es la forma
ordenada de traducir ese entero a algo humano. DIASEM devuelve de 1 a 7, MES
devuelve de 1 a 12 — pasa cualquiera directamente a ELEGIR:
=ELEGIR(DIASEM(A2); "Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat") ' nombre del día
=ELEGIR(MES(A2); "Jan";"Feb";"Mar";"Apr";"May";"Jun";
"Jul";"Aug";"Sep";"Oct";"Nov";"Dec") ' nombre del mes
=ELEGIR(REDONDEAR.MAS(MES(A2)/3;0); "Q1";"Q2";"Q3";"Q4") ' trimestre
El mapeo vive en línea, en orden, y no hay tabla de búsqueda que mantener. Cuando el origen es un entero secuencial limpio, esto supera tanto a un SI anidado como a una tabla auxiliar.
La trampa: un índice fuera de la lista
ELEGIR tiene una regla dura y una blanda.
Regla dura — fuera de rango es un error. Si núm_índice es menor que 1 o mayor
que la cantidad de valores que proporcionaste, ELEGIR devuelve #¡VALOR!:
=ELEGIR(4; "A"; "B"; "C") ' -> #¡VALOR! (solo existen 3 valores)
=ELEGIR(0; "A"; "B"; "C") ' -> #¡VALOR! (el índice empieza en 1, así que 0 no es válido)
Esto muerde cuando el índice viene de datos que pueden salirse de los límites — una celda vacía se lee como 0, un código que no esperabas se lee como N+1. Protégelo con SI.ERROR o valida el índice primero.
Regla blanda — los decimales se truncan. Un índice fraccionario se redondea
hacia abajo al entero más cercano antes de usarse, así que ELEGIR(2,9; …) se
comporta como ELEGIR(2; …). Útil saberlo, y de vez en cuando sorprendente.
El superpoder: ELEGIR puede devolver rangos enteros
Esta es la parte que la mayoría de los tutoriales se salta. Los argumentos valor
no tienen que ser valores sueltos — pueden ser rangos. Eso convierte a ELEGIR en
un conmutador de columnas o tablas enteras, lo que desbloquea dos patrones realmente
potentes.
Cambio de escenario. Apunta una misma fórmula a distintos conjuntos de datos según una celda selectora:
=SUMA(ELEGIR(scenario; Q1_Sales; Q2_Sales; Q3_Sales))
=PROMEDIO(ELEGIR($B$1; Region_North; Region_South; Region_West))
Cambia scenario de 1 a 2 y la SUMA reapunta a un rango completamente distinto —
sin reescribir, sin un SI envolviéndolo todo.
El truco de la búsqueda hacia la izquierda. El viejo remedio para «BUSCARV no puede mirar hacia la izquierda» es construir una tabla virtual reordenada con ELEGIR y una constante de matriz:
=BUSCARV(F2; ELEGIR({1\2}; C2:C100; A2:A100); 2; FALSO)
' presenta C (la clave) como columna 1 y A (la respuesta) como columna 2
ELEGIR({1\2}; …) devuelve una matriz de dos columnas con las columnas
intercambiadas, de modo que BUSCARV puede buscar en una columna que físicamente está
a la derecha de la respuesta. Es un truco clásico — y un buen momento para un juicio
de valor (más abajo).
ELEGIR vs CAMBIAR vs INDICE
Se solapan, pero cada una tiene su sitio:
- ¿El índice es un entero limpio de 1 a N que ya tienes? ELEGIR — sobre todo con
DIASEM/MES, o para conmutar rangos enteros. - ¿Seleccionas por un valor arbitrario (un código, una etiqueta, no secuencial)? CAMBIAR — compara valores; ELEGIR solo cuenta posiciones.
- ¿Eliges el enésimo elemento de un rango/lista ya existente?
INDICE y COINCIDIR o
INDICE(rango; n)— mejor cuando los candidatos ya viven en celdas en lugar de escribirse dentro de la fórmula.
El criterio
ELEGIR da lo mejor de sí cuando el índice es por naturaleza un entero secuencial
pequeño y las salidas son cortas y estables — nombres de día, nombres de mes,
etiquetas de trimestre, un puñado de rangos de escenario. Ahí es lo más directo que
puedes escribir. Pero sé disciplinado con sus límites. Una lista larga de valores
escritos a mano es datos disfrazados de fórmula; ponla en una tabla y usa una
búsqueda en su lugar, para que editar una etiqueta no signifique editar una fórmula.
Y el truco de búsqueda hacia la izquierda ELEGIR({1\2}; …), por elegante que sea,
existe para sortear una limitación de BUSCARV que
XLOOKUP eliminó por completo — en Microsoft 365, echa
mano de XLOOKUP y sáltate la gimnasia de reordenar. El valor duradero e insustituible
de ELEGIR es la selección por posición, sobre todo sobre rangos enteros. Úsala ahí y
es imbatible; úsala como sustituta de una tabla de búsqueda y solo estás haciendo una
fórmula más difícil de mantener.
Cómo ayuda ExcelMaster
La parte difícil de ELEGIR no es la sintaxis — es saber cuándo es la herramienta
correcta frente a una búsqueda, y proteger el índice para que nunca caiga fuera de
rango. ExcelMaster toma esa decisión por ti: usa ELEGIR para asignar a
etiquetas enteros calculados como DIASEM y MES, envuelve el índice con seguridad
cuando viene de datos en vivo, aplica el patrón de cambio de rangos para modelos de
escenario y te encamina a una búsqueda de verdad (o
XLOOKUP) cuando tus casos son en realidad una tabla.
Describe lo que quieres — «muestra el nombre del día para cada fecha» o «cambia este
informe entre los totales de Q1, Q2 y Q3» — y escribe la versión que no lanzará
#¡VALOR! en la fila que no esperabas.
Preguntas frecuentes
¿Cómo funciona la función ELEGIR en Excel?
=ELEGIR(núm_índice; valor1; valor2; …) devuelve el valor en la posición
núm_índice. El índice empieza en 1, así que ELEGIR(1; …) devuelve el primer
valor. Elige puramente por posición y nunca inspecciona los valores en sí.
¿Cuál es la diferencia entre ELEGIR y CAMBIAR?
ELEGIR selecciona por posición — le das un número N y devuelve el enésimo valor. CAMBIAR selecciona por coincidencia de valor — le das una expresión y encuentra el caso igual a ella. Usa ELEGIR cuando ya tienes un índice de 1 a N; usa CAMBIAR cuando comparas un código o una etiqueta.
¿Por qué ELEGIR devuelve #¡VALOR!?
Porque núm_índice está fuera de rango — menor que 1, o mayor que la cantidad de
valores que proporcionaste. Una celda vacía (que se lee como 0) es una causa
habitual. Valida el índice o envuelve la fórmula en
SI.ERROR.
¿Puede ELEGIR devolver un rango entero en lugar de un solo valor?
Sí — los argumentos de valor pueden ser rangos. =SUMA(ELEGIR(sel; RangoA; RangoB; RangoC)) elige un rango entero por posición, que es como ELEGIR impulsa el cambio de
escenario y el clásico truco de búsqueda hacia la izquierda ELEGIR({1\2}; …) para
BUSCARV.
¿Es ELEGIR mejor que una tabla de búsqueda?
Para listas cortas y estables impulsadas por un entero secuencial (nombres de día/mes/trimestre), ELEGIR es más limpia. Para listas largas o que se editan a menudo, una tabla de búsqueda de verdad con INDICE y COINCIDIR o XLOOKUP es más mantenible, porque editas datos en lugar de la fórmula.
Probado en
Probado en: Excel 365 (Windows 11) — última verificación el 08/07/2026.
Guías relacionadas: Excel CAMBIAR · INDICE y COINCIDIR · Excel BUSCARV · Excel SI.ERROR
