🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Función ELEGIR (CHOOSE) de Excel — Elige el enésimo elemento por posición (y su superpoder oculto)

|

Función ELEGIR (CHOOSE) de Excel — Elige el enésimo elemento por posición (y su superpoder oculto)

ResumenELEGIR(núm_índice; valor1; valor2; …) devuelve el elemento en la posición núm_índice de 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 (como DIASEM o MES). 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, MES y 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