Mini corso di Excel: parte 2 – dividere testo in colonne
Seconda puntata di questo mini corso di Excel (nella prima puntata ho parlato del cerca.vert)
Questa volta voglio parlare di un insieme di funzioni Excel che vi aiuteranno nell’arduo compito di “isolare” parti di testo, cioè, a partire da una “stringa” (una frase, una parola, o qualsiasi altra informazione testuale), Excel ne può estrarre una parte con determinati criteri.
Vediamo un caso classico: abbiamo trovato da qualche parte una lista contatti, ma ci interessa avere i vari dettagli separati per “campo” (cioè: Nome, Cognome, Indirizzo, ecc…) e non tutti insieme nella stessa cella.
Ci sono due situazioni di partenza molto differenti.
1) Nella stringa di testo ci sono dei delimitatori, ovvero la situazione è questa:
Come vedete, è una situazione di partenza già molto “fortunata”, perchè ogni “campo” è già delimitato da un simbolo (in questo caso la virgola), questo ci agevola non poco la vita. Vediamo come fare per separare i campi e metterli in colonna.
Occorre usare la funzione “Testo in colonne”, selezionandola dal menu “Dati”:
Comparirà una finestra di dialogo che ci consentirà di dire ad Excel qual è il delimitatore da usare per separare i campi.
Prima di tutto selezioniamo “delimitati”
Dopo di che, selezioniamo “altro” ed inseriamo la virgola nello spazio a fianco. Verifichiamo che excel interpreti il tutto correttamente (campi sottostanti)
A questo punto premiamo il pulsante “Fine”: il nostro testo sarà correttamente diviso in colonne.
Spesso però ci si trova davanti a situazioni di partenza molto più complicate, per cui dovremo ricorrere all’uso di alcune forumule. Ed è il secondo caso:
2) Nella cella di partenza non ci sono delimitatori o ve ne sono di diversi
E cioè abbiamo i campi delimitati da “delimitatori” diversi tra loro (nel caso, virgole e trattini). Non potremo quindi utilizzare la funzione “testo in colonne”. Come fare ? Vediamo.
Di fianco alla colonna che contiene gli indirizzi, creeremo una colonna che chiameremo “lunghezza”.
In questa colonna verrà calcolata la lunghezza (in termini di numero di caratteri) della cella a fianco (che contiene gli indirizzi).
Posizioniamoci quindi a fianco della cella che ci interessa “misurare” (nel nostro caso vogliamo misurare la cella A3, posizioniamoci in B3) e scriviamo: =lunghezza(A3)
Il risultato sarà proprio il conteggio del numero dei caratteri della cella A3. Copiamo la formula anche per le righe sottostanti.
Dopo di che dovremo creare un’altra colonna nella quale verrà calcolata la posizione del primo separatore che ci interessa isolare, nel caso, la virgola. Posizioniamoci quindi nella cella C3 e scriviamo:
=trova (“,”;A3)
La funzione trova ci restituisce la posizione del testo che vogliamo cercare (nel nostro caso la virgola) all’interno della cella che la contiene. E’ importante sottolineare che il primo parametro (il testo che vogliamo cercare) sia posto fra le virgolette “ “ , nel nostro caso: “,” (la virgola è tra le virgolette).
Adesso possiamo “tirare fuori” il dato “Nome e Cognome”.
Posizioniamoci nella cella D4 e scriviamo
=SINISTRA(A3;C3-1)
La funzione “sinistra” ci consente di prendere la parte sinistra del testo di una data cella. Nel nostro caso avremo che la cella che contiene il testo da “spezzare” è la A3, ed il numero di caratteri da prendere in considerazione è contenuto nella cella C3 (che abbiamo calcolato in precedenza). In altre parole, stiamo dicendo ad excel di prendere la parte sinistra della cella A3, e di fermarsi alla virgola. Inseriamo il “ -1 ” finale per evitare che venga preso in considerazione lo “spazio” finale.
A questo punto cerchiamo di estrarre la parte di indirizzo, che si trova a destra di nome e cognome.
Utilizziamo quindi la funzione “DESTRA” che fa la stessa cosa di “SINISTRA” ma al contrario.
Scriviamo quindi:
=DESTRA(A3;B3-C3-1)
Stiamo quindi dicendo ad Excel di prendere la parte destra della cella A3, e di fermarsi alla virgola. La posizione della virgola viene indicata nella formula con la “sotto-formula” B3-C3: infatti questa operazione ci dice quanti caratteri ci sono, a partire da destra, prima della virgola. Il “ -1 ” viene aggiunto per evitare che venga preso lo spazio.
Avremo così la nostra lista di indirizzi nella colonna E.
Possiamo poi procedere ed isolare anche le due parti dell’indirizzo che sono a destra e a sinistra del trattino, usando lo stesso procedimento (avremo quindi in una cella la via col numero civico, e nell’altra il cap e la città).
Un ultimo passaggio, con gli stessi criteri, ma utilizzando il delimitatore ” spazio “, ci consente di isolare ogni singola parola.
Sperando di aver aiutato qualcuno con questo articolo, vi prego di voler segnalare eventuali parti non chiare o non complete.
Al prossimo articolo,
Gorilla














Buongiorno
cercavo per l’appunto una formula tipo quella spiegataper riuscire a estrarre una singola parola da una frase.Sarebbe perfetta senonchè mi trovo nella situazione di dover estrarre singoole parole senza che nella frase siano presenti delimitatori,ovvero solo spazi che delimitano solo le singole parole nella frase.Ad esempio: “acquisto farmacia mese gennaio”.
Se dovessi estrarre solo “farmacia”,in dieci frasi differenti,come potrei fare? Grazie mille
Se la parola è una costante (per esempio, si vuole estrarre sempre la parola “Farmacia” da 10 frasi differenti), dovrebbe poter risolvere così:
1) usare la funzione “lunghezza” per dare una dimensione numerica alla frase
2) usare la funzione “trova” per capire dove la parola “farmacia” è posizionata nelle varie frasi
3) usare la funzione DESTRA e SINISTRA per isolare la parola
4) eventualmente usare ANNULLA SPAZI per eliminare gli spazi residui.
Se avessi a disposizione due o tre frasi campione reali, potrei provare “sul campo” e dare un aiuto più concreto !
mmmm ripensandoci non ha molto senso quello che ho detto, anche perchè se la parola fosse una costante non ci sarebbe bisogno di doverla estrarre !!!
Chiedo scusa.
Se mi scrive alcuni esempi “reali” provo a trovare una soluzione al volo
Dunque,questa è forse piu ardua:
dentro la stessa cella abbiamo questa sintassi campione:
“nome cognome titolo del libro”
senza nessun delimitatore
3 esempi:
Hal Clement Nati Dall’Abisso
Neil Gaiman Coraline
Angela Carter Fuochi D’Artificio
Che cosa voglio far fare a excel?
Voglio dirgli:prendi le prime due parole intere,tagliale via dal testo e incollale in un’altra cella.
Ciao a tutti e grazie in anticipo
Ciao Pietro,
la funzione testo in colonne potrebbe servirti per suddividere tutte le parole delimitate da uno spazio all’interno di colonne.
Potrebbe però non fare al caso tuo, perchè mi dici che vorresti avere la prima e la seconda parola (nome e cognome) da una parte, ed il titolo dall’altra.
Potresti fare così:
Nella colonna A hai:
Hal Clement Nati Dall’Abisso
Neil Gaiman Coraline
Angela Carter Fuochi D’Artificio
nella colonna B scrivi questa foruma, che serve ad individuare dove è piazzato il primo degli spazi tra le parole:
=TROVA(” “;A2)
per quanto riguarda la prima riga, il risultato è 4
Nella colonnca C scrivi questa formula, che serve ad individuare dove è piazzato il secondo degli spazi tra le parole (quello dopo il cognome)
dove A2 è la cella nella quale ci sono i tuoi dati (nome cognome titolo tutti assieme), B2 è la cella nella quale hai calcolato la posizione del primo spazio)
=TROVA(” “;A2;B2+1)
il risultato, sempre per la prima riga, è 12
nella colonna D, scrivi questa formula, che ti farà comparire nome e cognome (la formula prende i caratteri della cella A2 fino al dodicesimo, cioè appena dopo il cognome). C2 è la cella nella quale hai calcolato la posizione del secondo spazio
=SINISTRA(A2;C2)
nella colonna E, scrivi questa formula, che ti farà comparire il titolo del libro (la formula prende tutta la stringa della cella A2, e toglie nome e cognome)
=RIMPIAZZA(A2;1;C2;”")
Fammi sapere se hai risolto !
Ah, solo una cosa… questo metodo funziona solo nel caso in cui l’autore abbia solo nome e cognome… se l’autore dovesse avere un solo nome (magari nome d’arte) o 2 cognomi, il sistema va in crisi, quindi occhio !
PS: faccio sempre riferimento alla riga 2 (celle A2, B2, eccetera) perchè la prima riga di dati l’ho incollata per sbaglio nella seconda riga !
Ciao.Ti ringrazio per la risposta che piu tempestiva non si poteva.
Il tuo tutorial mi è stato molto utile.
Per il problema dei cognomi doppi…era venuto in mente anche a me,solo che non lo consideravo un problema grosso perchè credevo fossero rare eccezioni.Invece ho visto che ,nella collana di ebooks che sto catalogando ci sono un sacco di autori americani,quasi tutti col doppio cognome o con l’iniziale del secondo nome (esempio philip k. dick).
Cmq il miglior artista,si tratti di libri o film o dischi,rimane sempre il signor AA.VV.,facile da catalogare e molto prolifico
Ciao,buona giornata,e grazie di nuovo.
ciao come posso contare quante volte viene ripetuto il testo es “enzo o tito ecc” anche se non sono in ordine io ho provato ad aggiungere nella colonna a un numero e nella colonna b i nomi in totale sono 20
1 enzo
1 fabio
1 tito
1 maria
1 enzo
1 enzo
1 tito
1 maria
1 giulia
1 fabio
1 maria
1 maria
1 giulia
1 giulia
1 enzo
1 tito
1 fabio
1 fabio
1 enzo
1 giulia
@Vincenzo
Ciao Vincenzo !
La soluzione al tuo problema è semplicissima: ti basterà creare una ” TABELLA PIVOT ” (dal menu dati crea tabella pivot), selezionando tutta la colonna che contiene i nomi).
Una volta creata, la tabella ti fornirà il conteggio (basta trascinare nel campo dati il “titolo” della colonna e selezionare conteggio).
Ti rimando alla guida sulle tabelle pivot:
http://www.gorilladigitale.com/2010/01/08/mini-corso-excel-parte-5-tabelle-pivot/
A presto !
Buongiorno,
Avrei un problema con una formula, per dividere un testo su 2 colonne contando i caratteri lo so fare, ma come faccio quando la limitazione di caratteri ad es. 40, mi raglia la parola? Come faccio a fare in modo che l’interruzione mi tenga la parola intera ( va bene che stia sia sulla prima che sulla seconda, è indifferente).
Grazie.
Tiziano
Scusate, “TAGLIA la parola” non “raglia”