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














@Tiziano
Ciao Tiziano,
immagino tu abbia una colonna con due parole all’interno, e le vuoi mettere in due colonne differenti.
In questo caso, guarda sui commenti qui sopra la soluzione che ho dato a Tiziano, dovresti risolvere !
Fammi sapere,
Gorilla
PS: la soluzione e nei commenti della pagina precedente, devi cliccare su “precedente” oppure su “1″.
Come funziona la conversione del “testo in colonne” nella versione excel 2010 ? E dove si trova l’opzione “dividi” presente nella precedente versione in “finestra” ?? …sto impazzande, grazie !
@Cinzia
Mi dispiace non ho Excel 2010… !
@Cinzia
se non l’hai ancora trovato il testo in colonne lo trovi nella scheda “dati” finestra “strumenti dati”
Ciao!
Innanzitutto lasciami dire: Ottimi tutorial!
Avrei un problemino. Ho un lista di negozi che é stata creata selvaggiamente perché ha questa struttura:
Cella A2 – Nome
Cella A3 – Indirizzo
Cella A4 – Cap
Cella A5 – Cittá
Cella A7 – Nome
Cella A8 – Indirizzo
Cella A9 – Cap
Cella A10 – Cittá
e cosí via…
E’ da impazzire, ovviamente ho bisogno di metterla nel formato standard di una tabella da cui é possibile fare una pivot o applicare filtri, etc.
Sai come fare?
Grazie
Giuseppe
@Giuseppe
Ciao Giuseppe ! Sei che non è male come domanda ? Ora non ho excel davanti… appena riesco provo a pensare ad una soluzione ! Abbi pazienza qualche giorno (a meno che tu non abbia già risolto).
Saluto !
Gorilla
Ciao Gorilla!
Avevo urgenza e per fortuna la lista di negozi non era enorme e quindi ho fatto tutto a mano (ctrl+C and ctrl+V) peró non sarebbe male trovare la soluzione, perché conoscendo alcuni dei miei colleghi sono sicuro che mi ricapiterá!!!
Giuseppe
@Giuseppe
Ciao Giuseppe,
ho trovato un modo, non molto elegante, per fare quello che volevi, in modo automatico.
Segui lo screnshot qui:
http://i44.tinypic.com/v3pqft.jpg
In pratica: nella prima colonna, di fianco ai tuoi dati, scrivi cosa è quel campo (ovvero, nome, cognome, città ecc… e copia incolla queste “etichette”).
Dopo di che crea una tabella a sinistra, intestandola con i campi in senso orizzontale.
Adesso nella prima cella scrivi la formula che vedi (è in inqlese quella) e cioè:
=se nella cella B2 c’e’ lo stesso contenuto della cella E1 (bloccando E1 con i dollari, altrimenti trascinando la forumula perdi il riferimento); allora prendi il valore della cella C2; altrimenti non scrivere nulla (che si indica con “” ).
Fai la stessa cosa per tutti i valori della prima riga e trascina.
Dovresti ottenere quello che ho ottenuto io.
Poi nella terza tabella (tutto a destra), nella prima cella scrivi:
=E2
per far “pescare” alla cella J2, il valore della cella E2.
Componi in questo modo (a mano) le prime due righe.
Una volta fatto, seleziona le prime due righe appena create, e trascina tutto fino in fondo.
Otterrai quello che vedi nello screenshot !
Spero di averti aiutato ! (o di aiutarti per un prossimo futuro)
Saluto !
Gorilla
In questo caso al fine preferisco il mezzo, quindi non importa affatto che sia elegante o meno!
Il tutto funziona benissimo, l’unica cosa i separatori della prima formula sono delle virgole e non dei punto e virgola. Io vivo in Inghilterra e forse qui excel ha alcune diversitá…
Grazie mille comunque
Giuseppe