En el mundo de Excel, la capacidad de filtrar datos de manera dinámica y eficiente es crucial para el análisis de datos. En este blog post, exploraremos una solución práctica y 100% funcional utilizando funciones de matrices dinámicas para filtrar un rango de celdas en función de columnas dinámicas y valores dependientes.
Filtrar Tabla usando Funciones de matrices dinámicas
Imagina la siguiente situación: tienes una tabla con múltiples columnas y quieres filtrar los datos según una columna específica, pero esa columna puede variar según tu elección. Por ejemplo, deseas filtrar los datos basados en el índice seleccionado, donde los valores únicos de esa columna determinan el filtro aplicado.

Paso 1: Selección Dinámica de Columnas e Índices
En primer lugar, vamos a crear una lista desplegable que nos permita elegir el índice de interés. Esto lo logramos utilizando la función de validación de datos en Excel. Una vez seleccionado el índice, necesitamos obtener los valores únicos de la columna correspondiente.
Utilizaremos la función INDIRECTO para obtener dinámicamente los valores de la columna seleccionada. Luego, filtraremos estos valores para eliminar cualquier celda vacía o nula.
Paso 2: Filtrado Dinámico de Datos
Ahora que tenemos los valores únicos de la columna seleccionada, es hora de filtrar los datos de la tabla principal en función de estos valores. Utilizaremos la función FILTRAR para lograr esto. Es importante vincular dinámicamente la columna de filtro seleccionada con la lista desplegable de índices para garantizar la flexibilidad de nuestro filtro.
=UNICOS(FILTRAR(INDIRECTO("Tabla1[" &A21& "]"),INDIRECTO("Tabla1[" &A21& "]")<>0))
Paso 3: Selección de Columnas para Mostrar
Una vez que hemos filtrado los datos, es posible que solo queramos mostrar ciertas columnas de la tabla principal junto con los resultados del filtro. Para lograr esto, emplearemos la función ELEGIRCOLS junto con la función COINCIDIR. Esto nos permitirá seleccionar dinámicamente las columnas que deseamos mostrar en función del índice seleccionado.
Paso 4: Visualización del Resultado Final
Finalmente, para una presentación más organizada de nuestros datos filtrados, podemos apilar los encabezados de las columnas junto con los datos filtrados. Esto se puede lograr fácilmente utilizando la función APILARV.
=APILARV(ELEGIRCOLS(Tabla1[#Encabezados],1,2,3,4,COINCIDIR(A21,Tabla1[#Encabezados],0)),ELEGIRCOLS(FILTRAR(Tabla1,INDIRECTO("Tabla1[" &A21& "]")=A25),1,2,3,4,COINCIDIR(A21,Tabla1[#Encabezados],0)))
Con estos pasos, hemos creado un sistema dinámico y eficiente para filtrar tablas en Excel basado en columnas dinámicas y valores dependientes. Esta técnica no solo mejora la flexibilidad de nuestros análisis de datos, sino que también ahorra tiempo y esfuerzo al automatizar el proceso de filtrado. Si te gustaría ver estos pasos en acción, asegúrate de ver el video adjunto donde se demuestra este caso práctico utilizando funciones de matrices dinámicas 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.
