"Cliente A" y "Cliente A " parecen idénticos, pero para Excel son dos textos distintos. Esa diferencia invisible hace que BUSCARV devuelva #N/A, que una tabla dinámica muestre el mismo cliente dos veces o que la eliminación de duplicados deje filas repetidas.
Los espacios sobrantes y los caracteres ocultos llegan casi siempre con datos copiados de páginas web, exportados de otros sistemas o escritos a mano. Aquí verás qué caracteres causan problemas, cómo detectarlos y cómo limpiarlos con ESPACIOS, LIMPIAR y SUSTITUIR, incluido el más escurridizo: el espacio de no separación.
Qué caracteres invisibles causan problemas
No todos los "espacios" son iguales. Cada carácter tiene un código, y saber cuál tienes delante decide qué función lo elimina:
| Carácter | Código | De dónde suele venir | Se elimina con |
|---|---|---|---|
| Espacio normal | 32 | Escritura manual, exportaciones con relleno | ESPACIOS |
| Espacio de no separación | 160 | Páginas web, correos en HTML | SUSTITUIR |
| Salto de línea | 10 | Alt+Intro dentro de una celda, sistemas externos | LIMPIAR o SUSTITUIR |
| Retorno de carro | 13 | Archivos de texto creados en Windows | LIMPIAR o SUSTITUIR |
| Tabulación | 9 | Datos pegados desde editores de texto | LIMPIAR |
| Espacio de ancho cero | 8203 | Páginas web y aplicaciones de mensajería | SUSTITUIR con UNICAR |
Cómo detectar espacios y caracteres ocultos
Antes de limpiar, conviene saber cuántas celdas están afectadas. Estas comprobaciones te lo dicen en segundos.
Comparar longitudes
LARGO cuenta todos los caracteres, también los invisibles. Si la longitud cambia al aplicar ESPACIOS, la celda tenía espacios sobrantes:
=LARGO(A2)-LARGO(ESPACIOS(A2))
La fórmula devuelve cuántos espacios sobran: cualquier resultado mayor que 0 señala una celda que hay que revisar. Puedes usarla también como regla en Inicio › Formato condicional › Nueva regla › Utilice una fórmula que determine las celdas para aplicar formato para resaltarlas en color.
Identificar el carácter exacto
Si ESPACIOS no cambia nada pero la celda sigue sin coincidir, averigua el código del último carácter:
=UNICODE(DERECHA(A2;1))
Un 160 indica un espacio de no separación; un 10, un salto de línea. Cambia DERECHA por IZQUIERDA para revisar el primer carácter. UNICODE está disponible desde Excel 2013; en versiones anteriores usa CODIGO.
Comparar dos celdas con exactitud
Cuando dos valores parecen iguales y no coinciden, =A2=B2 devuelve FALSO aunque no veas la diferencia. Compara entonces sus longitudes con LARGO: el que tenga más caracteres esconde algo.
ESPACIOS: elimina los espacios sobrantes
ESPACIOS hace tres cosas a la vez:
- Quita los espacios del principio del texto.
- Quita los espacios del final.
- Reduce a uno solo los espacios repetidos entre palabras.
=ESPACIOS(A2)
| Original | Resultado de ESPACIOS |
|---|---|
| " Cliente A" | "Cliente A" |
| "Producto azul " | "Producto azul" |
| "Cliente B" + espacio de no separación | Sin cambios |
La última fila muestra su límite: ESPACIOS solo elimina el espacio normal (código 32). El espacio de no separación sigue ahí.
LIMPIAR: quita caracteres de control
LIMPIAR elimina los caracteres no imprimibles con códigos del 0 al 31, entre ellos el salto de línea, el retorno de carro y la tabulación:
=LIMPIAR(A2)
Ten cuidado con los saltos de línea: LIMPIAR los borra sin dejar nada en su lugar, de modo que "Calle Mayor" en una línea y "Local 3″ en la siguiente se convierten en "Calle MayorLocal 3″. Si prefieres separar con un espacio, sustituye el salto antes:
=ESPACIOS(SUSTITUIR(A2;CARACTER(10);" "))
El espacio de no separación y otros casos difíciles
El espacio de no separación (código 160) es el culpable más habitual cuando nada funciona. Ni ESPACIOS ni LIMPIAR lo eliminan. La solución es convertirlo antes en un espacio normal con SUSTITUIR:
=ESPACIOS(SUSTITUIR(A2;CARACTER(160);" "))
En Excel para Mac, CARACTER usa otro juego de caracteres, así que es más seguro usar UNICAR (Excel 2013 y posteriores), que funciona igual en todas las plataformas:
=ESPACIOS(SUSTITUIR(A2;UNICAR(160);" "))
El espacio de ancho cero (código 8203) ni siquiera ocupa sitio en pantalla. Para quitarlo, sustitúyelo por nada:
=SUSTITUIR(A2;UNICAR(8203);"")
La fórmula de limpieza completa
Combinando todo, esta fórmula resuelve la gran mayoría de casos de una sola vez:
=ESPACIOS(LIMPIAR(SUSTITUIR(A2;UNICAR(160);" ")))
Si el resultado debe ser un número, envuélvela en VALOR. Recuerda que, tras limpiar, debes copiar la columna auxiliar y pegarla como valores sobre la original.
Limpiar sin fórmulas
Buscar y reemplazar
Para un arreglo rápido sobre los datos originales:
- Selecciona el rango y ve a Inicio › Buscar y seleccionar › Reemplazar.
- En "Buscar", escribe el carácter que quieres quitar. Para un salto de línea, pulsa Ctrl+J. Para un espacio de no separación, mantén Alt y escribe 0160 en el teclado numérico.
- En "Reemplazar con", escribe un espacio o déjalo vacío.
- Pulsa Reemplazar todos.
No reemplaces todos los espacios normales por nada: unirías las palabras. Para esos, usa ESPACIOS.
Power Query
Si repites la misma limpieza con cada archivo, Power Query (Excel 2016 y posteriores) la guarda como un paso. Selecciona la columna y, en Transformar › Formato, elige Recortar y Limpiar. Ojo: Recortar solo quita los espacios de los extremos, no los dobles del medio.
Errores habituales
- Dejar las fórmulas en lugar de los valores: si borras la columna original, la columna limpia se llena de #¡REF!.
- Esperar que LIMPIAR quite el código 160: no lo hace; necesitas
SUSTITUIR. - Limpiar solo una de las dos tablas: si vas a cruzar datos con
BUSCARVoBUSCARX, limpia tanto la columna buscada como los valores que buscas. - Olvidar los encabezados: un espacio al final del nombre de una columna también rompe referencias y tablas dinámicas.
Después de limpiar: duplicados y filas vacías
Al limpiar es habitual descubrir que valores que parecían distintos eran el mismo, y que algunas filas no contenían nada útil. Si te quedan filas en blanco repartidas por la hoja, nuestra herramienta gratuita para eliminar filas vacías las quita de todo el archivo de una vez, sin ordenar ni filtrar a mano. Y para los registros que ahora se repiten, puedes usar el eliminador de duplicados.
Conclusión
Los caracteres invisibles no se ven, pero rompen búsquedas, comparaciones y recuentos. Detéctalos comparando LARGO antes y después de ESPACIOS, identifica el carácter con UNICODE y elimínalo con la combinación adecuada: ESPACIOS para los espacios normales, LIMPIAR para los caracteres de control y SUSTITUIR para el espacio de no separación y el de ancho cero.
Preguntas frecuentes
¿Por qué ESPACIOS no quita algunos espacios?
Porque solo elimina el espacio normal (código 32). Si el texto viene de una web, probablemente tiene espacios de no separación (código 160). Sustitúyelos primero con SUSTITUIR y UNICAR(160).
¿LIMPIAR borra los saltos de línea de una celda?
Sí, elimina el carácter 10, pero une el texto de las dos líneas sin espacio. Si quieres separarlas, sustituye CARACTER(10) por un espacio antes de limpiar.
¿Cómo quito los espacios entre los dígitos de un número?
Usa =SUSTITUIR(A2;" ";"") para quitar todos los espacios normales, y añade otra SUSTITUIR con UNICAR(160) si también hay espacios de no separación. Después convierte el resultado con VALOR.
¿Hay una forma de limpiar sin crear una columna nueva?
Sí: Buscar y reemplazar trabaja directamente sobre los datos, y Power Query aplica la limpieza al cargar el archivo. Las fórmulas siempre necesitan una columna auxiliar, que luego pegas como valores.
Prueba nuestras herramientas gratuitas
Compara, convierte, combina y limpia tus hojas de cálculo desde el navegador, sin instalar nada.