Qué hacer cuando la función TRIM de Excel no funciona

Tabla de contenido:

Qué hacer cuando la función TRIM de Excel no funciona
Qué hacer cuando la función TRIM de Excel no funciona
Anonim

Cuando copia o importa datos de texto en una hoja de cálculo de Excel, la hoja de cálculo ocasionalmente retiene espacios adicionales además del contenido que ha insertado. Normalmente, la función TRIM() por sí sola puede eliminar estos espacios no deseados, ya sea que se produzcan entre palabras o al principio o al final de una cadena de texto. En ciertas situaciones, sin embargo, TRIM() no puede hacer el trabajo.

En una computadora, un espacio entre palabras no es un área en blanco sino un carácter, y hay más de un tipo de carácter de espacio. Un carácter de espacio comúnmente utilizado en las páginas web que TRIM() no eliminará es el espacio de no separación.

Si ha importado o copiado datos de páginas web, es posible que no pueda eliminar los espacios adicionales con la función TRIM() si se crean con espacios sin separación.

Espacios continuos y regulares

Image
Image

Los espacios son caracteres y cada carácter está referenciado por su valor de código ASCII. ASCII significa American Standard Code for Information Interchange, un estándar internacional para caracteres de texto en entornos operativos informáticos que crea un conjunto de códigos para 255 caracteres y símbolos diferentes utilizados en programas informáticos.

El código ASCII para un espacio de no separación es 160. El código ASCII para un espacio regular es 32.

La función TRIM() solo puede eliminar espacios que tengan un código ASCII de 32.

Image
Image

Diferentes estilos tipográficos admiten diferentes rangos de códigos ASCII. La tabla estándar ofrece 127 valores posibles; los tipos de letra deben admitir como mínimo un mapa ASCII de 127 caracteres para que se consideren válidos. Pero los caracteres ASCII "extendidos", llamados con códigos adicionales, con frecuencia agregan caracteres adicionales a sus fuentes favoritas. De hecho, el espacio de no separación es, en sí mismo, un carácter ASCII extendido, mientras que un espacio estándar es… bueno, estándar.

Eliminación de espacios sin separación

Elimine los espacios que no se separan de una línea de texto usando las funciones TRIM(), SUBSTITUTE() y CHAR().

Debido a que las funciones SUBSTITUTE() y CHAR() están anidadas dentro de la función TRIM(), la fórmula debe escribirse en la hoja de trabajo en lugar de usar los cuadros de diálogo de las funciones para ingresar los argumentos.

La fórmula, asumiendo que los datos con los espacios de no separación están en la celda A1, es:

Cómo funciona la fórmula

Cada función anidada realiza una tarea específica:

  • La función CHAR estipula los códigos ASCII relevantes para los dos espacios diferentes en la fórmula: 160 y 32
  • La función SUSTITUIR reemplaza o sustituye todos los espacios de no separación entre las palabras con espacios regulares
  • La función TRIM elimina los espacios extra regulares entre las palabras para que la declaración aparezca normalmente en la hoja de trabajo

Dada la lógica del orden de las operaciones de las fórmulas de Excel, la fórmula llama a la función SUBSTITUTE() y le dice que reemplace cada aparición de CHAR(160) - el espacio de no separación - con un espacio estándar, CHAR (32), contenido dentro de la celda A1. Luego, la función TRIM() elimina los espacios estándar de la cadena sustituida.

Consideraciones

Si TRIM() no puede hacer el trabajo, es posible que tenga otros problemas además de los espacios que no se rompen, especialmente si está trabajando con material fuente original representado en HTML. Cuando pegue el material en Excel, péguelo como texto sin formato para eliminar el formato de fondo de la cadena y elimine el formato especial, como los caracteres que se representan en blanco sobre blanco, que parece un espacio, pero no lo es. Verifique también las pestañas incrustadas, que pueden sustituirse usando la misma fórmula que la anterior, pero reemplazando el código ASCII 160 con 9.

SUBSTITUTE() es útil para reemplazar cualquier código ASCII por cualquier otro.

Recomendado: