¿Cómo ocultar los elementos utilizados previamente en una lista desplegable?
En Excel, crear una lista desplegable estándar es una técnica común de entrada de datos, pero ¿qué sucede si quieres que la lista desplegable se acorte cada vez que realizas una selección, eliminando los elementos seleccionados previamente para que cada opción solo pueda ser elegida una vez? Por ejemplo, imagina que tienes una lista desplegable con 100 nombres únicos: después de seleccionar un nombre, este se elimina de las opciones del menú desplegable, dejando 99 opciones. A medida que sigues haciendo selecciones, la lista se reduce automáticamente hasta que no quedan más opciones. Este nivel de interactividad puede ser bastante práctico en escenarios como la asignación de tareas sin duplicaciones, la organización de asientos o sorteos donde cada elección debe ser única. Sin embargo, Excel no ofrece esta funcionalidad directamente, por lo que necesitas emplear soluciones específicas. En las siguientes secciones, encontrarás instrucciones paso a paso sobre cómo lograr esto.
Ocultar elementos usados previamente en una lista desplegable con columnas auxiliares
Ocultar elementos usados previamente en una lista desplegable con columnas auxiliares
Supongamos que tienes una lista de nombres en la columna A, como se muestra en la captura de pantalla a continuación. Para configurar una lista desplegable que oculte los elementos utilizados previamente, procede paso a paso como se describe. Este enfoque utiliza columnas auxiliares adicionales para rastrear qué elementos ya han sido seleccionados y para construir la lista dinámica de origen de la lista desplegable. Aunque este método puede parecer elaborado, es sencillo y no requiere habilidades de programación.
Los escenarios aplicables incluyen la programación, la asignación de recursos o cualquier caso donde un elemento solo deba ser elegido una vez hasta que se agote la lista. La ventaja es la claridad a través de fórmulas visibles y lógica rastreable; sin embargo, requiere mantener columnas adicionales en tu hoja de cálculo.
1. Junto a tu lista de nombres, en la celda B1, introduce la siguiente fórmula para comprobar si un nombre ya ha sido seleccionado en el rango desplegable objetivo:
=IF(COUNTIF($F$1:$F$11,A1)>=1,"",ROW())
Esta fórmula compara cada nombre con las selecciones realizadas en la lista desplegable (rango F1:F11). Si el nombre ya ha sido elegido, devuelve una celda en blanco; de lo contrario, devuelve el número de fila como un valor auxiliar. Asegúrate de ajustar el rango F1:F11 para que coincida con la ubicación donde planeas colocar tus listas desplegables, y la referencia A1 a la ubicación de tu lista de nombres.
Nota: Verifica nuevamente que el rango 'F1:F11' abarque todas las celdas de la lista desplegable. La referencia 'A1' debe apuntar a la fila actual en tu lista de nombres.
2. Arrastra el controlador de relleno hacia abajo para aplicar esta fórmula a todas las filas de tu lista de nombres. Esto creará una serie de resultados auxiliares que identifican los nombres no utilizados.
3. En la columna C, configura otra fórmula auxiliar en la celda C1 para construir dinámicamente una lista limpia solo de 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 extrayendo los elementos apropiados de la columna A basándose en los valores auxiliares de la columna B. A medida que se eligen nombres y se eliminan de B, esta lista en la columna C se actualiza automáticamente. Si tu lista es más larga que 11 nombres, asegúrate de ajustar todos los rangos en consecuencia.
4. Copia esta fórmula hacia abajo para que coincida con la longitud de tu lista original de nombres. El rango que rellenes debe ser tan largo como tu lista en la columna A.
5. Para hacer que esta lista actualizada dinámicamente sea utilizable para tu lista desplegable, define un rango con nombre. Selecciona la nueva lista creada en la columna C (por ejemplo, C1:C11), luego haz clic en Fórmulas > Definir nombre.
6. En el cuadro de diálogo Nuevo nombre, ingresa un nombre (por ejemplo, namecheck), y usa esta fórmula de referencia dinámica para mantener el rango con nombre correctamente dimensionado a medida que se seleccionan nombres:
=OFFSET(Sheet2!$C$1,0,0,COUNTA(Sheet2!$C$1:$C$11)-COUNTBLANK(Sheet2!$C$1:$C$11),1)
Esto asegura que solo los valores no vacíos en la columna C se utilicen para las opciones de la lista desplegable. Revisa cuidadosamente el nombre de tu hoja y las referencias de celda, usando formatos de dirección exactos, para que coincidan con tu propia hoja de cálculo.
Nota: Si cambias la lista de nombres, agregas o eliminas filas, o usas una hoja de trabajo diferente, asegúrate de actualizar la fórmula en consecuencia para evitar errores.
7. Ahora, para crear la lista desplegable real, selecciona las celdas donde deseas que los usuarios realicen sus selecciones (por ejemplo, F1:F11). Ve a Datos > Validación de datos > Validación de datos.
8. En el cuadro de diálogo Validación de datos, bajo la pestaña Configuración, elige Lista y escribe =namecheck en el campo Fuente, haciendo referencia al rango con nombre dinámico que definiste.
Haz clic en Aceptar para finalizar. Cada vez que se selecciona un nombre en la lista desplegable, se omite en la lista para los otros menús desplegables, asegurando que todas las elecciones sean únicas. Si intentas seleccionar el mismo nombre en otra celda, verás que ya no está disponible como opción.
Consejo: No elimines ni sobrescribas ninguna de las columnas auxiliares (columnas B y C), ya que son esenciales para que la lista desplegable se actualice correctamente. Considera ocultar estas columnas si deseas mantener tu hoja de trabajo ordenada sin interrumpir la funcionalidad. Si encuentras problemas con las actualizaciones de la lista, verifica las fórmulas para detectar discrepancias de rango, o asegúrate de que todos los vínculos de validación de datos sean correctos y hagan referencia al rango con nombre adecuado.
Una limitación de este enfoque es que si muchos usuarios realizarán selecciones al mismo tiempo (por ejemplo, en una hoja de trabajo compartida), aún pueden surgir conflictos. Para soluciones más avanzadas, escalables o para automatizar esta tarea con menos desorden visible en la hoja de trabajo, considera usar VBA; la siguiente sección demuestra 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
Mejora tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!
Todos los complementos de Kutools. Un solo instalador
El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.





- Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
- Mejor juntos: productividad optimizada en todas las aplicaciones de Office
- Prueba completa de30 días: sin registro ni tarjeta de crédito
- La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos