Come dividere il testo in colonne separate ogni volta che compare una lettera maiuscola in Excel?
Quando si lavora con i dati in Excel, capita spesso di incontrare celle in cui più parole sono unite senza spazi, con ogni parola che inizia con una lettera maiuscola — ad esempio «FirstNameLastName» o «SalesMarchApril». Per pulire o analizzare efficacemente questi dati, potrebbe essere necessario suddividere il contenuto in colonne distinte in corrispondenza di ciascuna lettera maiuscola, come mostrato nello screenshot seguente. Tuttavia, Excel non include una funzione integrata per eseguire direttamente questa operazione basata sulle maiuscole. Quali approcci pratici ti permettono di separare rapidamente e con precisione le parole in colonne distinte in base alle lettere maiuscole?
Di seguito troverai tre soluzioni efficaci per questo problema, ognuna con il proprio scenario applicativo e i propri punti di forza:

Dividi il testo in colonne separate per lettera maiuscola con formule
Se i tuoi dati sono composti da valori di celle contenenti esclusivamente due parole unite da lettere maiuscole, le formule di Excel ti permettono di suddividerli facilmente in colonne distinte. Questa soluzione è semplice, non richiede codice né componenti aggiuntivi ed è ideale per set di dati più piccoli o per esigenze di suddivisione meno complesse.
1. In una cella vuota adiacente ai tuoi dati (ad esempio, la cella C2), inserisci la seguente formula matriciale per estrarre la prima parola dalla cella A2 (dove A2 contiene il testo da suddividere):
=LEFT(A2,SMALL(FIND(CHAR(ROW(INDIRECT("65:90"))),A2&"ABCDEFGHIJKLMNOPQRSTUVWXYZ"),2)-1) Dopo aver digitato la formula, assicurati di premere Ctrl + Maiusc + Invio contemporaneamente. Questo passaggio è essenziale per le formule matriciali in alcune versioni di Excel. Se eseguito correttamente, compariranno delle parentesi graffe {} attorno alla formula nella Barra delle formule. La formula individua la seconda lettera maiuscola nella cella ed estrae tutti i caratteri che la precedono, restituendo così la prima parola.

2. Per applicare la formula alle altre voci, seleziona la cella C2 e trascina il quadratino di riempimento verso il basso: la formula verrà estesa automaticamente alle altre celle della colonna, estraendo le prime parole di ogni riga.

3. Successivamente, nella cella a destra (ad esempio, D2), inserisci la seguente formula per estrarre la parte restante del testo (la seconda parola):
=REPLACE(A2,1,LEN(C2),"") Questa formula rimuove la prima parola estratta nel passaggio precedente, lasciando soltanto la seconda parola. Premi semplicemente Invio per confermare.

4. Allo stesso modo, seleziona la cella D2 e usa il quadratino di riempimento per trascinare la formula verso il basso nelle altre righe. Ora il testo di ciascuna cella nell’intervallo originale verrà diviso in due colonne, separate in base alla posizione della lettera maiuscola.


Sblocca la magia di Excel con KUTOOLS AI
- Esecuzione intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici, il tutto con comandi semplici e intuitivi.
- Formule personalizzate: crea formule su misura per ottimizzare i tuoi flussi di lavoro.
- Codifica VBA: Scrivi e implementa codice VBA in modo semplice e immediato.
- Interpretazione delle formule: Comprendi con facilità anche le formule più complesse.
- Traduzione del testo: Superate le barriere linguistiche direttamente nei vostri fogli di calcolo.
Dividi il testo in colonne separate per lettera maiuscola con codice VBA
Il metodo basato su formule descritto sopra è ideale quando devi separare solo due parole, ma non funziona con celle contenenti più di due parole concatenate (ad esempio, «FirstNameMiddleNameLastName»). In questi casi, puoi utilizzare un codice VBA per inserire automaticamente uno spazio prima di ogni lettera maiuscola, suddividendo così il testo in parole distinte. Una volta aggiunti gli spazi, potrai sfruttare la funzione integrata di Excel Testo in colonne per distribuire il contenuto in colonne separate.
Innanzitutto, applica il codice VBA per inserire spazi prima delle lettere maiuscole, in modo da separare le parole.
1. Premi ALT + F11 per aprire la finestra dell’editor Microsoft Visual Basic, Applications.
2. Nell’editor VBA, fai clic su Inserisci > Modulo e incolla il seguente codice nella nuova finestra del modulo.
Codice VBA: Inserisci spazi prima di ogni lettera maiuscola in una cella
Function SplitWords(ByVal Str As String) As String
'updateby Extendoffice 20151128
Dim I As Integer
SplitWords = Left(Str, 1)
For I = 2 To Len(Trim(Str))
If (Asc(Mid(Str, I, 1)) > 64) And _
(Asc(Mid(Str, I, 1)) < 91) And _
(Mid(Str, I - 1, 1) <> " ") Then _
SplitWords = SplitWords & " "
SplitWords = SplitWords & Mid(Str, I, 1)
Next
End Function
Dopo aver digitato o incollato il codice, chiudi l’editor VBA per tornare al foglio di lavoro. Questo codice definisce una nuova funzione denominata splitwords che puoi utilizzare come una normale formula di foglio di lavoro. Ricorda che potrebbe essere necessario abilitare le macro per usare questa funzione e che dovresti salvare la cartella di lavoro come file .xlsm per conservare il codice VBA.
3. In una cella vuota accanto ai tuoi dati, inserisci la seguente formula per aggiungere uno spazio prima di ogni lettera maiuscola nella cella A2:
=splitwords(A2) Questa formula richiama la funzione definita dall’utente per elaborare ciascuna cella. Dopo aver premuto Invio, vedrai il tuo testo con spazi aggiunti prima di ogni lettera maiuscola, in modo da distinguere chiaramente le singole parole.

4. Copia questa formula nelle celle sottostanti utilizzando il quadratino di riempimento, in modo che ogni riga venga elaborata correttamente.

5. A questo punto, le celle contengono formule. Potresti voler copiare e incollare i valori altrove per conservare solo il testo elaborato, senza il collegamento alla formula. Per farlo, seleziona le celle elaborate, copiale, quindi fai clic con il pulsante destro del mouse e scegli «Incolla speciale» > «Valori» nella posizione desiderata.

In secondo luogo, applica la funzione Testo in colonne per suddividere il contenuto delle celle in colonne separate utilizzando lo spazio come delimitatore.
6. Ora seleziona le celle contenenti gli spazi (risultati del passaggio precedente). Nella barra multifunzione, vai su Dati > Testo in colonne. Quando compare la Procedura guidata Converti testo in colonne (Passaggio 1), scegli l’opzione Delimitato nel pulsante di opzione.

7. Fai clic su Avanti e, al Passaggio 2, seleziona l’opzione Spazio nella sezione Delimitatori. In questo modo, indicherai a Excel di usare gli spazi come punto di separazione per suddividere i dati in colonne.

8. Al Passaggio 3, assicurati che sia selezionato Generale come formato dati della colonna (oppure scegli un altro formato, se necessario) e seleziona la cella in cui desideri far apparire i dati suddivisi facendo clic su
. Verifica che l’intervallo di destinazione non sovrascriva dati esistenti.

9. Fai clic su Fine e Excel separerà il testo in più colonne, ognuna corrispondente a una parola originariamente divisa da una lettera maiuscola.

Se riscontri un errore per cui alcune parole non vengono suddivise come previsto, verifica la presenza di situazioni eccezionali, come acronimi (sequenze di lettere maiuscole) o spazi finali. Valuta l’opportunità di perfezionare il tuo codice VBA o di riesaminare i dati alla ricerca di valori anomali. Ricorda inoltre di salvare regolarmente il lavoro quando utilizzi VBA o esegui operazioni batch sui dati.
Questo metodo è particolarmente utile quando si gestiscono lunghezze di testo non uniformi o un numero variabile di parole per cella. Tuttavia, se non ti senti a tuo agio nell’eseguire codice VBA, puoi valutare i metodi alternativi illustrati di seguito.
Dividi il testo in colonne separate per lettera maiuscola con Kutools per Excel
Kutools per Excel offre una soluzione semplice ed efficiente, adatta a utenti di ogni livello, per dividere il testo in base alle lettere maiuscole—ideale soprattutto con set di dati ampi o attività ripetitive. Combinando le sue funzionalità Aggiungi testo e Dividi celle, puoi portare a termine l’operazione con il minimo sforzo e rischio.
1. Seleziona le celle contenenti i dati originali che vuoi suddividere.
2. Fai clic su Kutools > Testo > Aggiungi testo. Questo strumento ti permette di inserire un carattere o un separatore—come uno spazio—prima di ogni lettera maiuscola.

3. Nella finestra di dialogo Aggiungi testo, digita uno spazio (o un altro separatore, se necessario) nella casella di input Testo. Quindi, nella sezione Aggiungi solo a, seleziona La 1ª lettera è maiuscola. In questo modo, Kutools aggiungerà il separatore scelto prima di ogni lettera maiuscola nelle celle selezionate.

4. Fai clic su OK. Kutools aggiungerà automaticamente uno spazio prima di ogni lettera maiuscola, preparando immediatamente i tuoi dati per la suddivisione.

5. Successivamente, con l'intervallo elaborato ancora selezionato, vai su Kutools > Unisci e dividi > Dividi celle per iniziare a separare il testo in colonne tramite delimitatori.

6. Nella finestra di dialogo Dividi celle, scegliere Dividi in colonne nella sezione Tipo, quindi selezionare la casella Spazio (o il delimitatore aggiunto in precedenza) per indicare dove devono avvenire le suddivisioni.

7. Fare clic su OK. Verrà visualizzato un messaggio che ti consente di scegliere la cella iniziale per i risultati della suddivisione. Indica con attenzione la destinazione, assicurandoti che ci sia spazio sufficiente per le colonne suddivise.

8. Infine, fai clic su OK per completare l'operazione di suddivisione. I dati verranno ora distribuiti in colonne separate in corrispondenza di ogni lettera maiuscola, in modo efficiente e accurato.

Questo metodo è perfetto per gestire dati complessi, voluminosi o soggetti a frequenti aggiornamenti, eliminando la necessità di modifiche manuali alle formule o di scrivere codice. Ricordate che Kutools per Excel aumenta ulteriormente la propria utilità grazie a numerose funzionalità aggiuntive, rendendo più efficienti sia le attività quotidiane che quelle avanzate.
Scarica e prova gratuitamente Kutools per Excel oggi stesso!
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi