¿Te gustaría filtrar datos en Excel de manera automática y dinámica con base en varias condiciones? En este post, aprenderás a usar el filtro avanzado en Excel de dos formas: una, presionando un botón para aplicar el filtro según tus condiciones, y la otra, de manera dinámica, aplicando el filtro en cuanto ingresas las condiciones.
Ver video Automatizar Filtros Avanzados en Excel
Suscríbete para más tutoriales
Descarga el archivo para practicar
Escribe tu correo electrónico para recibir gratis el archivo para practicar.
*Al enviar mi correo electrónico, acepto recibir noticias y ofertas. Puedo darme de baja en cualquier momento.
¿Qué es el Filtro Avanzado en Excel?
El filtro avanzado es una herramienta que permite filtrar datos en Excel según condiciones complejas que puedes especificar en un rango separado. Es ideal para situaciones donde los filtros estándar no son suficientes.
Paso 1: Preparar los Datos
Primero, vamos a preparar nuestra hoja de Excel. Supongamos que tenemos un rango de celdas con datos de ventas de productos. Si no sabes cómo funciona el filtro avanzado, te lo enseñaré rápidamente.
- Copia los encabezados de tu tabla de datos y pégalos en estas filas en blanco. Estos encabezados serán los que usaremos para definir nuestras condiciones de filtrado.
Paso 2: Aplicar el Filtro Avanzado Manualmente
El filtro avanzado funciona así: en los encabezados copiados, puedes escribir tus condiciones de filtrado. Por ejemplo, si quieres filtrar por “Cantidad > 120”, escribe esto en la celda correspondiente bajo “Cantidad”.
- Ve a la pestaña “Datos” y selecciona “Avanzado” en la sección de “Ordenar y filtrar”.
- En el cuadro de diálogo, selecciona el rango de la lista (tu tabla original) y el rango de criterios (los encabezados copiados con las condiciones).
- Haz clic en “Aceptar” y verás cómo se filtran los datos según las condiciones especificadas.
Paso 3: Automatizar el Filtro con un Botón
Imagina dos escenarios: uno donde tienes un botón que aplica el filtro según las condiciones que ingresas, y otro donde el filtro se aplica dinámicamente cuando ingresas una condición.
Convertir el Rango en Tabla
Primero, vamos a convertir nuestro rango de datos en una tabla:
- Selecciona el rango de datos y ve a la pestaña “Insertar”.
- Haz clic en “Tabla” y asegúrate de que la opción “La tabla tiene encabezados” esté seleccionada.
- Dale un nombre a la tabla en la pestaña “Diseño de tabla”.
Haz lo mismo para el rango de condiciones.
Grabar una Macro para el Filtro Avanzado
- Ve a la pestaña “Programador” y selecciona “Grabar macro”.
- Nombra la macro como “FiltroAvanzado” y elige guardar la macro en “Este libro”.
- Aplica el filtro avanzado como lo hiciste manualmente y detén la grabación de la macro.
Insertar un Botón para la Macro
- Ve a la pestaña “Insertar”, selecciona “Ilustraciones” y luego “Formas”.
- Dibuja un rectángulo y haz clic derecho para seleccionar “Asignar macro”.
- Elige la macro “FiltroAvanzado”, edita el texto del botón y ajusta su formato.
Ahora, cada vez que ingreses condiciones y presiones el botón, se aplicará el filtro avanzado.
Paso 4: Automatizar el Filtro Dinámicamente
Para aplicar el filtro dinámicamente cada vez que ingresas una condición:
- Ve a la pestaña “Programador” y selecciona “Visual Basic”.
- En el explorador de proyectos, selecciona “Hoja1” (u otra hoja correspondiente).
- En el editor de código, selecciona “Worksheet” en la lista desplegable y luego el evento “Change”.
Aquí está el código que necesitas para llamar a la macro “FiltroAvanzado” cuando cambie cualquier celda en el rango de criterios:
vbaCopy codePrivate Sub Worksheet_Change(ByVal Target As Range)
Call FiltroAvanzado
End Sub
Este código ejecuta la macro “FiltroAvanzado” cada vez que se cambia un valor en la hoja. Ahora, cada vez que ingreses una condición y presiones Enter, el filtro se aplicará automáticamente.
