Mini corso di Excel: parte 2 – dividere testo in colonne

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

testoincolonna0 Mini corso di Excel: parte 2   dividere testo in colonne

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

testoincolonna2 Mini corso di Excel: parte 2   dividere testo in colonne

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”

testoincolonna3 Mini corso di Excel: parte 2   dividere testo in colonne

Dopo di che, selezioniamo “altro” ed inseriamo la virgola nello spazio a fianco. Verifichiamo che excel interpreti il tutto correttamente (campi sottostanti)

testoincolonna4 Mini corso di Excel: parte 2   dividere testo in colonne

A questo punto premiamo il pulsante “Fine”: il nostro testo sarà correttamente diviso in colonne.

testoincolonna5 Mini corso di Excel: parte 2   dividere testo 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

estrarretesto0 Mini corso di Excel: parte 2   dividere testo in colonne

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)

estrarretesto2 Mini corso di Excel: parte 2   dividere testo in colonne

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).

estrarretesto31 Mini corso di Excel: parte 2   dividere testo in colonne

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.

estrarre11 Mini corso di Excel: parte 2   dividere testo in colonne

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.

estrarretesto5 Mini corso di Excel: parte 2   dividere testo in colonne

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

  1. 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

  2. Gorilla

    PS: la soluzione e nei commenti della pagina precedente, devi cliccare su “precedente” oppure su “1″.

  3. Cinzia
    • Cinzia
    • febbraio 7th, 2011

    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 !

  4. Gorilla

    @Cinzia

    Mi dispiace non ho Excel 2010… !

  5. Igor
    • Igor
    • maggio 3rd, 2011

    @Cinzia
    se non l’hai ancora trovato il testo in colonne lo trovi nella scheda “dati” finestra “strumenti dati”

  6. Giuseppe
    • Giuseppe
    • gennaio 4th, 2012

    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

  7. Gorilla

    @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

  8. Giuseppe
    • Giuseppe
    • gennaio 12th, 2012

    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

  9. Gorilla

    @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

  10. Giuseppe
    • Giuseppe
    • gennaio 17th, 2012

    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

  1. No trackbacks yet.