Funzioni testo Excel: annulla spazi, sinistra, destra e stringa.estrai

Conosciamo Excel principalmente come software per l’elaborazione dei fogli di calcolo, perchè dunque la necessità di utilizzare delle funzioni testo? Excel è di fatto uno strumento essenziale per la gestione dei dati, spesso in forma di record da database del nostro sistema gestionale. Un record può contenere ad esempio un nome, ossia un dato di tipo testo, e altri attributi dal valore numerico.

I dati importati in Excel sono spesso poco formattati e quindi abbiamo l’esigenza di ripulirli per renderli presentabili. Vediamo qui di seguito alcuni esempi.

Funzione ANNULLA.SPAZI

La funzione annulla.spazi è utilissima, forse la più usata tra le funzioni di testo. Quest’ultima annulla gli spazi in eccesso, lasciando però quelli necessari.

Nell’immagine sopra vedete come tra il nome e cognome nella cella A2 ci siano degli spazi in eccesso. La funzione ANNULLA.SPAZI prende come valore il testo con spazi e normalizza il numero di spazi a 1.

Funzione MAIUSC.INIZ

Immaginiamo invece di avere una colonna con dei nomi e cognomi dove le maiuscole iniziali sono state omesse.

La funzione MAIUSC.INIZ “corregge” il testo originale rendendolo maiuscole le iniziali di ogni parola trovata.

Funzione LUNGHEZZA

La funzione LUNGHEZZA non sembra a prima vista molto utile. Sono rare infatti le occasioni nelle quali ci serve conoscere la lunghezza di un testo.

In realtà scopriremo nelle sezioni seguenti che questa funzione è di supporto ad altre.

La funzione qua sopra calcola la lunghezza, ossia il numero di caratteri che compongono il testo originale nella cella A2.

Funzione TROVA

Se vogliamo cercare la posizione di un determinato carattere all’interno di un testo, possiamo usare la funzione TROVA.

Nell’esempio sopra, abbiamo un codice, AB#123-45678, e vogliamo individuare la posizione del carattere #. Si potrebbe obiettare che la posizione è palese e non serve una formula. Ma immaginiamo il caso in cui:

-Il codice possa avere una sequenza di lunghezza variabile prima di # (es. AB, J, KYZ)

-Abbiamo una lista di centinaia, se non migliaia di codici.

Ecco dunque che automatizzare questa operazione diventa necessario.

La funzione è composta così:

=TROVA(“TESTO DA CERCARE”;”TESTO NEL QUALE CERCARE”;POSIZIONE DI PARTENZA DALLA QUALE CERCARE)

La posizione di partenza è solitamente uguale a 1, se vogliamo cercare il testo desiderato in tutto il testo originale. Se invece volessimo cercare occorrenze ulteriori, dovremo cambiare la posizione di partenza. Un esempio qui di seguito:

Nel testo iniziale abbiamo una sequenza composta da una chiave “Nome:” e il valore stesso (“Marco” nel primo caso). Per trovare i nomi, dovremmo innanzitutto trovare la posizione di due marcatori di questa sequenza: “Nome: ” e “,”. Notiamo in particolare che per trovare il secondo “Nome: “, alla funzione TROVA non passeremo la posizione iniziale 1, ma piuttosto D3+1, che rappresenta la posizione successiva alla prima virgola trovata.

L’estrazione del testo in Excel non è facile, perché non supporta gli strumenti migliori per questo genere di operazione (come ad esempio le regex, note come espressioni regolari). Con un po’ di impegno però possiamo raggiungere il nostro scopo.

Funzione SINISTRA

La funzione SINISTRA estrae il testo fino a una certa lunghezza definita dall’utente.

Immaginiamo di avere il codice nella cella A2 e di volere estrarre il prefisso, ossia la sequenza di caratteri prima del cancelletto #. La funzione SINISTRA inizia a estrarre i caratteri dalla posizione iniziale, fino alla lunghezza finale desiderata, che in questo caso vale C2 – 1, ossia 2.

Funzione DESTRA

Viceversa, la funzione DESTRA estrae il testo per una lunghezza definita partendo dal lato destro, ossia dalla fine del testo.

DESTRA richiede due valori, il testo, presente in questo caso nella cella A2 e il numero di caratteri da estrarre. Se vogliamo estrarre nuovamente il testo dopo il #, possiamo calcolare la differenza come il numero di caratteri totali e la posizione del #.

Essendo il codice lungo 12 caratteri e il “#” alla posizione 3, il numero di caratteri da estrarre è 12 – 3 = 9 (ossia B2-C2 nella formula sopra indicata)

Funzione STRINGA.ESTRAI

La funzione STRINGA.ESTRAI fa un’operazione molto simile alla funzione SINISTRA, ma in questo caso il testo può essere estratto da un punto successivo a quello del primo carattere.

Nell’esempio qui sotto, vogliamo estrarre il colore da una lista di modelli. Per estrarre il colore, dobbiamo estrarre il testo tra la prima virgola e la seconda virgola.

A STRINGA.ESTRAI passiamo i seguenti valori: il testo originale nella cella A2, la posizione successiva alla prima virgola B2+1, e la distanza tra la prima e la seconda virgola, ossia C2-B2-1, dove il -1 finale serve a tenere conto che vogliamo estrarre tutti i caratteri fino alla seconda virgola, quest’ultima però esclusa.

Funzione RIMPIAZZA

La funzione RIMPIAZZA serve a “rimpiazzare” una sequenza di caratteri del testo originale con una nuova sequenza.

Immaginiamo di avere una lista di aziende alla quale vogliamo togliere la dicitura “S.p.A.” o “s.r.l.”.

La funzione RIMPIAZZA ha bisogno in questo caso della seguente lista di valori: il testo originale contenuto in A2, la posizione nel testo dalla quale vogliamo rimpiazzare (o in questo caso si potrebbe dire rimuovere) la dicitura finale, il numero di caratteri da rimuovere (in questo caso, 7 è il numero di caratteri spazio compreso), “” è il nuovo testo rimpiazzato (in questo caso, un testo vuoto, senza caratteri).

Funzione SOSTITUISCI

La funzione SOSTITUISCI ci permette di fare un’operazione di sostituzione simile a quella di RIMPIAZZA. In questo caso però non è necessario calcolare posizioni e numero di caratteri, ma è sufficiente fornire il testo che si vuole sostituire.

Anche questa volta vogliamo rimuovere la dicitura “S.p.A.” dal testo. Alla funzione SOSTITUISCI passiamo quindi: il testo originale in A2, la dicitura “S.p.A.” che vogliamo rimuovere, il nuovo testo “”. Il valore 1 è il numero ordinale di occorrenza che vogliamo rimuovere. Se ad esempio avessimo voluto sostituire la seconda occorrenza del testo da cercare “S.p.A.” (che in questo caso specifico è comunque non presente), avremo potuto inserire il valore 2.

Leave a Reply

Your email address will not be published. Required fields are marked *