¿Te gustaría aprender cómo vincular una lista desplegable en Excel? Una lista desplegable de Excel es una característica útil cuando estás creando formularios de entrada de datos o paneles de Excel.
Muestras una lista de elementos como un menú desplegable en una celda, y el usuario puede hacer una selección en el menú desplegable. Esto podría ser útil cuando tienes una lista de nombres, productos o regiones que a menudo necesitas ingresar en un conjunto de celdas.
Ejemplo de una lista desplegables en Excel
A continuación te mostramos un ejemplo de una lista desplegable de Excel:
Aquí puedes leer sobre: Cómo Copiar Una Hoja Excel A Otro Libro – Tutorial
En el ejemplo mostrado en la imagen, se ha usado los elementos en A2: A6 para crear un menú desplegable en C3. A veces, sin embargo, es posible que quieras utilizar más de una lista desplegable en Excel de modo que los elementos disponibles en una segunda lista desplegable dependan de la selección realizada en la primera lista desplegable.
Estos se denominan listas desplegables dependientes en Excel.
A continuación se muestra un ejemplo de lo que se quiere explicar con una lista desplegable en Excel dependiente:
Puedes ver que las opciones en el menú desplegable 2 dependen de la selección realizada en el menú desplegable 1.
Si seleccionas ‘Frutas’ en el menú desplegable 1, se muestran los nombres de las frutas, pero si seleccionas Verduras en el menú desplegable 1, entonces se muestran los nombres de las verduras en el menú desplegable 2. Esto se denomina lista desplegable en Excel condicional o dependiente.
Crear una lista desplegable en Excel dependiente
Estos son los pasos para crear una lista desplegable en Excel dependiente:
- Paso 1: Selecciona la celda donde quieres la primera lista desplegable (principal).
- Paso 2: dirígete a Datos -> Validación de datos. Esto abrirá el cuadro de diálogo de validación de datos.
- Paso 3: En el cuadro de diálogo de validación de datos, dentro de la pestaña de configuración, selecciona la opción Lista.
- Paso 4: En el campo Fuente, especifica el rango que contiene los elementos que se mostrarán en la primera lista desplegable.
- Paso 5: Haz clic en Aceptar. Esto creará el menú desplegable 1.
- Paso 6: Selecciona el conjunto de datos completo (A1: B6 en este ejemplo).
- Paso 7: Dirígete a Fórmulas -> Nombres definidos -> Crear a partir de la selección (o puedes usar el atajo de teclado Control + Mayús + F3).
- Paso 8: En el cuadro de diálogo ‘Crear nombre a partir de la selección‘, marca la opción Fila superior y desmarca todas las demás. Al hacer esto, se crean 2 rangos de nombres (‘Frutas’ y ‘Verduras’). El rango de frutas con nombre se refiere a todas las frutas de la lista y el rango de Verduras con nombre se refiere a todas las verduras de la lista.
- Paso 9: Haz clic en Aceptar.
- Paso 10: Selecciona la celda donde quieres la lista desplegable Dependiente / Condicional (E3 en este ejemplo).
- Paso 11: Dirígete a Datos -> Validación de datos.
- Paso 12: En el cuadro de diálogo Validación de datos, dentro de la pestaña de configuración, asegúrate de que Lista esté seleccionada.
- Paso 13: En el campo Fuente, ingresa la fórmula = INDIRECTO (D3). Aquí, D3 es la celda que contiene el menú desplegable principal.
- Paso 14: Haz clic en Aceptar.
Ahora, cuando realizas la selección en el menú desplegable 1, las opciones enumeradas en la lista desplegable 2 se actualizarán automáticamente.
¿Cómo funciona?
¿Cómo funciona esto? – La lista desplegable en Excel condicional (en la celda E3) se refiere a = INDIRECTO (D3). Esto significa que cuando seleccionas ‘Frutas‘ en la celda D3, la lista desplegable en E3 se refiere al rango denominado ‘Frutas’ (a través de la función INDIRECTA) y, por lo tanto, enumera todos los elementos de esa categoría.
- Nota importante:si la categoría principal es más de una palabra (por ejemplo, ‘Frutas de temporada‘ en lugar de ‘Frutas‘), entonces debe usar la fórmula = INDIRECTO (SUSTITUIR (D3,”“,”_”)), en lugar de la función INDIRECTA simple que se muestra arriba.
La razón de esto es que Excel no permite espacios en rangos con nombre. Entonces, cuando creas un rango con nombre usando más de una palabra, Excel inserta automáticamente un guión bajo entre las palabras.
Por ejemplo: cuando creas un rango con nombre con ‘Frutas de temporada’, se llamará Season_Fruits en el backend. El uso de la función SUSTITUIR dentro de la función INDIRECTO asegura que los espacios se conviertan en guiones bajos.
Restablecer / borrar el contenido de la lista desplegable dependiente automáticamente
Cuando hayas realizado la selección y luego cambies el menú desplegable principal, la lista desplegable dependiente no cambiará y, por lo tanto, será una entrada incorrecta.
- Por ejemplo: Si seleccionas ‘Frutas’ como la categoría y luego seleccionas Apple como el elemento, y luego regresa y cambia la categoría a ‘Verduras’, el menú desplegable dependiente continuará mostrando Apple como el elemento.
Puedes usar VBA para asegurarte de que el contenido de la lista desplegable dependiente se restablezca siempre que se cambie la lista desplegable principal. Aquí está el código VBA para borrar el contenido de una lista desplegable dependiente:
Private Sub Worksheet_Change (ByVal Target As Range)
En caso de error, reanudar siguiente
Si Target.Column = 4 Entonces
Si Target.Validation.Type = 3 Entonces
Application.EnableEvents = False
Target.Offset (0, 1) .ClearContents
Terminará si
Terminará si
exitHandler:
Application.EnableEvents = True
Salir de Sub
End Sub
¿Cómo funciona?
A continuación, se explica cómo hacer que este código funcione:
- Paso 1: Copia el código VBA.
- Paso 2: En el libro de trabajo de Excel donde tiene la lista desplegable dependiente, dirígete a la pestaña Desarrollador, y dentro del grupo ‘Código’, haz clic en Visual Basic (también puedes usar el atajo de teclado – ALT + F11).
- Paso 3: En la ventana del editor de VB, a la izquierda en el explorador de proyectos, verás todos los nombres de las hojas de trabajo. Haz doble clic en el que tiene la lista desplegable.
- Paso 4: Pega el código en la ventana de código a la derecha.
- Paso 5: Cierra el editor de VB.
Ahora, cada vez que cambies la lista desplegable principal, se activará el código VBA y se borrará el contenido de la lista desplegable dependiente (como se muestra a continuación).
Si no eres experto en VBA, también puedes usar un truco de formato condicional simple que resaltará la celda siempre que haya una falta de coincidencia. Esto puede ayudarte a ver y corregir visualmente la falta de coincidencia (como se muestra a continuación).
Estos son los pasos para resaltar las discrepancias en las listas desplegables dependientes:
- Paso 1: Selecciona la celda que tiene las listas desplegables dependientes.
- Paso 2: Dirígete a Inicio -> Formato condicional -> Nueva regla.
- Paso 3: En el cuadro de diálogo Nueva regla de formato, selecciona ‘Usar una fórmula para determinar qué celdas formatear‘.
- Paso 4: En el campo de fórmula, ingresa la siguiente fórmula: = ESERROR (VLOOKUP (E3, INDEX ($ A $ 2: $ B $ 6,, MATCH (D3, $ A $ 1: $ B $ 1)), 1,0))
- Paso 5: Configura el formato.
- Paso 6: Haz clic en Aceptar.
También te puede interesar aprender sobre: Cómo Agrupar Una Tabla Dinámica Por Meses En Excel
La fórmula utiliza la función BUSCARV para comprobar si el elemento de la lista desplegable dependiente es el de la categoría principal o no. Si no es así, la fórmula devuelve un error. Esto es utilizado por la función ESERROR para devolver VERDADERO que le dice al formato condicional para resaltar la celda.
Como podrás ver, esta es la forma correcta de vincular una lista desplegable en Excel. Cada vez que puedas, toma este pequeño tutorial de práctica para que puedas aplicar esta característica útil. Esperamos haberte ayudado.
Me llamo Javier Chirinos y soy un apasionado de la tecnología. Desde que tengo uso de razón me aficioné a los ordenadores y los videojuegos y esa afición terminó en un trabajo.
Llevo más de 15 años publicando sobre tecnología y gadgets en Internet, especialmente en mundobytes.com
También soy experto en comunicación y marketing online y tengo conocimientos en desarrollo en WordPress.