#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:

=ANNULLA.SPAZI(testo)

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.

LEGGI:  #Excel - Le funzioni VERO e FALSO e cosa dovreste usare al loro posto

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 Unicode  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:

=CONCATENA("Testo";CODICE.CARATT(160);CODICE.CARATT(32);"di";CODICE.CARATT(31); CODICE.CARATT(129);CODICE.CARATT(32);" prova")
=ANNULLA.SPAZI(C3)
=LIBERA(C3)
=LIBERA(ANNULLA.SPAZI(SOSTITUISCI(C3;CODICE.CARATT(160);CODICE.CARATT(32))))

Copyright © 2014-2017  Office Academy. Tutti i diritti riservati.
Vai alla barra degli strumenti