Filtrar filas con todos los valores a cero: 4 enfoques con FILTRAR y BYROW
Juan tiene una tabla grande donde muchas filas contienen solo ceros y necesita filtrarlas para quedarse solo con las que tienen datos reales. Parece sencillo, pero la trampa está en que los ceros pueden estar en cualquier columna.
Con FILTRAR simple (Leo): si los ceros solo están en la primera columna, basta con filtrar por ella:
``
=FILTRAR(A2:F84; A2:A84 > 0)
`
Con LET + SI para limpiar residuos (+34 617): filtra las filas y luego sustituye los ceros internos por vacío para que el resultado quede limpio:
`
=LET(
f; FILTRAR(A2:F84; A2:A84 <> 0; "sin datos");
SI(ELEGIRCOLS(f; 1) = 0; ""; f)
)
`
Con BYROW para comprobar toda la fila (John): la solución más robusta. Verifica que al menos una celda de cada fila sea distinta de cero, independientemente de qué columna contenga el dato:
`
=FILTRAR(H3#; BYROW(H3# <> 0; O))
`
El truco: H3# <> 0 genera una matriz booleana, y BYROW con O (función OR) la colapsa en un vector — VERDADERO si cualquier celda de la fila es distinta de cero.
Con UNICOS y tercer argumento (Leo): UNICOS con el tercer argumento a 1` puede eliminar filas duplicadas por coincidencia exacta, pero Leo advierte que es arriesgado porque puede eliminar filas legítimas que coincidan con otra.
El problema
Juan tiene una tabla grande donde muchas filas contienen solo ceros y quiere quedarse únicamente con las que tienen datos reales. Parece trivial, pero hay trampa: los ceros pueden estar en cualquier columna, así que filtrar por una sola no basta. La comunidad aportó cuatro enfoques, de lo más simple a lo más robusto.
Enfoque 1: FILTRAR por una columna
Si sabes que los ceros solo aparecen en la primera columna, la solución de Leo es directa:
=FILTRAR(A2:F84; A2:A84>0)FILTRAR se queda con las filas cuyo valor en la primera columna es mayor que cero. Rápido y legible, pero solo válido cuando el dato "que importa" vive siempre en la misma columna.
Enfoque 2: LET y SI para limpiar residuos
Cuando el filtro deja ceros sueltos dentro de las filas que sí pasan, conviene limpiarlos. La propuesta usa LET para filtrar primero y después sustituir por vacío los ceros internos, de modo que el resultado quede presentable. La condición del filtro comprueba que la celda de referencia sea distinta de cero, y un tercer argumento devuelve un texto tipo "sin datos" si no queda ninguna fila. ELEGIRCOLS aísla la columna a revisar para decidir qué se blanquea.
Enfoque 3: BYROW para mirar toda la fila
La solución más robusta es la de John, porque no depende de ninguna columna concreta. La idea: comparar todo el rango con cero para generar una matriz de verdadero/falso, y colapsarla fila a fila con BYROW usando la función O (OR):
=FILTRAR(H3#; BYROW(matriz_booleana; O))Donde matriz_booleana es el rango comparado con cero (cada celda, distinta de cero). BYROW(...; O) devuelve VERDADERO si al menos una celda de la fila tiene dato, y FILTRAR conserva esas filas. Funciona con el rango desbordado H3#, así que se adapta solo si la tabla crece.
Enfoque 4: UNICOS (con cuidado)
Leo apunta una última vía: UNICOS con su tercer argumento a uno puede eliminar filas que coincidan exactamente. Es tentador, pero arriesgado: puede borrar filas legítimas que resulten idénticas a otra. Útil solo cuando sabes que no habrá duplicados reales.
Funciones clave
FILTRAR: el motor de todos los enfoques; conserva filas según una condición y admite un valor por defecto si no hay resultados.BYROW: aplica una función (aquíO) a cada fila y devuelve un vector, ideal para "¿tiene esta fila algún dato?".O(OR): colapsa una fila booleana a un único verdadero/falso.LETyELEGIRCOLS: nombran pasos intermedios y aíslan columnas para limpiar residuos.UNICOS: potente para duplicados exactos, pero delicado como filtro de ceros.
Conclusión
Del atajo de una columna a la solución con BYROW que revisa la fila entera, el caso muestra una regla de oro de Excel moderno: cuanto menos dependas de una posición fija, más robusta es tu fórmula. BYROW con O es la opción que recomendamos cuando los ceros pueden aparecer en cualquier sitio. Estos retos salen cada semana en la comunidad de Influexcel, donde un problema real acaba teniendo cuatro formas de resolverse.
Más casos con estas funciones
Más contenido de Excel en InflueXcel
- Buscar múltiples palabras simultáneamente con FILTRAR y BYROW CasoJuan consigue filtrar una tabla buscando una palabra con HALLAR, pero cuando intenta buscar dos palabras a la vez pasando un rango (K16:L16)
- Filtrar con múltiples condiciones usando matrices booleanas y BYROW CasoInteresante problema planteado por un miembro sobre cómo filtrar datos que cumplan varias condiciones simultáneas usando operaciones matrici
- Filtro multicriteria dinámico con LET, FILTRAR y LAMBDA CasoHéctor comparte con la comunidad una fórmula avanzada para filtrar una tabla de productos/servicios por múltiples criterios opcionales (clav
- Cuando BYROW sobra: FILTRAR por una sola columna CasoNuevo reto de Excel resuelto por la comunidad con un apunte que muchos usuarios agradecen. Óscar comparte que ha conseguido filtrar una tabl
- Eliminar filas en blanco de una tabla con FILTRAR y BYROW CasoÓscar plantea una duda práctica: tiene una tabla en Excel con filas que contienen información y otras vacías, y necesita extraer solo las fi
- FILTRAR que devuelve múltiples filas: por qué falla y cómo resolverlo CasoInteresante problema que aparece con frecuencia cuando se combinan FILTRAR con funciones iterativas como MAP o BYROW. Un miembro tiene una t
- Funciones personalizadas en Excel: LET, LAMBDA y recursividad TutorialCómo pasar de una fórmula escrita a mano a una función propia que puedes llamar por su nombre en cualquier libro. Los tres vídeos de esta pá
- SUMAR.SI.CONJUNTO en Excel: las 5 dudas más buscadas, resueltas (y por qué no acepta ELEGIRCOLS) TutorialLe pregunté a Copilot cuáles son las 5 dudas que más se buscan sobre la función SUMAR.SI.CONJUNTO y las resuelvo una a una en Excel, cada un
- Plantilla descargable Excel VACACIONES [2026] Tutorial¿Quieres una plantilla automatizada y descargable de Excel para la gestión de vacaciones?
- Utiliza slicers con la función SUMAR.SI.CONJUNTO TutorialUtilizar slicers en cálculos sin tablas dinámicas y mejora la usabilidad de tus informes