🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

ESPACIOS y LIMPIAR en Excel — Elimina la basura invisible que rompe tus búsquedas

|

ESPACIOS y LIMPIAR en Excel — Elimina la basura invisible que rompe tus búsquedas

En resumen — Las dos funciones borran caracteres que no puedes ver, pero cazan presas distintas. TRIM(texto) quita los espacios iniciales, finales y de más (colapsa varios seguidos en uno), pero solo el espacio normal, ASCII 32. CLEAN(texto) quita los caracteres de control no imprimibles, códigos 0–31 (saltos de línea, tabulaciones de una exportación mala). La trampa que atrapa a todo el mundo: el texto pegado desde una página web o un PDF suele arrastrar un espacio de no separación, CHAR(160) — y ninguna de las dos lo toca. El arreglo que lo caza todo es una sola fórmula.

Nota: en la interfaz de Excel en español estas funciones se llaman ESPACIOS (TRIM), LIMPIAR (CLEAN), SUSTITUIR (SUBSTITUTE) y CODIGO (CODE). Usa CHAR (o CARACTER en la versión española). En las fórmulas de este artículo se mantienen los nombres en inglés; si tu Excel está en español, escribe el equivalente entre paréntesis. Los códigos de error también se traducen: #N/A#N/D y #VALUE!#¡VALOR!.

=TRIM("  Apple   Inc.  ")              ' -> "Apple Inc."   (bordes + espacios internos)
=CLEAN("Line1"&CHAR(10)&"Line2")       ' -> "Line1Line2"   (quita el salto de línea)
=TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160)," ")))   ' el limpiador que lo caza todo

Los espacios finales y los caracteres de control sueltos son los errores más difíciles de una hoja de cálculo precisamente porque no puedes verlos. Una búsqueda falla, un SUM se queda corto, "Apple" y "Apple " caen en dos filas distintas de una tabla dinámica — y las celdas se ven idénticas. ESPACIOS (TRIM) y LIMPIAR (CLEAN) son la forma de hacer que lo que hay coincida con lo que ves.

Lo que aprenderás

  • El reparto: TRIM va a por los espacios, CLEAN va a por los caracteres de control
  • Por qué TRIM conserva los espacios interiores individuales (colapsa, no arrasa)
  • El espacio de no separación CHAR(160) que se les escapa a ambas — y el arreglo de una línea
  • Por qué el espacio en blanco invisible rompe en silencio =, VLOOKUP y la deduplicación
  • El criterio: limpia una vez en la frontera de importación, no en cada fórmula

El modelo mental: dos limpiadores con oficios distintos

Piensa en TRIM y CLEAN como dos empleados de la limpieza con descripciones de puesto muy estrechas.

TRIM es el encargado de los espacios en blanco. Recorre la cadena y elimina todos los espacios del principio y del final, y colapsa cualquier tanda interna de espacios hasta dejar uno solo. Ese comportamiento de "colapsar las tandas internas" es la parte que la gente olvida: TRIM no es "quitar todos los espacios", es "normalizar el espaciado a uno entre palabras".

CLEAN es el encargado de los caracteres de control. Elimina los caracteres bajos y no imprimibles — códigos 0 a 31 — que se cuelan al copiar y pegar desde un correo, una exportación de base de datos o un archivo de texto con los saltos de línea equivocados. El clásico es CHAR(10), un salto de línea metido dentro de una celda que hace que tus datos parezcan de una línea pero se comporten como si fueran dos.

No se solapan ni compiten. Si tu basura es espaciado, eso es TRIM. Si tu basura es un glifo invisible raro o un salto de línea, eso es CLEAN. La mayoría de los datos importados reales tienen las dos cosas, y por eso los verás tan a menudo anidados: =TRIM(CLEAN(A2)).

La regla que lo desbloquea todo: el espacio que no ves suele ser CHAR(160)

Esta es la pregunta de soporte más común sobre TRIM, y su respuesta es la razón entera para leer este artículo: "Ejecuté TRIM y el espacio sigue ahí."

El noventa por ciento de las veces, ese "espacio" no es ASCII 32. Es un espacio de no separación, CHAR(160) (el   de HTML), y aparece cada vez que pegas desde una página web, un PDF o un informe renderizado. TRIM solo conoce el ASCII 32, así que pasa de largo junto al 160. Y CLEAN solo elimina del 0 al 31, así que el 160 también se le escapa a ese. El carácter es invisible, los dos empleados lo ignoran, y te quedas mirando una celda que se niega a coincidir.

' Demuéstralo — esto devuelve 160, no 32:
=CODE(RIGHT(A2, 1))          ' -> 160  ("ajá, espacio de no separación")

' Convierte primero los 160 en espacios normales, y LUEGO recorta:
=TRIM(SUBSTITUTE(A2, CHAR(160), " "))

' El limpiador a prueba de bombas para importaciones realmente sucias:
=TRIM(CLEAN(SUBSTITUTE(A2, CHAR(160), " ")))

El SUBSTITUTE(A2, CHAR(160), " ") cambia cada espacio de no separación por uno de verdad, y entonces TRIM puede hacer su trabajo. Grábate ese patrón en la memoria — convierte "TRIM está roto" en un problema resuelto para el resto de tu carrera.

Por qué importa: la basura invisible rompe la coincidencia, no solo el aspecto

Los espacios de más no son un problema cosmético. Rompen la igualdad, y la igualdad es sobre lo que se construyen las búsquedas, la deduplicación y la agrupación.

  • ="Apple"=A2 devuelve FALSE cuando A2 es "Apple " — el espacio final hace que sean cadenas distintas.
  • VLOOKUP y XLOOKUP devuelven #N/D sobre un valor que está "ahí mismo", porque la clave de una tabla tiene un espacio suelto que la otra no.
  • Una tabla dinámica o UNIQUE separan "North" y "North " en dos filas, y tus totales regionales cuentan doble sin que te enteres.

Cada uno de estos casos es invisible en la cuadrícula, que es lo que los hace caros. TRIM sobre la clave de unión — o mejor, sobre la columna al importar — es el seguro más barato de Excel.

El punto ciego de CLEAN (y el de TRIM)

CLEAN se diseñó para el rango de control ASCII, 0–31. Eso es genuinamente útil para quitar saltos de línea CHAR(10) incrustados, pero sé honesto sobre su límite: no elimina CHAR(160), y no toca otros duendes del rango alto como los espacios de ancho cero (CHAR(8203)) que puede introducir el copiado desde web moderno. Para esos, vuelves a SUBSTITUTE(A2, CHAR(8203), "").

La forma fiable de encontrar lo que tienes entre manos es CODE (primer carácter) o UNICODE (para cualquier cosa por encima de 255): envuelve el carácter sospechoso y lee su número, y luego lo eliminas con SUBSTITUTE por ese número. Adivinar te gasta una tarde entera; CODE/UNICODE te lo dice en una sola fórmula.

El criterio: limpia en la frontera, no en todas partes

El antipatrón tentador es esparcir TRIM dentro de cada fórmula que toque una columna de texto — cada VLOOKUP, cada comparación, cada concatenación. Funciona, pero es un mal olor: significa que los datos están sucios y estás pagando por volver a limpiarlos en cada recálculo, para siempre.

La jugada profesional es limpiar una vez, en la frontera de importación. Trae la columna en bruto, añade una columna auxiliar de =TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160)," "))), pégala de vuelta como valores y borra la columna en bruto. A partir de ahí los datos están limpios y cada fórmula posterior se mantiene sencilla. Si extraes datos con regularidad, las transformaciones Recortar y Limpiar de Power Query hacen lo mismo como un paso repetible — ese es el hogar adecuado para la limpieza recurrente. Recurre a las fórmulas cuando sea algo puntual; recurre a Power Query cuando sea un flujo de datos.

Cómo ayuda ExcelMaster

"¿Por qué no coincide este VLOOKUP si los valores se ven iguales?" es una de las cosas que la gente más pregunta, y la respuesta es casi siempre espacio en blanco invisible. ExcelMaster comprueba exactamente eso: detecta el espacio final o el CHAR(160), te dice cuál es el carácter culpable y escribe la combinación de TRIM/CLEAN/SUBSTITUTE que arregla la columna entera — no un parche envuelto alrededor de una fórmula. Tú describes el síntoma ("la coincidencia sigue fallando"); él encuentra la basura que no puedes ver.

Preguntas frecuentes

¿Cuál es la diferencia entre TRIM y CLEAN en Excel?

TRIM elimina los espacios de más — iniciales, finales y los interiores repetidos (colapsándolos en uno), pero solo el carácter de espacio normal (ASCII 32). CLEAN elimina los caracteres de control no imprimibles (códigos 0–31), como los saltos de línea incrustados en una celda. Usa TRIM para el espaciado y CLEAN para los glifos invisibles sueltos; anídalos como TRIM(CLEAN(A2)) para atacar ambos.

¿Por qué TRIM no elimina el espacio de mi celda?

Porque probablemente no es un espacio normal. El texto pegado desde la web o un PDF suele contener un espacio de no separación, CHAR(160), que TRIM ignora. Confírmalo con =CODE(RIGHT(A2,1)) — si devuelve 160, arréglalo con =TRIM(SUBSTITUTE(A2, CHAR(160), " ")).

¿TRIM elimina todos los espacios entre palabras?

No. TRIM conserva un solo espacio entre palabras y solo elimina los de más, además de todo lo que haya al principio y al final. TRIM("a b") devuelve "a b", no "ab". Para quitar todos los espacios, usa SUBSTITUTE(A2, " ", "") en su lugar.

¿Cómo elimino los saltos de línea de una celda?

Usa CLEAN, que quita el carácter de salto de línea CHAR(10): =CLEAN(A2). Si el salto de línea se insertó como un carácter distinto o además quieres sustituirlo por un espacio, usa =SUBSTITUTE(A2, CHAR(10), " ").

¿Qué elimina a la vez los espacios de más y los caracteres no imprimibles?

Anida las tres herramientas: =TRIM(CLEAN(SUBSTITUTE(A2, CHAR(160), " "))). El SUBSTITUTE convierte los espacios de no separación en normales, CLEAN quita los caracteres de control y TRIM colapsa el espaciado restante.

Probado en

Probado en: Excel 365 (Windows 11) — última verificación el 06/07/2026.

Guías relacionadas: Excel SUBSTITUTE y REPLACE · Excel LEN · Excel UPPER, LOWER y PROPER · Excel VALUE y NUMBERVALUE