
Generisk formel
=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))),(N-1)*LEN(A1)+1,LEN(A1)))
Sammendrag
For å dele tekst i en vilkårlig skillelinje (komma, mellomrom, rør, etc.) kan du bruke en formel basert på funksjonene TRIM, MID, SUBSTITUTE, REPT og LEN. I eksemplet vist er formelen i C5:
=TRIM(MID(SUBSTITUTE($B5,"|",REPT(" ",LEN($B5))),(C$4-1)*LEN($B5)+1,LEN($B5)))
Merk: referanser til B5 og C4 er blandede referanser for å tillate at formelen kopieres over og ned.
Forklaring
Kjernen i denne formelen er å erstatte en gitt skilletegn med et stort antall mellomrom ved å bruke SUBSTITUTE og REPT, og deretter bruke MID-funksjonen til å trekke ut tekst relatert til "nth forekomst" og TRIM-funksjonen for å bli kvitt den ekstra plassen.
I dette utdraget erstattes avgrenseren (avgrensningen) med et antall mellomrom som er lik den totale lengden på strengen:
SUBSTITUTE(A1,delim,REPT(" ",LEN(A1)))
Deretter bruker formelen MID-funksjonen til å trekke ut den niende understrengen. Startpunktet beregnes med koden nedenfor, der N representerer "nth":
(N-1)*LEN(A1)+1
Det totale antallet ekstraherte tegn er lik lengden på teksten i fulltekst. TRIM-funksjonen fjerner deretter alle ekstra mellomrom og returnerer bare den nende strengen.
Pakk ut bare en forekomst
Selv om eksemplet er satt opp for å trekke ut 5 understreng fra teksten i kolonne B, kan du enkelt trekke ut bare 1 forekomst. For eksempel, for å trekke ut bare det fjerde elementet (by), kan du bruke:
=TRIM(MID(SUBSTITUTE(B5,"|",REPT(" ",LEN(B5))),(4-1)*LEN(B5)+1,LEN(B5)))
Tekst til kolonner-funksjonen
For manuelle engangskonverteringer har Excel en innebygd funksjon kalt "Tekst til kolonner" som kan dele tekst i celler med en avgrenser du ønsker. Du finner denne funksjonen i kategorien Data på båndet i delen Dataverktøy.