SI.ERROR falla con textos de más de 255 caracteres: alternativa con ESERROR

Un caso que pilló desprevenida a la comunidad: al usar FILTRAR sobre una columna que contiene textos largos (más de 255 caracteres), las filas con esos textos desaparecían del resultado. Después de investigar, Leo diagnostica el problema real: no es FILTRAR quien falla, sino SI.ERROR.

Resulta que SI.ERROR trata cualquier cadena de más de 255 caracteres como un error. Si envuelves tu FILTRAR con SI.ERROR (algo habitual para capturar el caso de "sin resultados"), las celdas con textos largos se consideran erróneamente como errores y se reemplazan por el valor alternativo.

La solución: usar ESERROR en lugar de SI.ERROR:

``
=LET(
m; ELEGIRCOLS(
FILTRAR(rango; condicion);
columnas_deseadas
);
SI(ESERROR(O(m)); "REVISAR HOJA DATOS"; m)
)
`

La diferencia es sutil pero importante: SI.ERROR(expr; alt) evalúa expr y si es error devuelve alt, pero internamente trata textos >255 chars como error. En cambio, ESERROR(O(m)) evalúa si hay errores reales en la matriz sin esa limitación, y solo entonces aplica el texto alternativo.

Leo recomienda como regla general: evitar SI.ERROR cuando se trabaja con columnas de texto libre que puedan superar los 255 caracteres. Usar ESERROR + SI` es más robusto aunque requiera una línea más.

Más contenido de Excel en InflueXcel