¿Cómo filtrar datos de la selección de la lista desplegable en Excel?
En Excel, la mayoría de nosotros podemos filtrar datos mediante la función de filtro. Pero, ¿alguna vez ha intentado filtrar datos de la selección de la lista desplegable? Por ejemplo, cuando selecciono un elemento de la lista desplegable, quiero que sus filas correspondientes se filtren como se muestra en la siguiente captura de pantalla. En este artículo, hablaré sobre cómo filtrar datos mediante el uso de la lista desplegable en una o dos hojas de trabajo.
Filtrar datos de la selección de la lista desplegable en una hoja de trabajo con fórmulas auxiliares
Filtrar datos de la selección de la lista desplegable en dos hojas de trabajo con código VBA
Filtrar datos de la selección de la lista desplegable en una hoja de trabajo con fórmulas auxiliares
Para filtrar los datos de la lista desplegable, puede crear algunas columnas de fórmulas auxiliares, siga los siguientes pasos uno por uno:
1. Primero, inserte la lista desplegable. Haga clic en una celda donde desea insertar la lista desplegable, luego haga clic en Datos > Validación de datos > Validación de datos, ver captura de pantalla:
2. En el estalló Validación de datos cuadro de diálogo, debajo del Ajustes seleccione Lista del desplegable Permitir desplegable y luego haga clic en para elegir la lista de datos en la que desea crear la lista desplegable, vea la captura de pantalla:
3. Y luego haz clic OK , la lista desplegable se inserta de una vez, y elija un elemento de la lista desplegable, luego ingrese esta fórmula: = FILAS ($ A $ 2: A2) (A2 es la primera celda dentro de la columna que contiene el valor de la lista desplegable) en la celda D2, y luego arrastre el controlador de relleno hacia las celdas para aplicar esta fórmula, vea la captura de pantalla:
4. Continúe ingresando esta fórmula: = SI (A2 = $ H $ 2, D2, "") en la celda E2, y luego arrastre el controlador de relleno hacia abajo para completar esta fórmula, vea la captura de pantalla:
Note: En la fórmula anterior:A2 es la primera celda dentro de la columna que contiene el valor de la lista desplegable,H2 es la celda donde se coloca la lista desplegable, D2 es la primera fórmula de columna auxiliar.
5. Y luego escribe esta fórmula: = SIERROR (PEQUEÑO ($ E $ 2: $ E $ 17, D2), "") en la celda F2, luego arrastre el controlador de relleno hacia las celdas para completar esta fórmula, vea la captura de pantalla:
Note: En la fórmula anterior: E2: E17 es la segunda celda de fórmula auxiliar, D2 es la primera celda de la primera columna de fórmula auxiliar.
6. Después de insertar las columnas de la fórmula auxiliar, debe generar el resultado filtrado en otra ubicación, aplique esta fórmula: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") en la celda J2, y luego arrastre el controlador de relleno de J2 a L2, y se extrajo el primer registro de los datos basado en la lista desplegable, vea la captura de pantalla:
Note: En la fórmula anterior: A2: C17 son los datos originales que desea filtrar, F2 es la tercera columna de fórmula auxiliar, J2 es la celda donde desea generar el resultado del filtro.
7. Y luego continúe arrastrando el controlador de relleno hacia las celdas para mostrar todos los registros filtrados correspondientes, vea la captura de pantalla:
8. A partir de ahora, cuando seleccione un elemento de la lista desplegable, todas las filas basadas en esta selección se filtrarán a la vez, vea la captura de pantalla:
Filtrar datos de la selección de la lista desplegable en dos hojas de trabajo con código VBA
Si la celda de la lista desplegable en Sheet1 y los datos filtrados en Sheet2, al elegir un elemento de la lista desplegable, se filtrará otra hoja. ¿Cómo podrías terminar este trabajo en Excel?
El siguiente código VBA puede hacerle un favor, haga lo siguiente:
1. Haga clic derecho en la pestaña de la hoja que contiene la celda de la lista desplegable y luego elija Ver código desde el menú contextual, en el Microsoft Visual Basic para aplicaciones ventana, copie y pegue el siguiente código en el módulo en blanco:
Código de VBA: filtra los datos de la selección de la lista desplegable en dos hojas:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Not Intersect(Range("A2"), Target) Is Nothing Then
Application.EnableEvents = False
If Range("A2").Value = "" Then
Worksheets("Sheet2").ShowAllData
Else
Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value
End If
Application.EnableEvents = True
End If
End Sub
Note: En el código anterior: A2 es la celda que contiene la lista desplegable, y Sheet2 es la hoja de trabajo que contiene los datos que desea filtrar. El número 1 en el guión: Autofiltro 1 es el número de columna sobre el que desea filtrar. Puede cambiarlos según sus necesidades.
2. A partir de ahora, cuando seleccione un elemento de la lista desplegable en Sheet1, y los datos correspondientes se filtrarán en Sheet2, vea la captura de pantalla:
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!