¿Cómo ocultar elementos ya utilizados en una lista desplegable?
En Excel, crear una lista desplegable estándar es una técnica habitual para la introducción de datos, pero ¿y si desea que dicha lista se reduzca automáticamente tras cada selección, eliminando las opciones ya elegidas para garantizar que cada elemento solo pueda seleccionarse una vez? Imagine, por ejemplo, que dispone de una lista desplegable con 100 nombres únicos: al seleccionar uno, este desaparece de las opciones disponibles, dejando 99. A medida que siga eligiendo elementos, la lista se irá acortando progresivamente hasta agotarse por completo. Este nivel de interactividad resulta especialmente útil en escenarios como la asignación de tareas sin duplicados, la distribución de asientos o sorteos donde cada elección debe ser única. Sin embargo, Excel no incluye esta funcionalidad de forma nativa, por lo que deberá implementar soluciones alternativas específicas. En las siguientes secciones encontrará instrucciones paso a paso para lograrlo.
Ocultar elementos usados anteriormente en Lista desplegable con columnas auxiliares
Ocultar elementos usados anteriormente en Lista desplegable con columnas auxiliares
Suponga que tiene una lista de nombres en la columna A, como se muestra en la siguiente captura de pantalla. Para configurar una lista desplegable que oculte automáticamente los elementos ya utilizados, siga paso a paso las instrucciones que se detallan a continuación. Este enfoque emplea columnas auxiliares adicionales para identificar qué elementos ya han sido seleccionados y generar dinámicamente la lista fuente de la desplegable. Aunque pueda parecer complejo a primera vista, el método es sencillo y no requiere conocimientos de programación.
Los escenarios aplicables incluyen la planificación de horarios, la asignación de recursos o cualquier situación en la que un elemento deba seleccionarse una sola vez hasta agotar la lista. Su principal ventaja reside en la claridad de las fórmulas visibles y en una lógica fácil de rastrear; no obstante, requiere mantener columnas adicionales en su hoja de cálculo.

1. Junto a su lista de nombres, en la celda B1, introduzca la siguiente fórmula para comprobar si un nombre ya se ha seleccionado en el rango de la lista desplegable objetivo:
=IF(COUNTIF($F$1:$F$11,A1)>=1,"",ROW()) Esta fórmula compara cada nombre con las opciones seleccionadas en la lista desplegable (rango F1:F11). Si el nombre ya ha sido elegido, devuelve una celda vacía; de lo contrario, devuelve el número de fila como valor auxiliar. Asegúrese de ajustar el rango F1:F11 para que coincida con la ubicación de sus listas desplegables y de actualizar la referencia A1 según la posición de su Lista de nombres.

Nota: Compruebe cuidadosamente que el rango «F1:F11» incluya todas las celdas de la lista desplegable. La referencia «A1» debe apuntar a la fila actual de su lista de nombres.
2. Arrastre el controlador de relleno hacia abajo para aplicar esta fórmula a todas las filas de su lista de nombres. Así obtendrá una serie de resultados auxiliares que identificarán los nombres no utilizados.

3. En la columna C, configura otra fórmula auxiliar en la celda C1 para generar dinámicamente una lista limpia con solo los nombres no utilizados:
=IF(ROW(A1)-ROW(A$1)+1>COUNT(B$1:B$11),"",INDEX(A:A,SMALL(B$1:B$11,1+ROW(A1)-ROW(A$1)))) Esta fórmula recopila todos los nombres no utilizados al extraer los elementos correspondientes de la columna A según los valores auxiliares de la columna B. A medida que se seleccionan nombres y estos desaparecen de la columna B, la lista en la columna C se actualiza automáticamente. Si su lista incluye más de 11 nombres, asegúrese de ajustar todos los rangos en consecuencia.

4. Copie esta fórmula hacia abajo hasta cubrir toda la longitud de su lista de nombres original. El rango que rellene debe coincidir exactamente con la extensión de su lista en la columna A.

5. Para que esta lista dinámica actualizada pueda usarse en su desplegable, defina un rango con nombre. Seleccione la lista recién creada en la columna C (por ejemplo, C1:C11) y haga clic en Fórmulas > Definir nombre.

6. En el cuadro de diálogo Nuevo nombre, introduce un nombre (por ejemplo,)namecheck) y utiliza la siguiente fórmula de referencia dinámica para que el rango con nombre se ajuste automáticamente a tus selecciones:
=OFFSET(Sheet2!$C$1,0,0,COUNTA(Sheet2!$C$1:$C$11)-COUNTBLANK(Sheet2!$C$1:$C$11),1) Esto garantiza que únicamente los valores no vacíos de la columna C se utilicen como opciones en la lista desplegable. Revise atentamente el nombre de su hoja y las referencias de celda —empleando formatos de dirección exactos— para ajustarlos a su propia hoja de cálculo.

Nota: Si modifica la lista de nombres, añade o elimina filas o utiliza una hoja de cálculo distinta, asegúrese de actualizar la fórmula en consecuencia para evitar errores.
7. Ahora, para crear la lista desplegable real, seleccione las celdas en las que desee que los usuarios hagan sus selecciones (por ejemplo, F1:F11). Vaya a Datos > Validación de datos > Validación de datos.

8. En el cuadro de diálogo Validación de datos, en la pestaña Configuración, seleccione Lista y escriba =namecheck en el campo Origen, haciendo referencia al rango con nombre dinámico que definió.

Haga clic en Aceptar para finalizar. Cada vez que seleccione un nombre en la lista desplegable, este dejará de estar disponible en las demás, garantizando que todas las opciones sean únicas. Si intenta elegir el mismo nombre en otra celda, comprobará que ya no aparece como opción disponible.

Consejo: No elimine ni sobrescriba ninguna de las columnas auxiliares (columnas B y C), ya que son esenciales para que la lista desplegable se actualice correctamente. Si desea mantener su hoja de cálculo ordenada sin afectar su funcionamiento, considere ocultar estas columnas. En caso de experimentar problemas con las actualizaciones de la lista, revise las fórmulas en busca de incoherencias en los rangos o asegúrese de que todos los vínculos de validación de datos sean correctos y hagan referencia al rango con nombre previsto.
Una limitación de este enfoque es que, si varios usuarios realizan selecciones al mismo tiempo (por ejemplo, en una hoja compartida), aún pueden producirse conflictos. Para soluciones más avanzadas, escalables o para automatizar esta tarea con menos desorden visible en la hoja, considere usar VBA; la sección siguiente presenta esta alternativa.
Artículos relacionados:
¿Cómo insertar una lista desplegable en Excel?
¿Cómo crear una lista desplegable con imágenes en Excel?
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos