Filtrado multi-checkbox con comparación perpendicular
Joan Recasens plantea un problema muy práctico en plena Navidad: tiene una lista de registros y varios checkboxes, y necesita filtrar mostrando todos los registros que coincidan con al menos uno de los checkboxes marcados. El reto es que puede haber hasta 50 checkboxes dinámicos, así que montar un FILTRAR con cada condición a mano no es viable.
El fichero adjunto muestra la estructura: checkboxes en B5:B8 (TRUE/FALSE) vinculados a letras en C5:C8, y una tabla de datos en F:G con ID y Letra. Al marcar "b" y "c", deben aparecer solo los registros cuya letra sea "b" o "c".
Iván (AprendizDeExcel) sugiere inmediatamente la técnica de comparación perpendicular con ELEGIRFILAS, y Leo desarrolla la fórmula completa:
``
=FILTRAR(
F5:G14;
BYROW(
G5:G14 = ENFILA(SI(B5:B8; C5:C8; z); 3);
O
)
)
`
La magia está en varios niveles:
1. SI(B5:B8; C5:C8; z) — devuelve la letra si el checkbox está marcado, y si no, una variable indefinida z que genera un error #NOMBRE?. Esto es deliberado.
2. ENFILA(...; 3) — convierte el resultado en una fila horizontal, y el parámetro 3 descarta los errores. Solo quedan las letras de los checkboxes marcados.
3. G5:G14 = ENFILA(...) — aquí ocurre la comparación perpendicular: Excel compara cada celda de la columna (vector vertical) contra cada valor de la fila (vector horizontal), generando una matriz 2D de booleanos con todas las combinaciones.
4. BYROW(...; O) — colapsa cada fila de la matriz con la función O (OR en español), devolviendo TRUE si hay al menos una coincidencia.
El fichero también incluye una variante con ELEGIRFILAS que usa el mismo principio perpendicular pero construye los índices de fila con SECUENCIA y los colapsa con ENCOL:
`
=LET(
_Filtro; ENFILA(FILTRAR(C5:C8; B5:B8));
ELEGIRFILAS(
F4:G14;
ENCOL(
SI(G4:G14 = _Filtro; SECUENCIA(FILAS(F4:F14)); z);
3
)
)
)
``
Iván confirma que la solución de Leo es "infinitamente más rápida" con muchos datos comparada con un filtro convencional, gracias a que la comparación perpendicular resuelve todas las combinaciones en una sola operación matricial en lugar de encadenar condiciones.
Técnica muy potente para cualquier escenario de filtrado dinámico con múltiples criterios variables.
Más contenido de Excel en InflueXcel
- Reto de Excel: El cumpleaños de Bilbo 🎂 | CONTAR.SI y SUMAR.SI desde cero (Nivel 1) TutorialEn La Comarca se celebra el cumpleaños número 111 de Bilbo Bolsón: cerveza, pasteles, fuegos artificiales… y algún curioso escondido tras el
- ¡Excel PowerQuery Hack! Conexiones con rutas relativas en 10 minutos! Tutorial¿Harto de ajustar las conexiones en PowerQuery cada vez que compartes tu archivo de Excel? 🙄 Convierte las conexiones de PowerQuery con ruta
- Mejora un 90% el rendimiento de Power Query con SQLite TutorialPower Query es una herramienta potente para consolidar, combinar y calcular datos, pero cuando trabajamos con millones de registros y calcul
- Nueva Función IMPORTTEXT TutorialNueva función IMPORTTEXT en Excel!! https://techcommunity.microsoft.com/blog/microsoft365insiderblog/bring-data-into-excel-with-the-new-impo
- ¿Columnas con nombres distintos en Power Query? Tutorial¿Columnas con nombres distintos en Power Query? Aquí tienes la solución definitiva para normalizar tus datos y evitar errores al combinar fi
- BUSCARX con valor devuelto dinámico: elige la columna con un botón o un segmentador CasoUna integrante de la comunidad planteó un reto muy habitual al trabajar con tablas de varias columnas: tiene una lista de municipios con cua
- Saldo acumulado por mes: tres enfoques (REDUCE+BYROW, PIVOTARPOR+acumulado, MMULT) CasoJuan plantea una pregunta que parece sencilla y se acaba convirtiendo en tres clases magistrales sobre cómo recorrer una matriz mes a mes. T
- Mapa de España con burbujas: ubicar variables por provincia usando coordenadas X/Y CasoEsta semana surgió una duda muy visual en el grupo: cómo mostrar dos variables por provincia en un mapa de España — una pintada en intensida
- Regularización trimestral con AGRUPARPOR y ARCHIVOMAKEARRAY: del caos a una fórmula CasoCaso fresquito de la comunidad. Juan plantea un problema contable: tiene una tabla de movimientos (Nombre, Cuenta, Importe, Fecha) y necesit
- Grado de avance por proyecto: despivotar y volver a pivotar por fecha CasoNuevo caso de la comunidad con mucho jugo para los que trabajan con reporting de proyectos. Juan plantea un problema habitual en oficinas té