Excel-formel: Pakk ut flere linjer fra en celle -

Generisk formel

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

Sammendrag

For å trekke ut linjer fra en celle med flere linjer, kan du bruke en smart (og skremmende) formel som kombinerer 5 Excel-funksjoner: TRIM, MID, SUBSTITUTE, REPT og LENN. I eksemplet vist er formelen i D5:

=TRIM(MID(SUBSTITUTE($C5,CHAR(10),REPT(" ",LEN($C5))), (D$4-1)*LEN($C5)+1, LEN($C5)))

Forklaring

I kjernen ser denne formelen etter en linjeskiller ("avgrensning") og erstatter den med et stort antall mellomrom ved hjelp av SUBSTITUTE og REPT-funksjonene.

Merk: I eldre versjoner av Excel på en Mac bruker du CHAR (13) i stedet for CHAR (10). CHAR-funksjonen returnerer et tegn basert på den numeriske koden.

Antall mellomrom som brukes til å erstatte linjeskilleren, er basert på den totale lengden teksten i cellen. Formelen bruker deretter MID-funksjonen til å trekke ut ønsket linje. Utgangspunktet er utarbeidet med:

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

Der "N" står for "nth line", som blir plukket opp fra rad 4 med D $ 4-referansen.

Totalt antall ekstraherte tegn er lik lengden på hele tekststrengen:

LEN(A1) // num_chars

På dette punktet har vi "nte linje", omgitt av mellomrom.

Til slutt kutter TRIM-funksjonen av alle ekstra mellomromstegn og returnerer bare linjeteksten.

Tekst til kolonner

Ikke glem at Excel har en innebygd funksjon til tekst til kolonner som kan dele tekst i henhold til avgrenseren du velger, selv om det ikke er en dynamisk løsning som en formel. På Windows kan du skrive Control + J for å angi ekvivalenten til et nytt linjetegn for "Annet" skilletegn. Du kan også bruke Control + J for ny linje under søke- og erstatningsoperasjoner.

Jeg er ikke sikker på hvordan jeg skal legge inn et nytt linjetegn i Mac Excel, som en avgrenser, eller i søke- og erstatningsdialogen. Hvis du vet hvordan, kan du legge igjen en kommentar nedenfor.

Gode ​​lenker

Effektiv måte å hente ut nte ord fra streng (MrExcel forum)

Interessante artikler...