Nella lezione di oggi andiamo a vedere la Funzione Stringa Estrai di Excel. Non è assolutamente una funzione per principianti, anzi, il suo utilizzo è molto avanzato. Quindi se hai difficoltà, sei quello sano. Ergo, prima di vedere la Funzione Stringa Estrai nel dettaglio, bisogna fare una bella introduzione, causa le sue particolarità.
Guarda il Video: Funzione Stringa Estrai Excel
Partiamo da un foglio con due valori Nome (e Cognome) e ID, entrambi i valori in un unica cella. Il che non va bene. Possiamo dividere in colonne ad ogni spazio con la funzione Testo in colonne, ottenendo quindi 3 colonne: Nome, Cognome e ID. Questa soluzione, benché rapida non ci servirebbe a molto per chi porta un secondo nome o nomi composti da due parole. “Leonardo da Vinci” per esempio sarebbe diviso in 3 colonne + quella dell’ID. Se ci fosse qualche nome con il titolo? Prof. Dott.? in prossimità dello spazio, la funzione Testo in colonne andrebbe comunque a dividere in una colonna.
Possiamo fare di meglio della Testo in colonne, possiamo individuare le lettere “ID” (dato che ogni ID inizia appunto con un prefisso preciso – ID appunto) ed eseguire una divisione corrispondente tramite la Funziona Stringa Estrai.
Qualcuno potrebbe dire di usare la funzione TROVA, con la forma
=TROVA($B$1;A2)
(Mi raccomando: la casella con la stringa di testo – ID – da trovare va bloccata!)
Il risultato che otteniamo è la posizione in cui si trova il testo cercato, ovvero “ID“. A questo punto possiamo nidificare la formula. Se utilizzassi la funzione DESTRA, nella forma:
=DESTRA(A2;TROVA($B$1;A2))
non ottengo quello che mi interessa, perché in questo caso la formula mi restituire ciò che trova dalla posizione 13, ossia il valore della formula TROVA!
Possiamo provare anche con SINISTRA, ma anche in questo caso non abbiamo il risultato che ci serve.
Possiamo fare qualcosa di contorto con la funzione LUNGHEZZA, oppure, c’è una soluzione molto più semplice: STRINGA ESTRAI. La funzione perfetta per questo compito. Teniamoci la funzione:
=TROVA($B$1;A2)
e nidifichiamo con la STRINGA ESTRAI, ecco la sua sintassi:
=STRINGA.ESTRAI(testo, inizio, num_caratteri)
- In testo va la cella da cui deve estrarre il testo, in questo caso la casella A2
- come inizio possiamo inserire la funzione TROVA($B$1;A2), che in questo caso indica il punto esatto in cui inizia il testo di nostro interesse.
- Quello che ci manca è definire quanti caratteri prendere (num_caratteri) dal carattere inizio in poi (a destra). In questo caso possiamo mettere un numero esageratamente grande (9999), per essere sicuri che vasa a prenda tutti i caratteri che ci servono.
Ecco la formula:
=STRINGA.ESTRAI(A1;TROVA($B$1;A2);9999)
Campo Nome (e Cognome)
Ora che la Funzione Stringa Estrai ha estratto per noi l’ID in una colonna, possiamo procedere con una Sostituisci per avere il nostro campo Nome (e Cognome). Possiamo anche avvalerci di una Funzione Annulla Spazi per eliminare eventuali spazi iniziali o finali. la Formula iniziale sarebbe questa:
=SOSTITUISCI(A2;B2;””)
Oppure
=SOSTITUISCI(A:A;B:B;””)
Oppure – per la 365 aggionata:
=SOSTITUISCI(@A:A;@B:B;””)
Con l’Annulla Spazi otteniamo:
=ANNULLA.SPAZI(SOSTITUISCI(@A:A;@B:B;””))
Oppure – per le vecchie versioni:
=ANNULLA.SPAZI(SOSTITUISCI(A:A;B:B;””))
La Funzione Sostituisci va a sostituire l’ID (preso dalla colonna ID – con la Stringa Estrai) con un testo vuoto “”, quindi lo elimina. Annulla Spazi elimina solo gli spazi iniziali e quelli finali.