Excel-formel: Del tekst med skilletegn -

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.

Interessante artikler...