www.valterborsato.it

Come suddividere il testo contenuto in una cella - Funzioni e comandi

Excel offre diverse soluzioni per suddividere il contenuto di una cella in più colonne, ciascuna con caratteristiche peculiari che la rendono più o meno adatta a specifici contesti.
Tra queste opzioni, vi sono le Funzioni, il comando "Testo in colonne" e il potente comando "Flash Fill" (Riempimento automatico).
Ogni approccio si distingue per la modalità di applicazione e i risultati ottenibili.
Le Funzioni consentono un controllo dettagliato e personalizzato sulla separazione dei dati, ideali quando si ha bisogno di maggiore precisione o di operazioni dinamiche che si aggiornano automaticamente con le modifiche dei dati.
Il comando "Testo in colonne", invece, è utile per operazioni più immediate e manuali, permettendo di separare i contenuti in base a specifici delimitatori, come spazi o virgole, rendendolo efficace per esigenze occasionali o con dati già ben strutturati.
Infine, "Flash Fill" rappresenta una funzionalità estremamente versatile e intuitiva, in grado di riconoscere automaticamente schemi nei dati e riempire le colonne con valori coerenti, senza la necessità di scrivere formule o eseguire impostazioni complesse.

Contenuti del tutorial: suddividere testi in Excel

[1] - Applicare Formule e Funzioni per dividere i testi su più colonne
[2] - Come dividere le celle utilizzando il comando Testo in colonne
[3] - Utilizzare Flash Fill (riempimento automatico) per dividere testi su colonne

Applicare Formule e Funzioni per dividere i testi su più colonne

Quale prima opportunità per suddividere il contenuto di una cella su più colonne prendiamo in considerazione l'utilizzo delle Funzioni.
Delle tre possibilità oggetto del presente tutorial, è sicuramente quella che richiede una maggiore conoscenza del programma Excel.
Per raggiungere l'obiettivo di separare il contenuto di una cella verranno applicate le seguenti Funzioni: STRINGA.ESTRAI; SINISTRA; DESTRA; LUNGHEZZA e TROVA o in alternativa a quest'ultima la Funzione RICERCA.
L'elemento chiave, che deve essere individuato per poter effettuare questa operazione, è il carattere (spazio; virgola; punto virgola etc.) che si interpone fra i testi che si vogliono separare.
Successivamente sarà possibile dividere le due stringhe di testo che precedono e che seguono la presenza del  carattere individuato.

Esempio di applicazione di Formule per suddividere un testo

Nel caso dell'esempio proposto, il carattere che separa il nome dal cognome è lo spazio (barra spaziatrice).
Per individuare la posizione (numerica) dello spazio all'interno della stringa si utilizza la Funzione TROVA.
Nello specifico la Funzione sarà espressa da: =TROVA(" ";A2)
Il risultato di questa Funzione ci restituisce la posizione dello spazio nelle stringhe di testo contenute nella colonna A del Foglio Excel.

OSSERVAZIONE: la Funzione TROVA è case sensitive (tiene conto del carattere maiuscolo o minuscolo), pertanto permette di individuare e distinguere anche la presenza di uno specifico carattere scritto in maiuscolo o minuscolo.
Se viceversa si volesse ignorare il carattere maiuscolo minuscolo utilizzare la Funzione RICERCA, la quale ha la stessa sintassi di TROVA ma non è case sensitive.

Excel suddividere testi in colonne: Formule e Funzioni

Una volta individuata la posizione del carattere che divide il nome dal cognome è possibile operare con le Funzioni SINISTRA; DESTRA e STRINGA.ESTRAI per dividere le due stringhe presenti prima e dopo lo spazio.
Per estrarre il nome, nella cella B2 del Foglio di lavoro (sotto illustrato) è stata inserita la Funzione: =SINISTRA(A2;TROVA(" ";A2)-1)

:: OSSERVAZIONE. Il valore -1 presente dopo la Funzione TROVA, è per non portare nella colonna B lo spazio vuoto dopo il nome. La Funzione TROVA infatti  restituisce la posizione dello spazio vuoto. Nel caso della cella A2 se vengono estratti 5 caratteri a sinistra si ottiene Luca + uno spazio vuoto!

Per conteggiare quanti caratteri ci sono dopo lo spazio è indispensabile conoscere quanti sono i caratteri complessivamente presenti nella cella. Per ottenere questa informazione si utilizza la Funzione LUNGHEZZA.
Per quanto concerne l'estrazione del cognome si può procedere in due distinti modi.
Nella cella B2 è stata inserita la seguente Formula:
=DESTRA(A2;LUNGHEZZA(A2)-TROVA(" ";A2))
Ugualmente valida, ma forse un po' più complessa, poteva essere imputata la Formula:
=STRINGA.ESTRAI(A2;TROVA(" ";A2)+1;LUNGHEZZA(A2)-TROVA(" ";A2))

Il risultato dell'applicazione delle due Formule lo si può consultare nella successiva immagine

Excel suddividere testi in colonne: Risultato applicazione Formule e Funzioni

Per un approfondimento sulle Funzioni utilizzate nell'esempio si rimanda a:
Excel - Funzioni sui testi: La Funzione LUNGHEZZA
Excel - Funzioni sui testi: Le Funzioni SINISTRA, DESTRA e STRINGA.ESTRAI
Excel - Funzioni sui testi: Le Funzioni: TROVA e RICERCA

Come dividere le celle utilizzando il comando Testo in colonne

Il Comando Testo in colonne permette di dividere il contenuto di una cella di testo in colonne distinte sfruttando un delimitatore specifico come potrebbe essere un simbolo di punteggiatura o uno spazio.
Ovviamente il comando testo in colonne può essere utilizzato per stringhe molto più complesse del semplice nome e cognome, ma per effettuare una comparazione con l'impostazione delle Funzioni viene mantenuto lo stesso esempio precedente.

Esempio applicazione Comando Testo in Colonne

Per semplificare la spiegazione risulta più facile schematizzare punto punto i passaggi del comando Testo in colonne.
[1] Selezionare l'intervallo di celle A2:A7
[2] Scheda Dati -> Gruppo pulsanti Strumenti dati -> fare clic su Testo in colonne.

Excel suddividere testi in colonne: Applicare il comando testo in colonne

Excel suddividere testi in colonne: Applicare il comando testo in colonne. Wizard passaggio guidato 1 di 3

:: Osservazione. In certi casi può tornare utile applicare l'opzione Larghezza Fissa.
Larghezza Fissa serve per suddividere la stringa di testo contenuta nella cella in un certo numero di caratteri colonna per colonna.
Esempio. Se si decidesse che il contenuto della cella va suddiviso ogni 10 caratteri, Excel suddivide il contenuto della stringa in un numero di celle necessarie affinchè ognuna contenga 10 caratteri.

[4] Nel passaggio 2 di 3 viene chiesto di individuare il tipo di delimitatore che deve essere considerato.
Nella Finestra di dialogo Conversione guidata testo in colonne, una serie di Checkbox permettono di scegliere fra i principali delimitatori che possono essere presenti in un stringa.
Qualora il delimitatore interessato non fosse presente, è possibile definirlo nel campo Altro.
È possibile selezionare contemporaneamente anche due delimitatori qualora la stringa contenesse interruzioni caratterizzate da delimitatori diversi.
Nel caso dell'esempio proposto, oltre a Spazio va selezionata anche la Checkbox  Considera delimitatori consecutivi come uno solo. Questa seconda opzione serve qualora per errore ci fossero due caratteri spazio consecutivi.
Nella parte sottostante della Finestra di dialogo viene resa disponibile una anteprima, nella quale è possibile constatare se si sta dividendo in maniera corretta il testo.
Una volta presa visione dell'anteprima fare clic sul pulsante Avanti per passare nell'ultimo passaggio della procedura guidata.

Excel suddividere testi in colonne: Applicare il comando testo in colonne. Wizard passaggio guidato 2 di 3

[5] Nel passaggio 3 di 3 rimangono solamente due cose importanti da scegliere: la formattazione dei dati e individuare la destinazione dei dati sul Foglio di lavoro di Excel.
Per quanto riguarda la formattazione, ad ogni colonna può essere applicato uno specifico formato.
Selezionata una colonna nell'Anteprima dei dati si può anche decidere di non importare quella specifica colonna. Opzione: Non importare colonna (salta).
Nel caso di un campo di tipo data, viene reso possibile scegliere l'ordine del giorno mese e anno (Esempio: formato europeo GMA o americano MGA).
Infine, nel campo destinazione, va individuato a partire da quale cella inizierà l'inserimento delle colonne sul Foglio di lavoro (Cella in alto a sinistra dell'intervallo).
una volta impostate le formattazioni e definita la destinazione fare clic sul pulsante Fine.

Excel suddividere testi in colonne: Applicare il comando testo in colonne. Wizard passaggio guidato 3 di 3

[6] Una volta cliccato sul pulsante Fine, a partire dalla celle individuata come destinazione i dati verranno suddivisi su colonne. Vedi immagine sottostante.
Attenzione. Non è possibile destinare i dati su un nuovo Foglio di lavoro di Excel, qualora si tentasse l'operazione appare l'avviso:  "Il riferimento alla destinazione non è valido".

Excel suddividere testi in colonne: Risultato finale comando Testo in colonne

Flash fill (riempimento automatico)

Infine, quale terza opportunità per suddividere i contenuti in colonne, consideriamo il Flash Fill indicato anche come Riempimento automatico  o Anteprima suggerimenti.
Interessantissima funzionalità (quasi magica) introdotta con la versione 2013 di Excel, che permette di riempire in modo automatico dei contenuti riproducendo quanto inserito in determinate celle.  Questa funzionalità permette di dividere facilmente dei testi senza dover ricorre a Funzioni o Comandi come il Testo in colonne.

Esempio applicazione Riempimento automatico

Per meglio spiegare Flash Fill - Riempimento automatico, consideriamo una tabella un po' più complessa della precedente, nella quale in un'unica colonna sono inseriti il nome, il cognome, il comune e, in taluni casi, anche la sigla provinciale.
L'obbiettivo è quello di suddividere la cella in tre colonne: il nome; il cognome; e nella terza la città con (se presente) la sigla provinciale. Una tabella pertanto più irregolare di quella precedentemente utilizzata.

Come prima operazione si compilano manualmente i risultati nelle colonne della prima riga, descrivendo pertanto in questo modo una regola su come si vogliono suddividere i dati.
A questo punto ci si posiziona nella cella B2 e nella scheda Dati, gruppo pulsanti Strumenti dati fare clic sul comando Anteprima suggerimenti. Oppure, ancora più semplice, posizionati nella cella B2 utilizzare la combinazione da tastiera CTRL+E.
Quale risultato del comando Excel applicherà la regola "intuita" nella cella B1 in tutte le celle della colonna.

Excel suddividere testi in colonne: Riempimento automatico - Flash Fill

In maniera del tutto analoga si può procedere con la seconda colonna, quella del cognome.
Anche in questa caso è sufficiente ad Excel quanto descritto nella prima riga per comprendere una regola ed applicarla alle celle sottostanti.

Discorso diverso invece per l'ultima colonna, quella nella quale si vuole estrarre il Comune ed eventualmente (se descritta) la sigla provinciale.
In questo caso l'impostazione della sola prima riga è insufficiente per far acquisire ad Excel una regola da estendere alle celle sottostanti. Posizionati nella cella D2, risultato del comando CTRL+E è visibile nella sottostante immagine.

Excel suddividere testi in colonne: Riempimento automatico - Flash Fill

Affinché Excel possa disporre di tutte le informazioni per poter applicare correttamente la regola, spesso è necessario compilare almeno due righe prima di applicare il comando Riempimento automatico.
Pertanto, una volta compilata anche la cella D2, passare nella cella sottostante D3 ed impartire il comando CTRL+E
Con questo secondo tentativo, Excel ha tutte le informazioni necessarie per poter creare la regola di riempimento automatico, e nelle sottostante celle riesce a dividere correttamente il comune e l'eventuale presenza della sigla provinciale.
Ovviamente la gestione di una ripartizione così irregolare, sarebbe molto difficile da gestire applicando le Formule oppure con il comando Testo in colonne.

Excel suddividere testi in colonne: Riempimento automatico - Flash Fill - Risultato finale

:: Come ultima osservazione consideriamo che in linea di massima è sempre meglio impostare almeno due righe di dati affinchè Excel possa capire correttamente le regole da applicare.
Il riempimento Flash è una Funzionalità disponibile dalla versione 2013 e può servire non solo per disgiungere dei dati contenuti in una stringa, ma anche per comporre informazioni all'interno di una cella, e diventare una validissima alternativa a Funzioni come CONCATENA; CONCAT etc.

Indice Generale Argomenti: EXCEL

[Valter Borsato: pubblicato 09/01/2021, revisione: 08/08/2024]