Pegas una fórmula en Excel, pulsas Enter y obtienes un llamativo error #¡VALOR! en lugar del texto que esperabas. Nueve de cada diez veces, el culpable es un delimitador ausente. La función buscó un carácter que no estaba allí y toda la fórmula falló. Aquí te explicamos cómo solucionarlo de forma limpia.
Por qué ocurre el error
Las funciones de texto de Excel como TEXTBEFORE y TEXTAFTER funcionan buscando un delimitador específico en una cadena. Si ese delimitador no existe en la celda, devuelven un error #¡VALOR! de forma predeterminada. Este es un comportamiento completamente esperado, no un bug.
El problema es que los datos del mundo real son desordenados. No todas las filas de tu hoja de cálculo seguirán el mismo formato, y una sola coma o guion faltante puede romper una fórmula aplicada a cientos de filas.
La solución rápida: SI.ERROR
La forma más rápida de manejar esto es envolver tu fórmula en SI.ERROR (IFERROR). Esta función captura cualquier error que devuelva una fórmula y lo sustituye por un valor que tú elijas.
La sintaxis básica es la siguiente:
Consejo: Usa =IFERROR(TEXTBEFORE(A1, "-"), A1) para devolver el valor original de la celda cuando no se encuentra el delimitador. De esta forma tus datos permanecen intactos en lugar de mostrar un error.
Si prefieres devolver una cadena vacía, simplemente usa =IFERROR(TEXTBEFORE(A1, "-"), ""). Esto mantiene tu hoja de cálculo limpia si no necesitas un valor alternativo.
Escenarios de error con TEXTBEFORE
La función TEXTBEFORE es potente pero estricta. Lanza un error #¡VALOR! en algunas situaciones específicas que vale la pena conocer.
- La cadena del delimitador no se encuentra en ninguna parte de la celda.
- Especificas un número de instancia superior al número de veces que aparece el delimitador.
- La celda está vacía y estás buscando un delimitador no vacío.
- Pasas un rango en lugar de una sola celda (en versiones antiguas de Excel).
SI.ERROR maneja todos estos casos de una sola vez, por eso es la solución de fórmula preferida por la mayoría de usuarios.
Comparación de comportamiento: TEXTBEFORE vs SI.ERROR
| Fórmula | Delimitador encontrado | Delimitador ausente |
|---|---|---|
| TEXTBEFORE solo | Devuelve el texto antes del delimitador | Error #¡VALOR! |
| IFERROR + TEXTBEFORE | Devuelve el texto antes del delimitador | Devuelve tu valor alternativo |
| TEXTBEFORE con argumento if_not_found | Devuelve el texto antes del delimitador | Devuelve el valor alternativo especificado (Excel 365) |
El argumento de valor alternativo integrado (Excel 365)
Si usas Microsoft 365, TEXTBEFORE tiene un argumento integrado para manejar delimitadores ausentes. El cuarto argumento, if_not_found, te permite prescindir de SI.ERROR por completo.
Por ejemplo: =TEXTBEFORE(A1, "-", 1, 0, 1, "ninguno") devuelve "ninguno" cuando no se encuentra el guion. Es un enfoque más limpio si puedes contar con tener la última versión de Excel.
Advertencia: El argumento if_not_found en TEXTBEFORE solo está disponible en Excel 365 y Excel 2024. Si compartes tu archivo con alguien que use una versión anterior, seguirá viendo el error. SI.ERROR es más seguro para libros de trabajo compartidos.
Verificar los datos antes de que lleguen a Excel
A veces la jugada más inteligente es corregir tus datos antes de que lleguen a tus fórmulas. Si trabajas con archivos exportados que tienen delimitadores inconsistentes, una limpieza rápida ahorra muchos dolores de cabeza más adelante.
Puedes usar un convertidor de delimitadores online para estandarizar los delimitadores de tu archivo antes de importarlo. De esta forma, cada fila usa el mismo separador y tus fórmulas no necesitan compensar inconsistencias.
Errores comunes que debes evitar
- Usar SI.ERROR para ocultar errores reales que deberías corregir en tus datos.
- Olvidar que TEXTBEFORE distingue entre mayúsculas y minúsculas de forma predeterminada.
- Anidar demasiadas funciones SI.ERROR en lugar de limpiar los datos de origen.
- Asumir que todas las filas tienen la misma estructura cuando no es así.
Puntos clave
- TEXTBEFORE y funciones similares devuelven #¡VALOR! cuando el delimitador no se encuentra en la celda.
- Envolver tu fórmula con SI.ERROR es la solución más rápida y compatible.
- Los usuarios de Excel 365 pueden usar el argumento integrado
if_not_founden TEXTBEFORE para fórmulas más limpias. - Limpiar los delimitadores inconsistentes antes de importar reduce la necesidad de manejo de errores desde el principio.
- SI.ERROR es mejor para libros de trabajo compartidos ya que funciona en todas las versiones modernas de Excel.
Corrige los datos, no solo la fórmula
El manejo de errores en fórmulas es útil, pero es un parche. Si tus datos carecen constantemente de los delimitadores que tus fórmulas esperan, eso es una señal de que los datos en sí necesitan atención. Un poco de trabajo de preparación previo, ya sea usando un convertidor de delimitadores o limpiando tu CSV antes de importar, significa menos soluciones improvisadas en las fórmulas después.
Una vez que tus datos son consistentes, tus fórmulas se mantienen simples y tus hojas de cálculo funcionan rápido. Eso es un mejor resultado que una cadena de SI.ERROR profundamente anidada que nadie querrá depurar seis meses después.