Què cal fer quan la funció TRIM d'Excel no funciona

Taula de continguts:

Què cal fer quan la funció TRIM d'Excel no funciona
Què cal fer quan la funció TRIM d'Excel no funciona
Anonim

Quan copieu o importeu dades de text a un full de càlcul d'Excel, de vegades el full de càlcul conserva espais addicionals a més del contingut que heu inserit. Normalment, la funció TRIM() per si mateixa pot eliminar aquests espais no desitjats tant si es produeixen entre paraules com al principi o al final d'una cadena de text. En determinades situacions, però, TRIM() no pot fer la feina.

En un ordinador, un espai entre paraules no és una àrea en blanc sinó un caràcter, i hi ha més d'un tipus d'espai. Un caràcter d'espai que s'utilitza habitualment a les pàgines web que TRIM() no eliminarà és l'espai ininterromput.

Si heu importat o copiat dades de pàgines web, és possible que no pugueu eliminar els espais addicionals amb la funció TRIM() si s'han creat amb espais ininterromputs.

Espais regulars i no trencables

Image
Image

Els espais són caràcters i cada caràcter es fa referència pel seu valor de codi ASCII. ASCII són les sigles de l'American Standard Code for Information Interchange, un estàndard internacional per a caràcters de text en entorns operatius d'ordinadors que crea un conjunt de codis per a 255 caràcters i símbols diferents utilitzats en programes informàtics.

El codi ASCII per a un espai ininterromput és 160. El codi ASCII d'un espai normal és 32.

La funció TRIM() només pot eliminar espais que tinguin un codi ASCII de 32.

Image
Image

Els diferents estils de tipus admeten diferents rangs de codis ASCII. La taula estàndard ofereix 127 valors possibles; Els tipus de lletra han de suportar com a mínim un mapa ASCII de 127 caràcters per ser considerats vàlids. Però els caràcters ASCII "amplis", anomenats amb codis addicionals, afegeixen sovint caràcters addicionals als vostres tipus de lletra preferits. De fet, l'espai no trencat és, en si mateix, un caràcter ASCII estès, mentre que un espai estàndard és… bé, estàndard.

Eliminació d'espais que no es trenquin

Elimineu els espais ininterromputs d'una línia de text mitjançant les funcions TRIM(), SUBSTITUTE() i CHAR().

Com que les funcions SUBSTITUTE() i CHAR() estan imbricades dins de la funció TRIM(), la fórmula s'ha d'escriure al full de treball en lloc d'utilitzar els quadres de diàleg de les funcions per introduir els arguments.

La fórmula, suposant que les dades amb els espais no trencadors es troben a la cel·la A1, és:

Com funciona la fórmula

Cada funció imbricada realitza una tasca específica:

  • La funció CHAR estipula els codis ASCII rellevants per als dos espais diferents de la fórmula: 160 i 32
  • La funció SUBSTITUTE substitueix o substitueix tots els espais ininterromputs entre les paraules amb espais regulars
  • La funció TRIM elimina els espais regulars addicionals entre les paraules perquè la declaració aparegui normalment al full de treball

Donada la lògica d'ordre d'operacions de les fórmules d'Excel, la fórmula crida a la funció SUBSTITUTE() i li diu que substitueixi cada ocurrència de CHAR(160) -l'espai no trencat- per un espai estàndard, CHAR (32), continguda a la cel·la A1. Aleshores, la funció TRIM() elimina els espais estàndard de la cadena substituïda.

Consideracions

Si TRIM() no pot fer la feina, és possible que tingueu problemes que no siguin espais que no trenquin, sobretot si esteu treballant amb material d'origen original representat en HTML. Quan enganxeu el material a Excel, enganxeu-lo com a text sense format per eliminar el format de fons de la cadena i eliminar el format especial com els caràcters que es representen en blanc sobre blanc, que sembla un espai, però no ho és. Comproveu també les pestanyes incrustades, que es poden substituir amb la mateixa fórmula que l'anterior, però substituint el codi ASCII 160 per 9.

SUBSTITUTE() és útil per substituir qualsevol codi ASCII per qualsevol altre.

Recomanat: