La función FILTRO de Excel devuelve un resultado vacío o un error #¡CALC! cuando intentas filtrar celdas en blanco. Esto ocurre porque la función FILTRO trata los criterios en blanco como si no hubiera criterios y devuelve todas las filas del rango de origen. Necesitas un método específico para que FILTRO reconozca y devuelva solo las filas en blanco. Este artículo explica por qué ocurre el problema y proporciona dos métodos fiables para solucionarlo.
Puntos clave: Cómo hacer que FILTRO devuelva celdas en blanco
- Función ISBLANK en el argumento include: Convierte las celdas en blanco en VERDADERO para que FILTRO pueda evaluarlas como una condición válida.
- Combinar ISBLANK con LEN=0: Maneja celdas que parecen en blanco pero contienen resultados de fórmulas que se evalúan como cadena vacía “”.
- Usar una columna auxiliar con IF e ISBLANK: Crea un indicador numérico que FILTRO pueda evaluar sin devolver todas las filas.
Por qué FILTRO ignora los criterios en blanco
La función FILTRO utiliza la sintaxis FILTER(array, include, [if_empty]). El argumento include debe ser una matriz de valores VERDADERO y FALSO. Cuando pasas una referencia a una celda en blanco como argumento include, FILTRO interpreta ese espacio en blanco como un valor faltante y devuelve toda la matriz por defecto. La función no convierte una celda en blanco en una condición FALSO. Este comportamiento es intencional en Excel 365 y Excel 2021.
Por ejemplo, si la celda A1 está en blanco y escribes =FILTER(B2:B100, A2:A100=A1, "No data"), FILTRO compara cada celda en A2:A100 con una celda en blanco. La comparación devuelve VERDADERO para cada fila porque Excel trata un espacio en blanco como igual a otro espacio en blanco en pruebas lógicas. El resultado son todas las filas de B2:B100, no solo las filas en blanco.
El mismo problema ocurre cuando usas una referencia de celda que contiene una fórmula que devuelve una cadena vacía "". FILTRO ve la cadena vacía como un valor válido y aún así devuelve todas las filas. El método requiere usar funciones que devuelvan explícitamente VERDADERO solo para celdas que estén realmente vacías o que no contengan datos.
Dos métodos para hacer que FILTRO devuelva filas en blanco
Ambos métodos a continuación resuelven el problema convirtiendo la condición en blanco en una matriz VERDADERO/FALSO que FILTRO puede evaluar correctamente. Elige el método que se ajuste a tu tipo de datos.
Método 1: Usar ISBLANK en el argumento include
La función ISBLANK devuelve VERDADERO cuando una celda está completamente vacía y FALSO cuando contiene cualquier valor, incluidos espacios o fórmulas. Este método funciona para celdas que están realmente en blanco y no tienen fórmulas.
- Identifica la columna para verificar los espacios en blanco
Supongamos que tus datos están en el rango A2:C100 y deseas filtrar filas donde la columna B esté en blanco. La matriz de origen para FILTRO es A2:C100. - Escribe la condición ISBLANK
En una celda nueva, ingresa=ISBLANK(B2:B100). Esto devuelve una matriz de VERDADERO para celdas en blanco y FALSO para celdas no vacías. - Combina con FILTRO
Ingresa la fórmula=FILTER(A2:C100, ISBLANK(B2:B100), "No blank rows found"). La función ISBLANK proporciona la matriz include. FILTRO ahora devuelve solo las filas donde la columna B está realmente vacía. - Prueba con una fila en blanco conocida
Verifica que el resultado incluya solo filas donde la columna B no tenga datos. Si ves filas con espacios o resultados de fórmulas, usa el Método 2 en su lugar.
Método 2: Usar una columna auxiliar con IF e ISBLANK
Cuando tus datos contienen fórmulas que devuelven cadenas vacías o celdas con espacios que parecen en blanco, ISBLANK solo devuelve FALSO. Una columna auxiliar convierte la condición en blanco en un 1 o 0 numérico que FILTRO puede evaluar.
- Agrega una columna auxiliar junto a tus datos
Inserta una nueva columna a la derecha de tu rango de datos. Por ejemplo, si tus datos están en las columnas A a C, inserta la columna D. - Escribe la fórmula auxiliar en la primera fila
En la celda D2, ingresa=IF(ISBLANK(B2), 1, 0). Esto devuelve 1 cuando B2 está en blanco y 0 cuando no lo está. Copia la fórmula hasta D100. - Usa FILTRO con la condición de la columna auxiliar
Ingresa=FILTER(A2:C100, D2:D100=1, "No blank rows"). La condición D2:D100=1 crea una matriz VERDADERO/FALSO que FILTRO usa para devolver solo las filas donde la columna B está en blanco. - Oculta la columna auxiliar si es necesario
Haz clic derecho en la columna D y selecciona Ocultar. El resultado de FILTRO permanece dinámico y se actualiza cuando cambian los datos de origen.
Si FILTRO aún devuelve todas las filas o un error
FILTRO devuelve el error #¡CALC!
El error #¡CALC! aparece cuando FILTRO no encuentra filas que coincidan con los criterios. Esto significa que cada celda en la columna verificada contiene un valor, incluso si algunas parecen en blanco. Usa la función LEN para detectar celdas con espacios: =FILTER(A2:C100, LEN(TRIM(B2:B100))=0, "No blank rows"). TRIM elimina espacios adicionales y LEN devuelve 0 para celdas que están realmente vacías o contienen solo espacios.
FILTRO devuelve todas las filas a pesar de ISBLANK
Esto ocurre cuando las celdas que crees que están en blanco contienen una fórmula que devuelve una cadena vacía. ISBLANK devuelve FALSO para esas celdas. Reemplaza ISBLANK con B2:B100="" en el argumento include. La fórmula se convierte en =FILTER(A2:C100, B2:B100="", "No blank rows"). Esto verifica celdas que están realmente vacías o que contienen una fórmula que devuelve una cadena vacía.
FILTRO devuelve filas incorrectas cuando se usan criterios de otra celda
Si haces referencia a una celda que contiene una fórmula que devuelve un espacio en blanco, FILTRO evalúa ese espacio en blanco como igual a cada celda. En lugar de hacer referencia a la celda, usa el enfoque ISBLANK o LEN directamente en el argumento include. No uses una referencia de celda para los criterios; codifica la condición en la fórmula.
FILTRO con ISBLANK vs FILTRO con LEN=0: Diferencias clave
| Elemento | FILTRO con ISBLANK | FILTRO con LEN=0 |
|---|---|---|
| Detecta celdas realmente vacías | Sí | Sí |
| Detecta celdas con espacios | No | Sí, cuando se combina con TRIM |
| Detecta fórmulas que devuelven “” | No | Sí |
| Requiere columna auxiliar | No | No |
| Mejor caso de uso | Entrada de datos sin fórmulas | Datos con fórmulas o texto importado |
Ahora puedes hacer que la función FILTRO devuelva solo filas en blanco usando ISBLANK para celdas realmente vacías o LEN con TRIM para celdas que parecen en blanco pero contienen espacios o resultados de fórmulas. Prueba la combinación TRIM y LEN primero si tus datos provienen de fuentes externas o contienen fórmulas. Para una configuración más avanzada, combina FILTRO con la función BYROW para verificar múltiples columnas en busca de espacios en blanco en una sola fórmula.