fbpx

#Excel – La funzione ANNULLA.SPAZI()

La funzione ANNULLA.SPAZI (eccone la scheda tecnica) elimina gli spazi in eccesso presenti in una stringa di testo: elimina quindi gli spazi inseriti all’inizio della stringa, quelli inseriti alla fine e quelli all’interno della stringa, ad eccezione dei singoli spazi tra una parola e l’altra.

La sintassi è la seguente:

[codesyntax lang=”text” lines=”no” title=”Formula di Excel”]
=ANNULLA.SPAZI(testo)
[/codesyntax]

dove per “testo” si può intendere sia una stringa racchiusa tra doppi apici (“), sia un riferimento ad una cella contenente del testo.

Tecnicamente non fa altro che troncare gli spazi (valore 32) della codifica ASCII a 7 bit ed è una funzione molto utilizzata per la pulizia di testi importati in Excel da altre applicazioni, oppure copiati da Internet.

Eccone alcuni utilizzi pratici:

Rimuovere spazi dall’inizio e dalla fine di una stringa di testo

E’ possibile utilizzare la funzione ANNULLA.SPAZI per eliminare gli spazi all’inizio e alla fine di una stringa di testo. Nell’immagine qua sotto ci sono 3 spazi all’inizio e 2 alla fine della stringa posta in C3. La funzione ANNULLA.SPAZI in cella C5 è in grado di rimuovere questi 5 spazi.

annulla_spazi1

Rimuovere tutti gli spazi ad eccezione dei singoli spazi tra le parole

Risulta a volte utile rimuovere anche gli spazi in eccesso tra le parole di una stringa. Nell’immagine sottostante ci sono alcuni spazi di troppo tra le parole della stringa in C3

annulla_spazi2

ATTENZIONE
Copiando del testo da Internet potremmo imbatterci in altre tipologie di caratteri non stampabili con funzione di “spazio”. Solitamente si tratta del carattere Unicode con valore 160 che in HTML equivale a &nbsp

Come rimuovere spazi e caratteri non stampabili dal testo

Per ovviare al problema sopra riportato, ed eliminare anche altri caratteri non stampabili, non ci è sufficiente utilizzare la sola funzione ANNULLA.SPAZI: la dovremo utilizzare in concomitanza con le funzioni LIBERA e/o SOSTITUISCI.

La funzione LIBERA è stata progettata per eliminare i primi 32 caratteri non stampabili del codice ASCII a 7 bit (valori da 0 a 31) e quindi, assieme alla funzione ANNULLA.SPAZI, ci permetterebbe già di effettuare una discreta pulizia. Ma nel set di caratteri [tooltip tip=”Standard di codifica dei caratteri sviluppato da Unicode Consortium. Utilizzando più di un byte per rappresentare ogni carattere, Unicode consente di rappresentare quasi tutte le lingue scritte del mondo utilizzando un unico set di caratteri.”] Unicode [/tooltip] sono presenti ulteriori caratteri non stampabili (valori 127, 129, 141, 143, 144 e 157) e in più abbiamo il già citato spazio unificatore con valore 160.

Per rimuovere anche questi caratteri è necessario introdurre anche la funzione SOSTITUISCI che ci permetterà, ad esempio, di sostituire il carattere con valore 160 e sostituirlo con quello di valore 32, in modo che possa essere rimosso dalla funzione ANNULLA.SPAZI.

Per comprendere come funzionino ecco un esempio che vi permetterà di approfondire:

annulla_spazi3

Le formule utilizzate nell’esempio sono le seguenti:

[codesyntax lang=”text” lines=”no” title=”Testo da ripulire:”]
=CONCATENA("Testo";CODICE.CARATT(160);CODICE.CARATT(32);"di";CODICE.CARATT(31); CODICE.CARATT(129);CODICE.CARATT(32);" prova")
[/codesyntax]
[codesyntax lang=”text” lines=”no” title=”con ANNULLA.SPAZI():”]
=ANNULLA.SPAZI(C3)
[/codesyntax]
[codesyntax lang=”text” lines=”no” title=”con LIBERA():”]
=LIBERA(C3)
[/codesyntax]
[codesyntax lang=”text” lines=”no” title=”con le 3 funzioni assieme:”]
=LIBERA(ANNULLA.SPAZI(SOSTITUISCI(C3;CODICE.CARATT(160);CODICE.CARATT(32))))
[/codesyntax]

Aspetta! Potrebbe interessarti anche: