Hoppa till huvudinnehåll
 

Excel-handledning – extrahera text eller nummer efter specifik position

Författare: Siluvia Senast ändrad: 2022-08-18

I många fall behöver du kanske bara extrahera det användbara innehållet från en mening eller en textsträng i en cell, som att extrahera provinsen från adressen, extrahera e-postadressen från en mening, extrahera kurirfakturans nummer från en konversation, och så vidare. Denna handledning begränsar extraheringen till en specifik position i en cell och samlar olika metoder för att hjälpa till att extrahera text eller siffror från en cell efter specifik position i Excel.

Innehåll: [ Dölj ]

(Klicka på valfri rubrik i innehållsförteckningen nedan eller till höger för att navigera till motsvarande kapitel.)

Extrahera text efter position

Det här avsnittet samlar gemensamma positioner där en text kan extraheras från en cell och tillhandahåller motsvarande metoder för att hantera dem steg för steg. Du kan bläddra för mer information.

1. Extrahera antalet tecken från vänster eller höger

För att extrahera antalet tecken från vänster eller höger sida av en sträng kan du prova någon av metoderna nedan.

1.1 Extrahera de första eller sista N tecknen med formler

Om du antar att du har en textsträngslista i kolumn B som visas i skärmdumpen nedan, för att extrahera de två första tecknen och de två sista tecknen från varje sträng, kan du använda följande formler.

Extrahera de första N tecknen från en textsträng

VÄNSTER-funktionen kan hjälpa till att enkelt extrahera de första N tecknen från en textsträng i Excel.

Generisk formel

=LEFT(text_string,[num_chars])

Argument

Textsträng: Textsträngen som innehåller tecknen du vill extrahera. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;
Antal_tecken: Anger antalet tecken du vill extrahera.
Antalet tecken måste vara större än eller lika med noll;
Om de angivna Num_chars är större än längden på textsträngen, returnerar den hela texten;
Om Num_chars utelämnas antas det vara 1.

Nu kan du använda den här formeln för att extrahera de två första tecknen från celler i kolumn B.

1. Välj en tom cell, kopiera eller skriv in formeln nedan och tryck på ange nyckeln för att få det första resultatet. Markera resultatcellen och dra dess Autofyll-handtag nedåt för att tillämpa formeln på andra celler.

=LEFT(B5,2)

Nu har de två första tecknen i varje cell i området B2:B5 extraherats.

Extrahera de sista N tecknen från en textsträng

Här använder vi funktionen HÖGER för att extrahera de sista N tecknen från en textsträng i Excel.

Generisk formel

=RIGHT(text_string,[num_chars])

Argument

Textsträng: Textsträngen som innehåller tecknen du vill extrahera. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;
Antal_tecken: Anger antalet tecken du vill extrahera.
Smakämnen Antal_tecken måste vara större än eller lika med noll;
Om den angivna Antal_tecken är större än längden på textsträngen, returnerar den hela texten;
Om Antal_tecken utelämnas, antas det vara 1.

Välj en tom cell, kopiera eller ange formeln nedan och tryck på ange nyckeln för att få resultatet. Välj sedan den här resultatcellen och dra dess Autofyll-handtag nedåt för att få andra resultat.

=RIGHT(B5,2)

1.2 Extrahera de första eller sista N tecknen med ett fantastiskt verktyg

Även om formlerna ovan är enkla, för att extrahera de första eller sista n tecknen från en lång lista med textsträngar, måste du fortfarande dra Autofyll-handtaget uppifrån och ned, vilket kanske tar lite tid. Här rekommenderar Kutools för ExcelÄr Extrahera text verktyg för att extrahera de första eller sista N tecknen från en lista med textsträngar i bulk.

1. Välj textsträngslistan du vill extrahera text från i förväg och klicka Kutools > text > Extrahera text.

2. I pop-up Extrahera text i dialogrutan måste du konfigurera enligt följande.

2.1) Se till att du bor i Extrahera efter plats flik;
2.2) I Mätområde rutan, det valda intervallet visas inuti, du kan byta till ett annat intervall enligt dina behov;
2.3) I Tillbehör avsnitt:
Om du vill extrahera de första N tecknen, välj Den första N-karaktären radioknappen och ange sedan antalet tecken du ska extrahera i textrutan. I det här fallet anger jag siffran 2;
Om du vill extrahera de sista N tecknen, välj Den sista N-karaktären radioknappen och ange sedan antalet tecken du ska extrahera i textrutan. I det här fallet vill jag extrahera de två sista tecknen från textsträngen, så jag anger siffran 2 i textrutan.
2.4) Klicka OK. Se skärmdump:

Anmärkningar: För att göra resultatet dynamiskt när textsträngen ändras kan du kontrollera Infoga som en formel låda.

3. I nästa poppar upp Extrahera text dialogrutan, välj en cell för att mata ut de extraherade tecknen och klicka sedan OK.

Sedan extraheras de angivna första eller sista N tecknen från valda celler i bulk.

Klicka för att veta mer om den här funktionen.

  Om du vill ha en gratis provperiod (30 dagar) av det här verktyget, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.


2. Extrahera text före eller efter ett visst tecken/ord

För att extrahera text före eller efter ett visst tecken eller ord kommer de olika scenarierna i det här avsnittet att möta dina behov.

2.1 Extrahera text före eller efter den första avgränsaren (ett tecken)

Som visas i skärmdumpen nedan, för att extrahera text före eller efter den första avgränsaren från varje cell i intervallet B4:B10, kan du använda en av metoderna nedan.

2.1.1 Extrahera text före den första avgränsaren med formel

Använd en formel baserad på funktionerna VÄNSTER och SÖK kan hjälpa till att extrahera text före den första avgränsaren från en cell. Du kan följa stegen nedan för att få det gjort.

Generisk formel

=LEFT(text_string,FIND("delimiter",text_string,1)-1)

Argument

Textsträng: Textsträngen som du vill extrahera delsträngen från. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;
avgränsare: Den första avgränsaren som definierar vilken text som kommer att extraheras från en cell.

Välj en tom cell, kopiera eller skriv in formeln nedan i den och tryck på ange nyckeln för att få det första resultatet. Välj den första resultatcellen och dra dess Autofyll-handtag nedåt för att få texterna före den första avgränsaren för andra celler.

=LEFT(B5,FIND("-",B5,1)-1)

2.1.2 Extrahera text efter den första avgränsaren med formel

Formeln nedan hjälper till att extrahera text efter den första avgränsaren från en cell i Excel.

Generisk formel

=MID(text_string,FIND("delimiter",text_string)+1,LEN(text_string))

Argument

Textsträng: Textsträngen som du vill extrahera delsträng från. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;
Avgränsare: Den första avgränsaren som definierar vilken text som kommer att extraheras från en cell.
Välj en tom cell, kopiera eller skriv in formeln nedan i den och tryck på ange nyckeln för att få det första resultatet. Välj den första resultatcellen och dra dess Autofyll-handtag nedåt för att få de andra resultaten.

=MID(B5,FIND("-",B5)+1,LEN(B5))

2.1.3 Extrahera text före eller efter den första avgränsaren med ett fantastiskt verktyg

Här rekommenderar starkt Extrahera text nytta av Kutools för Excel. Med den här funktionen kan du enkelt extrahera texter före eller efter den första avgränsaren från ett antal celler i bulk.

1. Välj cellintervallet där du vill extrahera texten och klicka sedan Kutools > text > Extrahera text.

2. I Extrahera text i dialogrutan måste du konfigurera enligt följande.

2.1) Stanna i Extrahera efter plats flik;
2.2) I Mätområde rutan, det valda intervallet visas inuti, du kan ändra det efter behov;
2.3) I Tillbehör avsnitt:
För att extrahera text före den första avgränsaren, välj före texten alternativknapp och skriv sedan den första avgränsaren i textrutan;
För att extrahera text efter den första avgränsaren, välj efter texten alternativknappen och skriv sedan in den första avgränsaren i textrutan.
2.4) Klicka OK.

Notera: För att göra resultatet dynamiskt när textsträngen ändras kan du markera rutan Infoga som formel.

3. Sedan en till Extrahera text dialogrutan dyker upp, välj en cell för att mata ut resultaten och klicka OK.

Sedan extraheras texter före eller efter den första avgränsaren från markerade celler på en gång.

För att veta mer om den här funktionen, besök: Extrahera snabbt viss text från celler i Excel.

  Om du vill ha en gratis provperiod (30 dagar) av det här verktyget, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.

2.2 Extrahera text före eller efter den sista avgränsaren (ett tecken)

I stegen ovan har vi lärt oss metoderna för att extrahera text före eller efter den första avgränsaren från en cell. Som visas i skärmdumpen nedan kommer det här avsnittet att visa dig två formler för att extrahera text före eller efter den sista avgränsaren från en cell. Du kan följa stegen nedan för att få det gjort.

2.2.1 Extrahera text före den sista avgränsaren med formel

För att extrahera text före den sista avgränsaren från en cell, kan du använda funktionerna SÖK, LÅNG och ERSÄTTNING inuti funktionen VÄNSTER.

Generisk formel

=LEFT(text_string,SEARCH("#",SUBSTITUTE(text_string,"delimiter","#",LEN(text_string)-LEN(SUBSTITUTE(text_string,"delimiter",""))))-1)

Argument

Textsträng: Textsträngen som du vill extrahera delsträngen från. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;
Avgränsare: Den sista avgränsaren som definierar vilken text som kommer att extraheras från en cell.

Välj en cell, ange formeln nedan och tryck på ange nyckeln för att få resultatet. Markera den här resultatcellen och dra dess Autofyll-handtag nedåt för att extrahera texterna från andra textsträngar i samma kolumn.

=LEFT(B5,SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-",""))))-1)

2.2.2 Extrahera text efter den sista avgränsaren med formel

Efter att ha extraherat text före den sista avgränsaren från en cell, kan du använda formeln nedan för att extrahera texten efter den sista avgränsaren som du behöver.

Generisk formel

=RIGHT(text_string,LEN(text_string)-SEARCH("#",SUBSTITUTE(text_string,"delimiter","#",LEN(text_string)-LEN(SUBSTITUTE(text_string,"delimiter","")))))

Argument

Textsträng: Textsträngen som du vill extrahera delsträngen från. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;
Avgränsare: Den sista avgränsaren som definierar vilken text som kommer att extraheras från en cell.

Välj en cell, ange formeln nedan och tryck på ange nyckeln för att få resultatet. Markera den här resultatcellen och dra dess Autofyll-handtag nedåt för att extrahera texterna från andra textsträngar i samma kolumn.

=RIGHT(B5,LEN(B5)-SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-","")))))

2.3 Extrahera text efter det n:te tecknet

Titta på exemplet nedan, det finns en lista med textsträngar i intervallet B4:B10, för att extrahera texten efter det tredje tecknet från varje cell kan du använda en formel baserad på MID-funktionen och LEN-funktionen.

Generisk formel

=MID(text_string,nth_char+1,LEN(text_string))

Argument

Textsträng: Textsträngen som du vill extrahera delsträngen från. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;
nth_char: En siffra representerar det n:te tecknet och du extraherar texten efter det.

Välj en tom cell, kopiera eller skriv in formeln nedan i den och tryck på ange nyckeln för att få resultatet. Välj den här resultatcellen och dra dess Autofyll-handtag nedåt för att få andra resultat.

=MID(B5,3+1,LEN(B5))

2.4 Extrahera det n:te ordet från en textsträng

Om du antar att du har en lista med textsträngar som visas i skärmdumpen nedan och bara vill extrahera det n:te ordet från textsträngen, ger det här avsnittet tre metoder för dig att få det gjort.

2.4.1 Extrahera det n:te ordet med formel

Du kan kombinera funktionerna TRIM, MID, SUBSTITUTE, REPT och LEN för att extrahera det n:te ordet från en textsträng i en cell.

Generisk formel

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

Argument

Textsträng: Textsträngen som du vill extrahera det n:e ordet från. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;
N: En siffra representerar det n:te ordet du extraherar från textsträngen.

I det här fallet innehåller intervallet B5:B10 textsträngarna, D5:D10 innehåller siffrorna som representerar det n:e ordet, låt oss använda den här formeln för att extrahera det n:te ordet från textsträngen.

Välj en tom cell, kopiera eller skriv in formeln nedan i den och tryck på ange nyckeln för att få det första resultatet. Välj den här resultatcellen och dra dess Autofyll-handtag nedåt för att få det n:te ordet i andra celler.

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

Notera: Du kan direkt skriva det n:te numret i formeln enligt följande.

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

2.4.2 Extrahera det n:te ordet med användardefinierad funktion

Förutom formeln ovan kan du också använda en användardefinierad funktion för att extrahera det n:te ordet från en cell i Excel.

1. tryck på andra + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer fönstret klickar Insert > Modul, och kopiera sedan VBA nedan till kodfönstret.

VBA-kod: Extrahera det n:te ordet från en textsträng i en cell

Function ExtractTheNthWord(Source As String, Position As Integer)
'Update by Extendoffice 20211202
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

3. tryck på andra + Q för att stänga Microsoft Visual Basic för applikationer fönster.

4. Gå tillbaka till kalkylbladet som innehåller textsträngarna som du vill extrahera det n:e ordet från. Välj en tom cell, kopiera eller skriv in formeln nedan i den och tryck på ange nyckel för att få det n:te ordet.

=FindWord(B5,D5)

Or

=FindWord(B5,2)

Notera: i formeln är D5 cellen som innehåller ett tal som representerar det n:te ordet. Alternativt kan du direkt ersätta cellreferensen med ett nummer.

5. Markera resultatcellen och dra dess Autofyll-handtag nedåt för att extrahera det n:e ordet från textsträngarna i andra celler.

2.4.3 Extrahera det n:te ordet med ett fantastiskt verktyg

Om du inte vill manuellt tillämpa en formel eller en användardefinierad funktion som tillhandahålls ovan, rekommenderar här Kutools för Excel's Extrahera det nionde ordet i cellen verktyg. Med den här funktionen kan du enkelt extrahera det n:te ordet från en textsträng i en cell med bara några få klick.

1. Välj en cell för att placera resultatet och klicka Kutools > Formel Helper > text > Utdrag det n:te ordet i cellen. Se skärmdump:

2. I Formlerhjälpare i dialogrutan måste du konfigurera enligt följande.

2.1) I Välj en formellista rutan, den Extrahera det nionde ordet i cellen alternativet är markerat;
2.2) I Cell rutan, välj en cell som innehåller textsträngen som du vill extrahera det n:te ordet från;
2.3) I Den nionde rutan, välj en cell som innehåller det n:te numret eller ange ett nummer direkt enligt dina behov;
2.4) Klicka OK.

3. Sedan extraheras det n:te (andra) ordet från textsträngen i cellen B5, och du kan se att en formel skapas samtidigt. Välj den här resultatcellen och dra dess Autofyll-handtag nedåt för att hämta det n:e ordet från andra textsträngar.

Klicka för att veta mer om den här funktionen.

  Om du vill ha en gratis provperiod (30 dagar) av det här verktyget, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.

2.5 Extrahera text före eller efter den n:e förekomsten av en avgränsare

Anta att du har en lista med textsträngar som visas i skärmdumpen nedan. För att extrahera texten före eller efter den andra förekomsten av ett mellanslag, tillhandahåller det här avsnittet två formler som hjälper dig att få det gjort.

2.5.1 Extrahera text före den n:e förekomsten av en avgränsare

Du kan använda funktionen VÄNSTER tillsammans med funktionerna ERSÄTTNING och SÖK för att extrahera text före den n:e förekomsten av en avgränsare från en cell i Excel.

Generisk formel

=LEFT(SUBSTITUTE(text_string,"delimiter",CHAR(9),n),FIND(CHAR(9),SUBSTITUTE(text_string,"delimiter",CHAR(9),n),1)-1)

Argument

Textsträng: Textsträngen som du vill extrahera texten från. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;
N: En siffra representerar den n:e förekomsten av en avgränsare som du kommer att extrahera text före den.

Välj en cell, kopiera eller skriv in formeln nedan och tryck på ange nyckeln för att få resultatet. Markera den här resultatcellen och dra den Autofyll handtaget nedåt för att få andra resultat i listan.

=LEFT(SUBSTITUTE(B5," ",CHAR(9),2),FIND(CHAR(9),SUBSTITUTE(B5," ",CHAR(9),2),1)-1)

Notera: I formeln är B5 cellen som innehåller textsträngen från vilken du vill extrahera texten; " " representerar här ett mellanslag och siffran 2 representerar den andra förekomsten av ett mellanslag. Du kan ändra dem efter dina behov.

2.5.2 Extrahera text efter den n:e förekomsten av en avgränsare

För att extrahera text efter den n:e förekomsten av en avgränsare kan du använda funktionen HÖGER med funktionerna ERSÄTTNING, LEN och SÖK.

Generisk formel

=RIGHT(SUBSTITUTE(text_string, "delimiter", CHAR(9), n), LEN(text_string)- FIND(CHAR(9), SUBSTITUTE(text_string, "delimiter", CHAR(9), n), 1) + 1)

Argument

Textsträng: Textsträngen som du vill extrahera texten från. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;
N: En siffra representerar den n:e förekomsten av en avgränsare som du extraherar text efter.

Nu kan du använda den här formeln för att extrahera texten efter den andra förekomsten av utrymmet från varje cell i intervallet B5:B10 enligt följande.

Välj en cell, ange formeln nedan och tryck på ange nyckeln för att få resultatet. Markera den här resultatcellen och dra den AutoFyll-handtaget nedåt för att få andra resultat.

=RIGHT(SUBSTITUTE(B5, " ", CHAR(9), 2), LEN(B5)- FIND(CHAR(9), SUBSTITUTE(B5, " ", CHAR(9), 2), 1) + 1)

2.6 Extrahera text före eller efter radbrytning

Anta att du har en beställningslista i kolumn B och att du bara vill extrahera datumdelen och produktnummerdelen från varje cell. Du kan använda nedanstående Excel-formler för att få det gjort.

2.6.1 Extrahera text före första radbrytningen med formel

Som du kan se i skärmdumpen ovan, lokaliseras datumdelen före den första radbrytningen i cellen. Det här avsnittet kommer att demonstrera en VÄNSTER-funktion tillsammans med SÖK-funktionen för att hjälpa dig extrahera texten innan den första radbrytningen i en cell.

Generisk formel

=LEFT(cell, SEARCH(CHAR(10), cell)-1)

Argument

Cell: Cellen som du vill extrahera texten från innan den första radbrytningen.

Välj en tom cell, kopiera eller skriv in formeln nedan i den och tryck på ange nyckeln för att få resultatet. Välj den här resultatcellen och dra sedan dess Autofyll-handtag nedåt för att tillämpa den här formeln på andra celler.

=LEFT(B5, SEARCH(CHAR(10), B5)-1)

Sedan kan du se texten innan den första radbrytningen i varje cell i intervallet B5:B8 extraheras som visas i skärmdumpen nedan.

Notera: I formeln representerar CHAR(10) en radbrytning i Windows.

2.6.2 Extrahera text efter sista radbrytningen med formel

I föregående steg pratade vi om hur man extraherar text innan den första radbrytningen i en cell. Och den här delen kommer att guida dig hur du extraherar text efter den sista radbrytningen i en cell med en annan formel.

Generisk formel

=TRIM(RIGHT(SUBSTITUTE(cell,CHAR(10),REPT(" ",200)),200))

Argument

Cell: Cellen som du vill extrahera texten från innan den första radbrytningen.

Välj en tom cell, ange formeln nedan och tryck på ange nyckeln för att få resultatet. Markera den här resultatcellen och dra sedan dess Autofyll-handtag nedåt för att tillämpa formeln på andra celler.

=TRIM(RIGHT(SUBSTITUTE(B5,CHAR(10),REPT(" ",200)),200))

Då är produktnr. en del av varje cell i listan extraheras som visas i skärmdumpen ovan.

Notera: I formeln representerar CHAR(10) en radbrytning i Windows.

2.7 Extrahera text före eller efter ett ord

I de tidigare delarna har vi lärt oss hur man extraherar text före eller efter ett tecken eller avgränsare. Vad ska du göra för att extrahera text före eller efter ett helt ord? Det här avsnittet kommer att introducera tre metoder som hjälper dig att utföra denna uppgift.

2.7.1 Extrahera text före ett visst ord med formel

Följande formel hjälper dig att extrahera text före ett visst ord i en cell i Excel.

Generisk formel

=IFERROR(LEFT(cell,FIND(word,cell)-1),cell)

Argument

Cell: Cellen från vilken du vill extrahera texten före ett visst ord.
ord: Ordet du vill extrahera all text före det. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;

Välj en tom cell, ange formeln nedan och tryck på ange nyckeln för att få resultatet. Välj den här resultatcellen och dra sedan dess Autofyll-handtag nedåt för att tillämpa den här formeln på andra celler.

I det här exemplet ska vi extrahera alla texter före ordet "Excel", så vi skriver ordet direkt i formeln och omger det med dubbla citattecken. Eller så kan du referera till en cell som innehåller ordet "Excel".

=IFERROR(LEFT(B5,FIND("Excel",B5)-1),B5)

Anmärkningar:

1) Denna formel är skiftlägeskänslig.
2) Om ordet du skrev in har dubbletter i samma cell, extraherar formeln bara texten efter den första förekomsten.

2.7.2 Extrahera text efter ett visst ord med formel

För att extrahera text efter ett visst ord kan du använda följande formel för att få det gjort.

Generisk formel

=TRIM(MID(cell,SEARCH(word,cell)+LEN(word),255))

Argument

Cell: Cellen från vilken du vill extrahera texten efter ett visst ord.
ord: Ordet du vill extrahera all text efter det. Det kan vara en cellreferens eller en verklig textsträng omsluten av dubbla citattecken;

Välj en cell, ange formeln nedan och tryck på ange nyckeln för att få resultatet. Markera resultatcellen och dra sedan dess Autofyll-handtag nedåt för att tillämpa denna formel på andra celler.

=TRIM(MID(B5,SEARCH("Excel",B5)+LEN("Excel"),255))

Sedan kan du se alla texter efter att ordet "Excel" i varje cell har extraherats som visas i skärmdumpen nedan.

Anmärkningar:

1) Denna formel är skiftlägesokänslig.
2) Om ordet du skrev in har dubbletter i samma cell, extraherar formeln bara texten efter den första förekomsten.

2.7.3 Extrahera text före eller efter ett visst ord med ett fantastiskt verktyg

Om du känner att användning av formel kan orsaka mycket besvär, rekommenderar starkt här Extrahera text nytta av Kutools för Excel. Den här funktionen hjälper till att automatisera extraktionsuppgiften i Excel med bara några få klick.

1. klick Kutools > text > Extrahera text för att aktivera den här funktionen.

2. I Extrahera text gör följande inställningar.

2.1) Se till att du är i Extrahera efter plats flik;
2.2) I Mätområde rutan, klicka på knappen för att välja intervallet av celler där du vill extrahera text;
2.3) I Tillbehör avsnitt:
För att extrahera alla texter före ett ord, välj före texten radioknapp och skriv sedan in ordet i textrutan;
För att extrahera alla texter efter ett ord, välj efter texten radioknappen och skriv sedan in ordet i textrutan.
2.4) Klicka på OK knapp. Se skärmdump:

Anmärkningar: Om du vill skapa dynamiska resultat, markera Infoga som en formel låda. Då kommer resultaten automatiskt att uppdateras när data i intervallet ändras.

3. Sedan en Extrahera text dialogrutan dyker upp, måste du välja en cell för att mata ut resultatet och sedan klicka på OK knapp.

Sedan extraheras texter före eller efter ett visst ord inom varje cell i det valda intervallet omedelbart.

Notera: Den här funktionen är skiftlägeskänslig.

Klicka för att veta mer om den här funktionen.

  Om du vill ha en gratis provperiod (30 dagar) av det här verktyget, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.


3. Extrahera mellan tecken/ord

Om du vill extrahera text mellan vissa tecken eller ord, prova följande metoder.

3.1 Extrahera text mellan två tecken

För att extrahera text mellan två tecken, som kan vara samma eller olika tecken. Det här avsnittet innehåller flera metoder, och du kan välja en av dem efter dina behov.

3.1.1 Extrahera text mellan två samma tecken med formel

Som visas i skärmdumpen nedan, det finns en lista med textsträngar i kolumn B, och du vill extrahera nummerdelen mellan tecknen "/" från varje cell i intervallet, följande formel kan göra dig en tjänst.

Välj en tom cell, kopiera eller ange formeln nedan och tryck på ange nyckeln för att få resultatet. Välj resultatcellen och dra den sedan AutoFyll-handtaget nedåt för att få resultat från andra celler i listan.

=SUBSTITUTE(MID(SUBSTITUTE("/" & B5&REPT(" ",6),"/",REPT(",",255)),2*255,255),",","")

Sedan extraheras texten mellan två samma tecken "/" från varje cell i intervallet. Se skärmdump:

Notera:

1) B5 är cellen som du vill extrahera text mellan två samma tecken från;
2) "/” är två samma tecken som du vill extrahera text mellan dem.
Du måste ändra dessa variabler baserat på dina egna data.

3.1.2 Extrahera text mellan två olika tecken med formel

Efter att ha lärt oss hur man extraherar text mellan två samma tecken i en cell, kommer vi här att demonstrera en formel för att extrahera text mellan två olika tecken. Som visas i skärmdumpen nedan, för att bara extrahera e-postadressen mellan "<" och ">" från varje cell i kolumn B, kan du göra enligt följande.

Generisk formel

=MID(LEFT(cel,FIND("end_char",cell)-1),FIND("start_char",cell)+1,LEN(cell))

Argument

Cell: Cellen från vilken du vill extrahera texten mellan två olika tecken;
End_char: Slutkaraktären för de två olika karaktärerna;
Start_char: Startkaraktären för de två olika karaktärerna.

Välj en tom cell, kopiera eller ange formeln nedan och tryck på ange nyckeln för att få resultatet. Välj den här resultatcellen och dra sedan dess Autofyll-handtag nedåt för att tillämpa den här formeln på andra celler.

=MID(LEFT(B5,FIND(">",B5)-1),FIND("<",B5)+1,LEN(B5))

Du kan se att endast texten mellan de angivna tecknen extraheras som visas i skärmdumpen ovan.

3.1.3 Extrahera text mellan två tecken med ett fantastiskt verktyg

Här rekommenderar starkt Extrahera strängar mellan angiven text egenskap av Kutools för Excel för att hjälpa dig att enkelt extrahera text mellan två samma eller olika tecken i en cell i Excel.

1. Välj en tom cell för att mata ut resultatet och klicka sedan på Kutools > Formel Helper > Formel Helper.

2. I Formlerhjälpare gör följande inställningar.

2.1) Kontrollera Filter rutan och skriv sedan in ordet "Extrahera" i textrutan;
2.2) I Välj en formellista rutan, klicka på Extrahera strängar mellan angiven text alternativ;
2.3) I Argumentinmatning avsnitt:
I Cell rutan, välj en cell där du vill extrahera texten (här väljer jag cell B5);
I Starta char (s) rutan, ange starttecknet för de två olika tecknen;
I Slutet char(s) box, ange sluttecknet för de två olika tecknen.
2.4) Klicka Ok. Se skärmdump:

3. Då extraheras bara texten mellan "<" och ">" i cell B5. Under tiden har en formel skapats, du kan markera den här resultatcellen och sedan dra dess Autofyll-handtag nedåt för att extrahera texter från andra celler i samma lista.

Klicka för att veta mer om den här funktionen.

  Om du vill ha en gratis provperiod (30 dagar) av det här verktyget, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.

3.1.4 Extrahera text mellan två tecken (inklusive tecknen) genom regel

Om du vill behålla de två tecknen efter extrahering, försök att tillämpa en regel i funktionen Extrahera text i Kutools för Excel.

1. klick Kutools > text > Extrahera text.

2. I Extrahera text gör följande inställningar.

2.1) Klicka på Extrahera enligt regel flik;
2.2) I Mätområde avsnittet, klicka på knappen för att välja intervallet av celler där du vill extrahera texten mellan tecken;
2.3) I text rutan, skriv in <*>;
Tips: "<"Och">” är de tecken du vill extrahera text mellan dem, * är ett jokertecken som representerar valfritt antal tecken. Du kan ange villkoret efter dina behov.
2.4) Klicka på Lägg till knappen för att lägga till villkoret till Regelbeskrivning listruta;
2.5) Klicka på Ok knapp. Se skärmdump:

3. En annan Extrahera text dialogrutan dyker upp, välj en cell för att mata ut resultatet och klicka sedan på OK knapp.

Sedan extraheras texten mellan specificerade tecken (inklusive tecknen) från varje cell i det valda intervallet i bulk.

  Om du vill ha en gratis provperiod (30 dagar) av det här verktyget, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.

3.2 Extrahera text mellan två ord

Förutom att extrahera text mellan två tecken, kan du också behöva extrahera text mellan två ord. Extrahera till exempel alla textsträngar mellan två ord "KTE" och "funktion" från varje cell i kolumn B som visas i skärmdumpen nedan. Du kan prova någon av följande metoder för att få det gjort.

3.2.1 Extrahera text mellan två ord med formel

Du kan använda en formel baserad på MID-funktionen och SEARCH-funktionen för att extrahera alla textsträngar mellan två ord i en cell.

Generisk formel

=MID(cell,SEARCH("start_word",cell)+3,SEARCH("end_word",cell)-SEARCH("start_word",cell)-4)

Argument

Cell: cellen från vilken du vill extrahera alla textsträngar mellan två ord;
Start_word: startordet för de två ord du vill extrahera alla textsträngar efter det;
Längd 1: teckenlängden på startordet.
Slutord: slutordet av de två ord du vill extrahera alla textsträngar före det.
Längd 2: teckenlängden på startordet plus 1.

Välj en tom cell, kopiera eller ange formeln nedan och tryck på ange nyckeln för att få resultatet. Välj den här resultatcellen och dra sedan dess Autofyll-handtag nedåt för att tillämpa den här formeln på andra celler.

=MID(B5,SEARCH("KTE",B5)+3,SEARCH("feature",B5)-SEARCH("KTE",B5)-4)

Anmärkningar: I formeln representerar siffran 3 teckenlängden för ordet "KTE"; siffran 4 representerar teckenlängden för ordet "KTE" plus 1.

Du kan se att alla textsträngar mellan de angivna två orden extraheras från varje cell i kolumn B.

3.2.2 Extrahera text mellan två ord med ett fantastiskt verktyg

För många Excel-användare kan formler vara svåra att komma ihåg och hantera. Här, med Extrahera strängar mellan angiven text egenskap av Kutools för Excel, kan du enkelt extrahera text mellan två ord med bara några klick.

1. Välj en cell för att mata ut resultatet och klicka sedan Kutools > Formel Helper > Formel Helper.

2. I Formel Helper i dialogrutan måste du konfigurera enligt följande.

2.1) Kontrollera Filter rutan och skriv sedan in ordet "Extrahera" i textrutan;
2.2) I Välj en formellista rutan, klicka på Extrahera strängar mellan angiven text alternativ;
2.3) I Argumentinmatning avsnitt:
I Cell rutan, välj en cell där du vill extrahera texten (här väljer jag cell B5);
I Starta char (s) rutan, skriv in startordet för de två ord du vill extrahera alla textsträngar efter det;
I Sluttecken rutan, skriv in slutordet av de två ord du vill extrahera alla textsträngar före det.
2.4) Klicka Ok. Se skärmdump:

3. Sedan extraheras alla textsträngar mellan två ord "KTE" och "funktion" i cellen B5. Under tiden har en formel skapats, du kan markera den här resultatcellen och sedan dra dess Autofyll-handtag nedåt för att extrahera texter från andra celler i samma lista.

  Om du vill ha en gratis provperiod (30 dagar) av det här verktyget, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.


Extrahera siffror efter position

För en lista över alfanumeriska strängar kan det finnas tre fall:

  1. Numret står i början av texten;
  2. Numret finns i slutet av texten;
  3. Numret kan finnas var som helst i texten.

I det här avsnittet kommer vi att tillhandahålla olika metoder som kan användas för att extrahera siffrorna i varje fall som nämnts ovan.

1 Extrahera nummer från vänster om en sträng

Den här delen introducerar en formel som hjälper dig att bara extrahera siffror som visas före text i en cell.

Generisk formel

=LEFT(cell, MATCH(FALSE, ISNUMBER(MID(cell, ROW(INDIRECT("1:"&LEN(cell)+1)), 1) *1), 0) -1)

Argument

Cell: Cellen som du vill extrahera nummer från till vänster om textsträngen.

Notera:

1) Om du använder Excel 2019 och tidigare måste du trycka på ctrl + shift + ange för att bekräfta denna matrisformel.
2) Om du använder Excel 365 eller Excel 2021, bekräfta bara denna formel med ange nyckel.

Välj en tom cell, ange formeln nedan och tryck ctrl + shift + ange or ange nyckeln för att få resultatet. Välj den här resultatcellen och dra sedan dess Autofyll-handtag nedåt för att få antal andra celler.

=LEFT(B5, MATCH(FALSE, ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5)+1)), 1) *1), 0) -1)

Anmärkningar:

1) Om en cell bara innehåller siffror kommer hela talet att extraheras.
2) Denna formel extraherar endast siffrorna till vänster om en textsträng. Om siffror finns i mitten eller i slutet av textsträngen kommer de att ignoreras.

2 Extrahera nummer från höger om en sträng

Som visas i skärmdumpen nedan, för att extrahera endast siffrorna som visas efter text i en cell, prova följande formel.

Generisk formel

=RIGHT(cell, LEN(cell) - MAX(IF(ISNUMBER(MID(cell, ROW(INDIRECT("1:"&LEN(cell))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(cell))), 0)))

Argument

Cell: Cellen från vilken du vill extrahera nummer från början av textsträngen.

Notera:

1) Om du använder Excel 2019 och tidigare måste du trycka på ctrl + shift + ange för att bekräfta denna matrisformel.
2) Om du använder Excel 365 eller Excel 2021, bekräfta bara denna formel med Enter-tangenten.

Välj en tom cell, ange formeln nedan och tryck ctrl + shift + ange or ange nyckeln för att få resultatet. Välj den här resultatcellen och dra sedan dess Autofyll-handtag nedåt för att få antal andra celler.

=RIGHT(B5, LEN(B5) - MAX(IF(ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(B5))), 0)))

Anmärkningar:

1) Om en cell bara innehåller siffror kommer hela talet att extraheras.
2) Denna formel extraherar endast siffrorna från höger om en textsträng. Om siffror finns i mitten eller början av textsträngen kommer de att ignoreras.

3. Extrahera alla nummer från valfri position i en textsträng

Metoderna ovan hjälper till att extrahera nummer endast från vänster eller höger om en textsträng. Om du vill extrahera alla siffror var som helst i en textsträng erbjuder vi här tre metoder för att få det gjort.

3.1 Extrahera alla tal var som helst i en sträng med formel

Du kan använda följande formel för att extrahera alla siffror var som helst i en textsträng i Excel.

1. Välj en tom cell, kopiera eller skriv in formeln nedan och tryck på ange för att få alla siffror från cellen B5.

=SUMPRODUCT(MID(0&B5, LARGE(INDEX(ISNUMBER(--MID(B5, ROW(INDIRECT("1:"&LEN(B5))), 1)) * ROW(INDIRECT("1:"&LEN(B5))), 0), ROW(INDIRECT("1:"&LEN(B5))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(B5)))/10)

2. Välj resultatcellen och dra sedan dess Autofyll-handtag nedåt för att få alla antal andra celler.

3.2 Extrahera alla nummer var som helst i en sträng med VBA

Formeln ovan är för lång och komplicerad för många Excel-användare. Du kan faktiskt köra ett VBA-skript för att automatisera uppgiften i Excel. Du kan göra enligt följande.

1. tryck på andra + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. I öppningen Microsoft Visual Basic för applikationer fönstret klickar Insert > Modul. Kopiera sedan VBA nedan till modulkodfönstret.

VBA-kod: Extrahera alla nummer var som helst i en textsträng

Sub ExtrNumbersFromRange()
'Updated by Extendoffice 20220106
    Dim xRg As Range
    Dim xDRg As Range
    Dim xRRg As Range
    Dim nCellLength As Integer
    Dim xNumber As Integer
    Dim strNumber As String
    Dim xTitleId As String
    Dim xI As Integer
    xTitleId = "KutoolsforExcel"
    Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8)
    If TypeName(xDRg) = "Nothing" Then Exit Sub
    Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8)
    If TypeName(xRRg) = "Nothing" Then Exit Sub
    xI = 0
    strNumber = ""
  For Each xRg In xDRg
    xI = xI + 1
    nCellLength = Len(xRg)
    For xNumber = 1 To nCellLength
      If IsNumeric(Mid(xRg, xNumber, 1)) Then
        strNumber = strNumber & Mid(xRg, xNumber, 1)
      End If
    Next xNumber
    xRRg.Item(xI) = strNumber
    strNumber = ""
  Next xRg
End Sub

3. tryck på F5 för att köra koden. I öppningen KutoolsforExcel i dialogrutan väljer du cellintervallet där du vill extrahera alla siffror från varje cell och klickar sedan på OK knapp.

4. Sedan en till KutoolsforExcel dialogrutan dyker upp. I den här dialogrutan väljer du en målcell och klickar OK.

Sedan extraheras alla nummer från varje cell i det valda intervallet i bulk.


4. Extrahera siffror efter specifik text

Som visas i skärmdumpen nedan, för att extrahera siffror efter den specifika texten "Nej", ger det här avsnittet två metoder som hjälper dig att få det gjort.

4.1 Extrahera siffror efter en specifik text med formel

Du kan använda följande formel för att extrahera siffror efter en specifik text i en cell i Excel.

Generisk formel:

=LOOKUP(10^6,1*MID(cell,MIN(FIND({0,1,2,3,4,5,6,7,8,9},cell&"0123456789",FIND("text"," "&cell&" "))),{2,3,4,5,6}))

Argument

Cell: Cellen från vilken du vill extrahera siffror efter en specifik text;
Text: Texten du vill extrahera siffror efter den.

Välj en tom cell, kopiera eller ange formeln nedan och tryck på ange nyckeln för att få resultatet. Välj den här resultatcellen och dra sedan dess Autofyll-handtag nedåt för att tillämpa den här formeln på andra celler.

=LOOKUP(10^6,1*MID(B5,MIN(FIND({0,1,2,3,4,5,6,7,8,9},B5&"0123456789",FIND("No."," "&B5&" "))),{2,3,4,5,6}))

Anmärkningar:

1) Om en cell inte innehåller den specifika texten kommer formeln att returnera #N/A.
2) Formeln är skiftlägeskänslig.

4.2 Extrahera siffror efter en specifik text med användardefinierad funktion

Följande användardefinierade funktion kan också hjälpa till att extrahera siffror efter en specifik text i en cell. Vänligen gör enligt följande.

1. tryck på andra + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer fönstret klickar Insert > Modul, och kopiera sedan VBA-koden nedan till modulkodfönstret.

VBA-kod: extrahera siffror efter en specifik text i en cell

Function GetNumberAfterTheChar(Rng As Range, Char As String)
'Updated by Extendoffice 20220106
Dim xValue As String
Dim xRntString As String
Dim xStart As Integer
Dim xC
    xValue = Rng.Text
    xStart = InStr(1, xValue, Char, vbTextCompare)
    If IsEmpty(xStart) Then
            GetNumberAfterTheChar = ""
            Exit Function
    End If
    If xStart < 1 Then
        GetNumberAfterTheChar = ""
        Exit Function
    End If
    xStart = xStart - 1 + Len(Char)
    If xStart < 1 Then
        GetNumberAfterTheChar = ""
        Exit Function
    End If
    xValue = Mid(xValue, xStart + 1)
    xRntString = ""
    For xI = 1 To Len(xValue)
        xC = Mid(xValue, xI, 1)
        Select Case Asc(xC)
        Case 48 To 57
            xRntString = xRntString & xC
       Case Else
            Exit For
        End Select
    Next
   GetNumberAfterTheChar = xRntString
End Function

3. tryck på andra + Q för att stänga Microsoft Visual Basic för applikationer fönster.

4. Välj en cell, ange formeln nedan och tryck på ange nyckel. Välj den här resultatcellen och dra sedan dess Autofyll-handtag nedåt för att tillämpa den här formeln på andra celler.

=GetNumberAfterTheChar(B5,"No. ")

Anmärkningar:

1) I den här formeln är B5 cellen där du vill extrahera numret, och "Nr. ” är den specifika text som du vill extrahera numret efter. Du kan ändra dem efter behov.
2) Om det finns en avgränsare mellan den specifika texten och numret, lägg till avgränsaren i slutet av texten. I det här fallet lade jag till ett mellanslag efter texten "Nej", som slutligen visas som "Nej. ”.
3) Denna metod är skiftlägesokänslig;
4) Om en cell inte innehåller den specifika texten kommer formeln att returnera ett tomt resultat.

Relaterade artiklar:

Excel-handledning: Dela text-, nummer- och datumceller (dela upp i flera kolumner)
Denna handledning är uppdelad i tre delar: delade textceller, delade nummerceller och delade datumceller. Varje del ger olika exempel för att hjälpa dig veta hur du ska hantera klyvningsjobbet när du stöter på samma problem.
Klicka för att veta mer ...

Excel Lägg till text och nummer i specificerad position i cellen
I Excel är det mycket vanligt att lägga till texter eller siffror i celler. Som att lägga till mellanslag mellan namn, lägga till prefix eller suffix i celler, lägga till bindestreck till sociala nummer. Här i den här handledningen listar den nästan alla tilläggsscenarier i Excel och ger dig motsvarande metoder.
Klicka för att veta mer ...

Excel Ta bort tecken, ord, siffror från textsträngar
Om du antar att du har en lång lista med textsträngar som innehåller tecken, siffror eller andra specifika symboler. I vissa fall kan du behöva ta bort vissa tecken baserat på position, till exempel från höger, vänster eller mitten från textsträngarna, eller ta bort några oönskade tecken, siffror från listan med strängar. Att hitta lösningarna en efter en kommer att få huvudvärk, den här handledningen samlar alla typer av metoder för att ta bort tecken, ord eller siffror i Excel.
Klicka för att veta mer ...

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!