Excel-formel: Opdel tekst med afgrænser -

Generisk formel

=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))),(N-1)*LEN(A1)+1,LEN(A1)))

Resumé

For at opdele tekst i en vilkårlig afgrænser (komma, mellemrum, rør osv.) Kan du bruge en formel baseret på funktionerne TRIM, MID, SUBSTITUTE, REPT og LEN. I det viste eksempel er formlen i C5:

=TRIM(MID(SUBSTITUTE($B5,"|",REPT(" ",LEN($B5))),(C$4-1)*LEN($B5)+1,LEN($B5)))

Bemærk: referencer til B5 og C4 er blandede referencer, så formlen kan kopieres over og ned.

Forklaring

Kernen i denne formel er at erstatte en given afgrænser med et stort antal mellemrum ved hjælp af SUBSTITUTE og REPT, og brug derefter MID-funktionen til at udtrække tekst relateret til "nth forekomst" og TRIM-funktionen for at slippe af med den ekstra plads.

I dette uddrag erstattes afgrænseren (afgrænsningen) med et antal mellemrum svarende til strengens samlede længde:

SUBSTITUTE(A1,delim,REPT(" ",LEN(A1)))

Derefter bruger formlen MID-funktionen til at udtrække den niende understreng. Udgangspunktet beregnes med nedenstående kode, hvor N repræsenterer "nth":

(N-1)*LEN(A1)+1

Det samlede antal ekstraherede tegn er lig med længden af ​​den fulde tekststreng. TRIM-funktionen fjerner derefter alle ekstra mellemrum og returnerer kun den nende streng.

Uddrag kun en forekomst

Selvom eksemplet er indstillet til at udtrække 5 understreng fra teksten i kolonne B, kan du nemt udpakke kun 1 forekomst. For eksempel, for kun at udtrække det fjerde element (by), kan du bruge:

=TRIM(MID(SUBSTITUTE(B5,"|",REPT(" ",LEN(B5))),(4-1)*LEN(B5)+1,LEN(B5)))

Tekst til kolonner funktion

For manuelle engangskonverteringer har Excel en indbygget funktion kaldet "Tekst til kolonner", der kan opdele tekst i celler med en afgrænser efter eget valg. Du finder denne funktion på fanen Data på båndet i afsnittet Dataværktøjer.

Interessante artikler...