Cosa fare quando la funzione TRIM di Excel non funziona

Quando copi o importi dati di testo in an Foglio di lavoro Excel, il foglio di lavoro conserva occasionalmente spazi aggiuntivi oltre al contenuto che hai inserito. Normalmente, la funzione TRIM() da sola può rimuovere questi spazi indesiderati se si verificano tra le parole o all'inizio o alla fine di una stringa di testo. In alcune situazioni, tuttavia, TRIM() non può fare il lavoro.

Su un computer, uno spazio tra le parole non è un'area vuota ma un carattere e c'è più di un tipo di carattere spazio. Un carattere spazio comunemente usato nelle pagine Web che TRIM() non rimuoverà è il spazio indistruttibile.

Se hai importato o copiato dati da pagine Web, potresti non essere in grado di rimuovere gli spazi extra con la funzione TRIM() se sono creati da spazi unificatori.

Spazi non inflessibili e regolari

Funzione di ritaglio di Excel
Ted francese

Gli spazi sono caratteri e ogni carattere è referenziato dal suo valore di codice ASCII. ASCII sta per Codice Standard Americano per Interscambio di Informazioni — uno standard internazionale per i caratteri di testo negli ambienti operativi dei computer che crea un insieme di codici per 255 caratteri e simboli diversi utilizzati nei programmi per computer.

Il codice ASCII per uno spazio unificatore è 160. Il codice ASCII per a regolare lo spazio è 32.

La funzione TRIM() può rimuovere solo gli spazi che hanno un codice ASCII di 32.

Tabella codici ASCII.
 Wikimedia Commons

Diversi stili di tipo supportano diverse gamme di codici ASCII. La tabella standard offre 127 valori possibili; i caratteri tipografici devono supportare almeno una mappa ASCII di 127 caratteri per essere considerati validi. Ma i caratteri ASCII "estesi", chiamati con codici aggiuntivi, spesso aggiungono caratteri aggiuntivi ai tuoi caratteri preferiti. In effetti, lo spazio unificatore è, di per sé, un carattere ASCII esteso, mentre uno spazio standard è... bene, standard.

Rimozione di spazi che non si interrompono

Rimuovi gli spazi unificatori da una riga di testo utilizzando le funzioni TRIM(), SUBSTITUTE() e CHAR().

Poiché le funzioni SUBSTITUTE() e CHAR() sono nidificate all'interno della funzione TRIM(), la formula deve essere digitata nel foglio di lavoro anziché utilizzare le funzioni' finestre di dialogo per entrare nel argomenti.

La formula, supponendo che i dati con gli spazi unificatori siano nella cella A1, è:

Come funziona la formula

Ogni funzione nidificata esegue un compito specifico:

  • La funzione CHAR stabilisce i codici ASCII pertinenti per i due diversi spazi nella formula — 160 e 32
  • La funzione SOSTITUISCI sostituisce o sostituisce tutti gli spazi unificatori tra le parole con spazi regolari
  • La funzione TRIM rimuove gli spazi regolari extra tra le parole in modo che l'istruzione appaia normalmente nel foglio di lavoro

Data la logica dell'ordine delle operazioni delle formule di Excel, la formula chiama la funzione SOSTITUISCI() e gli dice sostituire ogni occorrenza di CHAR(160) — lo spazio unificatore — con uno spazio standard, CHAR(32), contenuto all'interno cella A1. Quindi, la funzione TRIM() rimuove gli spazi standard dalla stringa sostituita.

Considerazioni

Se TRIM() non riesce a portare a termine il lavoro, potresti avere problemi diversi dagli spazi unificatori, in particolare se stai lavorando con materiale sorgente originale reso in HTML. Quando incolli il materiale in Excel, incollalo come testo normale per rimuovere la formattazione di sfondo dalla stringa e rimuovere la formattazione speciale come i caratteri resi come bianco su bianco, che sembra come uno spazio, ma non lo è. Controlla anche le schede incorporate, che possono essere sostituite utilizzando la stessa formula di cui sopra, ma sostituendo il codice ASCII 160 con 9.

SOSTITUTO() è utile per sostituire qualsiasi codice ASCII con qualsiasi altro.