
Formula generica
=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))),(N-1)*LEN(A1)+1,LEN(A1)))
Sommario
Per dividere il testo con un delimitatore arbitrario (virgola, spazio, barra verticale, ecc.) È possibile utilizzare una formula basata sulle funzioni TRIM, MID, SOSTITUISCI, RIPETI e LUNGHEZZA. Nell'esempio mostrato, la formula in C5 è:
=TRIM(MID(SUBSTITUTE($B5,"|",REPT(" ",LEN($B5))),(C$4-1)*LEN($B5)+1,LEN($B5)))
Nota: i riferimenti a B5 e C4 sono riferimenti misti per consentire di copiare la formula su e giù.
Spiegazione
L'essenza di questa formula è sostituire un dato delimitatore con un gran numero di spazi usando SOSTITUISCI e RIPETI, quindi usa la funzione MID per estrarre il testo relativo all '"ennesima occorrenza" e la funzione TRIM per eliminare lo spazio extra.
In questo frammento, il delimitatore (delim) viene sostituito con un numero di spazi uguale alla lunghezza totale della stringa:
SUBSTITUTE(A1,delim,REPT(" ",LEN(A1)))
Quindi la formula utilizza la funzione MID per estrarre l'ennesima sottostringa. Il punto di partenza viene calcolato con il codice sottostante, dove N rappresenta "nth":
(N-1)*LEN(A1)+1
Il totale dei caratteri estratti è uguale alla lunghezza della stringa di testo completo. La funzione TRIM quindi rimuove tutti gli spazi extra e restituisce solo l'ennesima stringa.
Estrai solo un'istanza
Sebbene l'esempio sia impostato per estrarre 5 sottostringhe dal testo nella colonna B, puoi facilmente estrarre solo 1 istanza. Ad esempio, per estrarre solo il 4 ° elemento (città), potresti utilizzare:
=TRIM(MID(SUBSTITUTE(B5,"|",REPT(" ",LEN(B5))),(4-1)*LEN(B5)+1,LEN(B5)))
Funzione Text to Columns
Per le conversioni manuali e una tantum, Excel ha una funzionalità incorporata chiamata "Testo in colonne" che può dividere il testo in celle con un delimitatore a tua scelta. Troverai questa funzionalità nella scheda Dati della barra multifunzione nella sezione Strumenti dati.