Excel tutorial - udtræk tekst eller tal efter specifik position
I mange tilfælde behøver du muligvis kun at udtrække det nyttige indhold fra en sætning eller en tekststreng i en celle, såsom at udtrække provinsen fra adressen, udtrække e-mailadressen fra en sætning, uddrage kurerregningsnummeret fra en samtale, og så videre. Denne vejledning indsnævrer udtrækningen til en specifik position i en celle og samler forskellige metoder til at hjælpe med at udtrække tekst eller tal fra en celle efter specifik position i Excel.
Indholdsfortegnelse: [ Skjule ]
Udtræk tekst efter position
Dette afsnit samler fælles holdninger, hvor en tekst kan udtrækkes fra en celle, og giver tilsvarende metoder til at håndtere dem trin-for-trin. Du kan søge efter flere detaljer.
1. Udtræk antallet af tegn fra venstre eller højre
For at udtrække antallet af tegn fra venstre eller højre side af en streng, kan du prøve en af nedenstående metoder.
1.1 Udtræk de første eller sidste N tegn med formler
Antag, at du har en tekststrengliste i kolonne B som vist på skærmbilledet nedenfor, for at udtrække de første 2 tegn og de sidste 2 tegn fra hver streng, kan du anvende følgende formler.
Udtræk de første N tegn fra en tekststreng
VENSTRE-funktionen kan hjælpe med nemt at udtrække de første N tegn fra en tekststreng i Excel.
Generisk formel
=LEFT(text_string,[num_chars])
argumenter
Nu kan du anvende denne formel til at udtrække de første 2 tegn fra celler i kolonne B.
1. Vælg en tom celle, kopier eller indtast formlen nedenfor, og tryk på Indtast nøglen til at få det første resultat. Vælg resultatcellen, og træk dens AutoFyld-håndtag ned for at anvende formlen på andre celler.
=LEFT(B5,2)
Nu er de første 2 tegn i hver celle i området B5:B10 blevet udtrukket.
Udtræk de sidste N tegn fra en tekststreng
Her anvender vi funktionen HØJRE til at udtrække de sidste N tegn fra en tekststreng i Excel.
Generisk formel
=RIGHT(text_string,[num_chars])
argumenter
Vælg en tom celle, kopier eller indtast formlen nedenfor, og tryk på Indtast nøglen til at få resultatet. Vælg derefter denne resultatcelle og træk dens AutoFyld-håndtag ned for at få andre resultater.
=RIGHT(B5,2)
1.2 Uddrag de første eller sidste N tegn med et fantastisk værktøj
Selvom formlerne ovenfor er enkle, for at udtrække de første eller sidste n tegn fra en lang liste af tekststrenge, skal du stadig trække AutoFyld-håndtaget fra top til bund, hvilket måske er lidt tidskrævende. Her anbefaler Kutools til Excel's Uddrag tekst værktøj til at hjælpe med at udtrække de første eller sidste N tegn fra en liste over tekststrenge i bulk.
1. Vælg den tekststrengliste, du vil udtrække tekst fra på forhånd, og klik Kutools > tekst > Uddrag tekst.
2. I popping up Uddrag tekst dialogboks, skal du konfigurere som følger.
Bemærk: For at gøre resultatet dynamisk, når tekststrengen ændres, kan du markere Indsæt som en formel boks.
3. I det næste dukker op Uddrag tekst dialogboksen, vælg en celle for at udskrive de udpakkede tegn og klik derefter OK.
Derefter udtrækkes de angivne første eller sidste N tegn fra udvalgte celler i bulk.
Klik for at vide mere om denne funktion.
Hvis du vil have en gratis prøveperiode (30 dage) af dette værktøj, klik for at downloade det, og gå derefter til at anvende handlingen i henhold til ovenstående trin.
2. Udtræk tekst før eller efter et bestemt tegn/ord
For at udtrække tekst før eller efter et bestemt tegn eller ord, vil de forskellige scenarier i dette afsnit opfylde dine behov.
2.1 Udtræk tekst før eller efter den første afgrænsning (et tegn)
Som vist på skærmbilledet nedenfor, for at udtrække tekst før eller efter den første afgrænsning fra hver celle i området B4:B10, kan du anvende en af nedenstående metoder.
2.1.1 Udtræk tekst før den første afgrænsning med formel
Anvend en formel baseret på VENSTRE- og FIND-funktionerne kan hjælpe med at udtrække tekst før den første afgrænsning fra en celle. Du kan følge nedenstående trin for at få det gjort.
Generisk formel
=LEFT(text_string,FIND("delimiter",text_string,1)-1)
argumenter
Vælg en tom celle, kopier eller indtast formlen nedenfor i den, og tryk på Indtast nøglen til at få det første resultat. Vælg den første resultatcelle, og træk dens AutoFyld-håndtag ned for at få teksterne før den første afgrænsning af andre celler.
=LEFT(B5,FIND("-",B5,1)-1)
2.1.2 Udtræk tekst efter den første afgrænsning med formel
Nedenstående formel hjælper med at udtrække tekst efter den første afgrænsning fra en celle i Excel.
Generisk formel
=MID(text_string,FIND("delimiter",text_string)+1,LEN(text_string))
argumenter
=MID(B5,FIND("-",B5)+1,LEN(B5))
2.1.3 Uddrag tekst før eller efter den første afgrænsning med et fantastisk værktøj
Her kan varmt anbefales Uddrag tekst nytte af Kutools til Excel. Med denne funktion kan du nemt udtrække tekster før eller efter den første afgrænsning fra en række celler i bulk.
1. Vælg det celleområde, hvor du vil udtrække teksten, og klik derefter Kutools > tekst > Uddrag tekst.
2. i Uddrag tekst dialogboks, skal du konfigurere som følger.
Bemærk: For at gøre resultatet dynamisk, når tekststrengen ændres, kan du markere feltet Indsæt som formel.
3. Så en anden Uddrag tekst dialogboksen dukker op, vælg en celle for at udskrive resultaterne og klik OK.
Derefter udtrækkes tekster før eller efter den første afgrænsning fra udvalgte celler på én gang.
For at vide mere om denne funktion, besøg venligst: Uddrag hurtigt bestemt tekst fra celler i Excel.
Hvis du vil have en gratis prøveperiode (30 dage) af dette værktøj, klik for at downloade det, og gå derefter til at anvende handlingen i henhold til ovenstående trin.
2.2 Udtræk tekst før eller efter den sidste afgrænsning (et tegn)
I trinene ovenfor har vi lært metoderne til at udtrække tekst før eller efter den første afgrænsning fra en celle. Som vist på skærmbilledet nedenfor, vil dette afsnit vise dig to formler til at udtrække tekst før eller efter den sidste afgrænsning fra en celle. Du kan følge nedenstående trin for at få det gjort.
2.2.1 Udtræk tekst før den sidste afgrænsning med formel
For at udtrække tekst før den sidste afgrænsning fra en celle, kan du bruge funktionerne SØG, LÆNGE og ERSTATNING inde i funktionen VENSTRE.
Generisk formel
=LEFT(text_string,SEARCH("#",SUBSTITUTE(text_string,"delimiter","#",LEN(text_string)-LEN(SUBSTITUTE(text_string,"delimiter",""))))-1)
argumenter
Vælg en celle, indtast formlen nedenfor, og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk dens AutoFyld-håndtag ned for at udtrække teksterne fra andre tekststrenge i samme kolonne.
=LEFT(B5,SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-",""))))-1)
2.2.2 Udtræk tekst efter den sidste afgrænsning med formel
Efter at have udtrukket tekst før den sidste afgrænsning fra en celle, kan du anvende formlen nedenfor for at udtrække teksten efter den sidste afgrænsning efter behov.
Generisk formel
=RIGHT(text_string,LEN(text_string)-SEARCH("#",SUBSTITUTE(text_string,"delimiter","#",LEN(text_string)-LEN(SUBSTITUTE(text_string,"delimiter","")))))
argumenter
Vælg en celle, indtast formlen nedenfor, og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk dens AutoFyld-håndtag ned for at udtrække teksterne fra andre tekststrenge i samme kolonne.
=RIGHT(B5,LEN(B5)-SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-","")))))
2.3 Udtræk tekst efter det n'te tegn
Se på eksemplet nedenfor, der er en liste over tekststrenge i området B4:B10, for at udtrække teksten efter det tredje tegn fra hver celle, kan du anvende en formel baseret på MID-funktionen og LEN-funktionen.
Generisk formel
=MID(text_string,nth_char+1,LEN(text_string))
argumenter
Vælg en tom celle, kopier eller indtast formlen nedenfor i den, og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk dens AutoFyld-håndtag ned for at få andre resultater.
=MID(B5,3+1,LEN(B5))
2.4 Uddrag det n'te ord fra en tekststreng
Hvis du antager, at du har en liste med tekststrenge som vist på skærmbilledet nedenfor, og kun ønsker at udtrække det n'te ord fra tekststrengen, giver dette afsnit tre metoder til at få det gjort.
2.4.1 Udtræk det n'te ord med formel
Du kan kombinere funktionerne TRIM, MID, SUBSTITUTE, REPT og LEN for at udtrække det n'te ord fra en tekststreng i en celle.
Generisk formel
=TRIM(MID(SUBSTITUTE(text_string," ",REPT(" ",LEN((text_string))), (N-1)*LEN((text_string)+1, LEN((text_string)))
argumenter
I dette tilfælde indeholder området B5:B10 tekststrengene, D5:D10 indeholder tallene, der repræsenterer det n'te ord, lad os anvende denne formel til at udtrække det n'te ord fra tekststrengen.
Vælg en tom celle, kopier eller indtast formlen nedenfor i den, og tryk på Indtast nøglen til at få det første resultat. Vælg denne resultatcelle, og træk dens AutoFyld-håndtag ned for at få det n'te ord i andre celler.
=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",LEN(B5))), (D5-1)*LEN(B5)+1, LEN(B5)))
Bemærk: Du kan direkte indtaste det n'te tal i formlen som følger.
=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",LEN(B5))), (2-1)*LEN(B5)+1, LEN(B5)))
2.4.2 Uddrag det n'te ord med brugerdefineret funktion
Udover ovenstående formel kan du også anvende en brugerdefineret funktion til at udtrække det n'te ord fra en celle i Excel.
1. Tryk på andre + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. i Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Modul, og kopier derefter VBA'en nedenfor til kodevinduet.
VBA-kode: Udtræk det n'te ord fra en tekststreng i en celle
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. Tryk på andre + Q taster for at lukke Microsoft Visual Basic til applikationer vindue.
4. Gå tilbage til arbejdsarket, der indeholder tekststrengene, som du vil udtrække det n'te ord fra. Vælg en tom celle, kopier eller indtast formlen nedenfor i den, og tryk på Indtast nøglen til at få det n'te ord.
=FindWord(B5,D5)
Or
=FindWord(B5,2)
Bemærk: i formlen er D5 den celle, der indeholder et tal, der repræsenterer det n'te ord. Alternativt kan du direkte erstatte cellereferencen med et tal.
5. Vælg resultatcellen, og træk dens AutoFyld-håndtag ned for at udtrække det n'te ord fra tekststrengene i andre celler.
2.4.3 Uddrag det n'te ord med et fantastisk værktøj
Hvis du ikke vil manuelt anvende en formel eller en brugerdefineret funktion angivet ovenfor, anbefaler her Kutools til Excel's Uddrag det niende ord i cellen nytte. Med denne funktion kan du nemt udtrække det n'te ord fra en tekststreng i en celle med kun få klik.
1. Vælg en celle for at placere resultatet, og klik Kutools > Formelhjælper > tekst > Uddrag det n'te ord i cellen. Se skærmbillede:
2. i Formler hjælper dialogboks, skal du konfigurere som følger.
3. Derefter uddrages det n'te (andet) ord fra tekststrengen i celle B5, og du kan samtidig se, at en formel oprettes. Vælg denne resultatcelle og træk dens AutoFyld-håndtag ned for at hente det n'te ord fra andre tekststrenge.
Klik for at vide mere om denne funktion.
Hvis du vil have en gratis prøveperiode (30 dage) af dette værktøj, klik for at downloade det, og gå derefter til at anvende handlingen i henhold til ovenstående trin.
2.5 Udtræk tekst før eller efter den n'te forekomst af et afgrænsningstegn
Antag, at du har en liste over tekststrenge som vist på skærmbilledet nedenfor. For at udtrække teksten før eller efter den anden forekomst af et mellemrum, giver dette afsnit to formler, der hjælper dig med at få det gjort.
2.5.1 Udtræk tekst før den n'te forekomst af et afgrænsningstegn
Du kan bruge VENSTRE-funktionen sammen med ERSTAT- og FIND-funktionerne til at udtrække tekst før den n'te forekomst af et skilletegn fra en celle i Excel.
Generisk formel
=LEFT(SUBSTITUTE(text_string,"delimiter",CHAR(9),n),FIND(CHAR(9),SUBSTITUTE(text_string,"delimiter",CHAR(9),n),1)-1)
argumenter
Vælg en celle, kopier eller indtast formlen nedenfor, og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk den AutoFyld-håndtag ned for at få andre resultater på listen.
=LEFT(SUBSTITUTE(B5," ",CHAR(9),2),FIND(CHAR(9),SUBSTITUTE(B5," ",CHAR(9),2),1)-1)
Bemærk: I formlen er B5 den celle, der indeholder tekststrengen, som du vil udtrække teksten fra; “ ” repræsenterer her et mellemrum, og tallet 2 repræsenterer den anden forekomst af et mellemrum. Du kan ændre dem efter dine behov.
2.5.2 Udtræk tekst efter den n'te forekomst af et afgrænsningstegn
For at udtrække tekst efter den n'te forekomst af et afgrænsningstegn, kan du anvende funktionen HØJRE med funktionerne ERSTAT, LÆNGE og FIND.
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)
argumenter
Nu kan du anvende denne formel til at udtrække teksten efter den anden forekomst af mellemrummet fra hver celle i området B5:B10 som følger.
Vælg en celle, indtast formlen nedenfor, og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk den AutoFyld-håndtag ned for at få andre resultater.
=RIGHT(SUBSTITUTE(B5, " ", CHAR(9), 2), LEN(B5)- FIND(CHAR(9), SUBSTITUTE(B5, " ", CHAR(9), 2), 1) + 1)
2.6 Udtræk tekst før eller efter linjeskift
Antag, at du har en ordreliste i kolonne B, og du kun vil udtrække datodelen og produktnummerdelen fra hver celle. Du kan bruge nedenstående Excel-formler for at få det gjort.
2.6.1 Udtræk tekst før første linjeskift med formel
Som du kan se på skærmbilledet ovenfor, lokaliseres datodelen før det første linjeskift i cellen. Dette afsnit vil demonstrere en VENSTRE-funktion sammen med SØG-funktionen for at hjælpe dig med at udtrække teksten før det første linjeskift i en celle.
Generisk formel
=LEFT(cell, SEARCH(CHAR(10), cell)-1)
argumenter
Vælg en tom celle, kopier eller indtast formlen nedenfor i den, og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk derefter dens AutoFyld-håndtag ned for at anvende denne formel på andre celler.
=LEFT(B5, SEARCH(CHAR(10), B5)-1)
Så kan du se teksten, før det første linjeskift i hver celle i området B5:B8 udtrækkes som vist på skærmbilledet nedenfor.
Bemærk: I formlen repræsenterer CHAR(10) et linjeskift på Windows.
2.6.2 Udtræk tekst efter sidste linjeskift med formel
I det foregående trin talte vi om, hvordan man udtrækker tekst før det første linjeskift i en celle. Og denne del vil guide dig, hvordan du udtrækker tekst efter det sidste linjeskift i en celle med en anden formel.
Generisk formel
=TRIM(RIGHT(SUBSTITUTE(cell,CHAR(10),REPT(" ",200)),200))
argumenter
Vælg en tom celle, indtast formlen nedenfor og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk derefter dens AutoFyld-håndtag ned for at anvende formlen på andre celler.
=TRIM(RIGHT(SUBSTITUTE(B5,CHAR(10),REPT(" ",200)),200))
Så er varenr. en del af hver celle på listen udtrækkes som vist på skærmbilledet ovenfor.
Bemærk: I formlen repræsenterer CHAR(10) et linjeskift på Windows.
2.7 Uddrag tekst før eller efter et ord
I de foregående dele har vi lært, hvordan man udtrækker tekst før eller efter et tegn eller afgrænsning. Hvad skal du gøre for at udtrække tekst før eller efter et helt ord? Dette afsnit introducerer tre metoder til at hjælpe dig med at udføre denne opgave.
2.7.1 Udtræk tekst før et bestemt ord med formel
Følgende formel hjælper dig med at udtrække tekst før et bestemt ord i en celle i Excel.
Generisk formel
=IFERROR(LEFT(cell,FIND(word,cell)-1),cell)
argumenter
Vælg en tom celle, indtast formlen nedenfor og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk derefter dens AutoFyld-håndtag ned for at anvende denne formel på andre celler.
I dette eksempel skal vi udtrække alle tekster før ordet "Excel", så vi skriver ordet direkte i formlen og omslutter det i dobbelte anførselstegn. Eller du kan referere til en celle, der indeholder ordet "Excel".
=IFERROR(LEFT(B5,FIND("Excel",B5)-1),B5)
Bemærkninger:
2.7.2 Udtræk tekst efter et bestemt ord med formel
For at udtrække tekst efter et bestemt ord, kan du anvende følgende formel for at få det gjort.
Generisk formel
=TRIM(MID(cell,SEARCH(word,cell)+LEN(word),255))
argumenter
Vælg en celle, indtast formlen nedenfor, og tryk på Indtast nøglen til at få resultatet. Vælg resultatcellen, og træk derefter dens AutoFyld-håndtag ned for at anvende denne formel på andre celler.
=TRIM(MID(B5,SEARCH("Excel",B5)+LEN("Excel"),255))
Så kan du se alle tekster efter ordet "Excel" i hver celle er udtrukket som vist på skærmbilledet nedenfor.
Bemærkninger:
2.7.3 Uddrag tekst før eller efter et bestemt ord med et fantastisk værktøj
Hvis du føler, at brugen af formel kan forårsage en masse besvær, her anbefaler stærkt Uddrag tekst nytte af Kutools til Excel. Denne funktion hjælper med at automatisere ekstraktionsopgaven i Excel med blot et par klik.
1. klik Kutools > tekst > Uddrag tekst at aktivere denne funktion.
2. i Uddrag tekst i dialogboksen, skal du foretage følgende indstillinger.
Bemærkninger: Hvis du vil oprette dynamiske resultater, skal du markere Indsæt som en formel boks. Så opdateres resultaterne automatisk, når dataene i området ændres.
3. Derefter en Uddrag tekst dialogboksen dukker op, skal du vælge en celle for at udskrive resultatet og derefter klikke på OK .
Derefter udtrækkes tekster før eller efter et bestemt ord inden for hver celle i det valgte område med det samme.
Bemærk: Denne funktion skelner mellem store og små bogstaver.
Klik for at vide mere om denne funktion.
Hvis du vil have en gratis prøveperiode (30 dage) af dette værktøj, klik for at downloade det, og gå derefter til at anvende handlingen i henhold til ovenstående trin.
3. Udtræk mellem tegn/ord
Hvis du vil udtrække tekst mellem bestemte tegn eller ord, kan du prøve følgende metoder.
3.1 Udtræk tekst mellem to tegn
For at udtrække tekst mellem to tegn, som kan være de samme eller forskellige tegn. Dette afsnit indeholder flere metoder, og du kan vælge en af dem efter dine behov.
3.1.1 Udtræk tekst mellem to samme tegn med formel
Som vist på skærmbilledet nedenfor, er der en liste over tekststrenge i kolonne B, og du vil udtrække taldelen mellem tegnene "/" fra hver celle i området, kan følgende formel gøre dig en tjeneste.
Vælg en tom celle, kopier eller indtast formlen nedenfor, og tryk på Indtast nøglen til at få resultatet. Vælg resultatcellen, og træk den derefter AutoFyld-håndtaget ned for at få resultater af andre celler på listen.
=SUBSTITUTE(MID(SUBSTITUTE("/" & B5&REPT(" ",6),"/",REPT(",",255)),2*255,255),",","")
Derefter udtrækkes teksten mellem to samme tegn "/" fra hver celle i området. Se skærmbillede:
Bemærk:
3.1.2 Udtræk tekst mellem to forskellige tegn med formel
Efter at have lært at udtrække tekst mellem to samme tegn i en celle, vil vi her demonstrere en formel til at udtrække tekst mellem to forskellige tegn. Som vist på skærmbilledet nedenfor, for kun at udtrække e-mailadressen mellem "<" og ">" fra hver celle i kolonne B, kan du gøre som følger.
Generisk formel
=MID(LEFT(cel,FIND("end_char",cell)-1),FIND("start_char",cell)+1,LEN(cell))
argumenter
Vælg en tom celle, kopier eller indtast formlen nedenfor, og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk derefter dens AutoFyld-håndtag ned for at anvende denne formel på andre celler.
=MID(LEFT(B5,FIND(">",B5)-1),FIND("<",B5)+1,LEN(B5))
Du kan se, at kun teksten mellem de angivne tegn udtrækkes som vist på skærmbilledet ovenfor.
3.1.3 Uddrag tekst mellem to tegn med et fantastisk værktøj
Her kan varmt anbefales Uddrag strenge mellem specificeret tekst træk ved Kutools til Excel for at hjælpe dig med nemt at udtrække tekst mellem to samme eller forskellige tegn i en celle i Excel.
1. Vælg en tom celle for at output resultatet, og klik derefter på Kutools > Formelhjælper > Formelhjælper.
2. i Formler hjælper i dialogboksen, skal du foretage følgende indstillinger.
3. Derefter udtrækkes kun teksten mellem "<" og ">" i celle B5. I mellemtiden er der oprettet en formel, du kan vælge denne resultatcelle og derefter trække dens AutoFyld-håndtag ned for at udtrække tekster fra andre celler på den samme liste.
Klik for at vide mere om denne funktion.
Hvis du vil have en gratis prøveperiode (30 dage) af dette værktøj, klik for at downloade det, og gå derefter til at anvende handlingen i henhold til ovenstående trin.
3.1.4 Udtræk tekst mellem to tegn (inklusive tegnene) efter regel
Hvis du vil beholde de to tegn efter udtrækning, så prøv at anvende en regel i funktionen Udtræk tekst i Kutools til Excel.
1. klik Kutools > tekst > Uddrag tekst.
2. i Uddrag tekst i dialogboksen, skal du foretage følgende indstillinger.
3. En anden Uddrag tekst dialogboksen dukker op, vælg venligst en celle for at udskrive resultatet, og klik derefter på OK .
Derefter udtrækkes teksten mellem specificerede tegn (inklusive tegnene) fra hver celle i det valgte område i bulk.
Hvis du vil have en gratis prøveperiode (30 dage) af dette værktøj, klik for at downloade det, og gå derefter til at anvende handlingen i henhold til ovenstående trin.
3.2 Udtræk tekst mellem to ord
Ud over at udtrække tekst mellem to tegn, skal du muligvis også udtrække tekst mellem to ord. Udtræk for eksempel alle tekststrenge mellem to ord "KTE" og "funktion" fra hver celle i kolonne B som vist på skærmbilledet nedenfor. Du kan prøve en af følgende metoder for at få det gjort.
3.2.1 Udtræk tekst mellem to ord med formel
Du kan bruge en formel baseret på MID-funktionen og SØG-funktionen til at udtrække alle tekststrenge mellem to ord i en celle.
Generisk formel
=MID(cell,SEARCH("start_word",cell)+3,SEARCH("end_word",cell)-SEARCH("start_word",cell)-4)
argumenter
Vælg en tom celle, kopier eller indtast formlen nedenfor, og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk derefter dens AutoFyld-håndtag ned for at anvende denne formel på andre celler.
=MID(B5,SEARCH("KTE",B5)+3,SEARCH("feature",B5)-SEARCH("KTE",B5)-4)
Bemærk: I formlen repræsenterer tallet 3 tegnlængden af ordet "KTE"; tallet 4 repræsenterer tegnlængden af ordet "KTE" plus 1.
Du kan se, at alle tekststrenge mellem de angivne to ord er udtrukket fra hver celle i kolonne B.
3.2.2 Udtræk tekst mellem to ord med et fantastisk værktøj
For mange Excel-brugere kan formler være svære at huske og håndtere. Her med Uddrag strenge mellem specificeret tekst træk ved Kutools til Excel, kan du nemt udtrække tekst mellem to ord med blot et par klik.
1. Vælg en celle for at udskrive resultatet, og klik derefter Kutools > Formelhjælper > Formelhjælper.
2. i Formelhjælper dialogboks, skal du konfigurere som følger.
3. Derefter udtrækkes alle tekststrenge mellem to ord "KTE" og "feature" i cellen B5. I mellemtiden er en formel blevet oprettet, du kan vælge denne resultatcelle og derefter trække dens AutoFyld-håndtag ned for at udtrække tekster fra andre celler på den samme liste.
Hvis du vil have en gratis prøveperiode (30 dage) af dette værktøj, klik for at downloade det, og gå derefter til at anvende handlingen i henhold til ovenstående trin.
Udtræk tal efter position
For en liste over alfanumeriske strenge kan der være tre tilfælde:
- Nummeret står i begyndelsen af teksten;
- Nummeret er i slutningen af teksten;
- Nummeret kan være hvor som helst i teksten.
I dette afsnit vil vi give forskellige metoder, der kan bruges til at udtrække tallene i hvert tilfælde, der er nævnt ovenfor.
1 Udtræk nummer fra venstre side af en streng
Denne del introducerer en formel, der hjælper dig med at udtrække kun tal, der vises før tekst i en celle.
Generisk formel
=LEFT(cell, MATCH(FALSE, ISNUMBER(MID(cell, ROW(INDIRECT("1:"&LEN(cell)+1)), 1) *1), 0) -1)
argumenter
Bemærk:
Vælg en tom celle, indtast formlen nedenfor, og tryk på Ctrl + Flytte + Indtast or Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk derefter dens AutoFyld-håndtag ned for at få antallet af andre celler.
=LEFT(B5, MATCH(FALSE, ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5)+1)), 1) *1), 0) -1)
Bemærkninger:
2 Udtræk nummer fra højre for en streng
Som vist på skærmbilledet nedenfor, prøv følgende formel for kun at udtrække de tal, der vises efter tekst i en celle.
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)))
argumenter
Bemærk:
Vælg en tom celle, indtast formlen nedenfor, og tryk på Ctrl + Flytte + Indtast or Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk derefter dens AutoFyld-håndtag ned for at få antallet af andre celler.
=RIGHT(B5, LEN(B5) - MAX(IF(ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(B5))), 0)))
Bemærkninger:
3. Udtræk alle tal fra enhver position i en tekststreng
Metoderne ovenfor hjælper med at udtrække tal kun fra venstre eller højre for en tekststreng. Hvis du vil udtrække alle tal fra et hvilket som helst sted i en tekststreng, giver vi dig her tre metoder til at få det gjort.
3.1 Udtræk alle tal fra et hvilket som helst sted i en streng med formel
Du kan anvende følgende formel til at udtrække alle tal fra hvor som helst i en tekststreng i Excel.
1. Vælg en tom celle, kopier eller indtast formlen nedenfor, og tryk på Indtast tast for at få alle tal fra 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ælg resultatcellen, og træk derefter dens AutoFyld-håndtag ned for at få alle antallet af andre celler.
3.2 Udtræk alle tal fra et hvilket som helst sted i en streng med VBA
Formlen ovenfor er for lang og kompliceret for mange Excel-brugere. Faktisk kan du køre et VBA-script for at automatisere opgaven i Excel. Du kan gøre som følger.
1. Tryk på andre + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. I åbningen Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Modul. Kopier derefter VBA'en nedenfor til modulkodevinduet.
VBA-kode: Udtræk alle tal fra et hvilket som helst sted i en tekststreng
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. Tryk på F5 nøgle for at køre koden. I åbningen KutoolsforExcel dialogboksen, vælg det område af celler, hvor du vil udtrække alle tal fra hver celle, og klik derefter på OK .
4. Så en anden KutoolsforExcel dialogboksen dukker op. I denne dialogboks skal du vælge en destinationscelle og klikke OK.
Derefter udtrækkes alle tal fra hver celle i det valgte område i bulk.
4. Udtræk tal efter specifik tekst
Som vist på skærmbilledet nedenfor, for at udtrække eventuelle tal efter den specifikke tekst "Nej.", giver dette afsnit to metoder til at hjælpe dig med at få det gjort.
4.1 Udtræk tal efter en bestemt tekst med formel
Du kan anvende følgende formel til at udtrække tal efter en bestemt tekst i en celle 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}))
argumenter
Vælg en tom celle, kopier eller indtast formlen nedenfor, og tryk på Indtast nøglen til at få resultatet. Vælg denne resultatcelle, og træk derefter dens AutoFyld-håndtag ned for at anvende denne formel på andre 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}))
Bemærkninger:
4.2 Udtræk tal efter en bestemt tekst med brugerdefineret funktion
Følgende brugerdefinerede funktion kan også hjælpe med at udtrække tal efter en bestemt tekst i en celle. Gør venligst som følger.
1. Tryk på andre + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. i Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Modul, og kopier derefter VBA-koden nedenfor til vinduet Modulkode.
VBA-kode: Udtræk tal efter en bestemt tekst i en celle
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. Tryk på andre + Q taster for at lukke Microsoft Visual Basic til applikationer vindue.
4. Vælg en celle, indtast formlen nedenfor, og tryk på Indtast nøgle. Vælg denne resultatcelle, og træk derefter dens AutoFyld-håndtag ned for at anvende denne formel på andre celler.
=GetNumberAfterTheChar(B5,"No. ")
Bemærkninger:
Relaterede artikler:
Excel-vejledning: Opdel tekst-, tal- og datoceller (adskilles i flere kolonner)
Denne vejledning er opdelt i tre dele: opdelte tekstceller, opdelte talceller og opdelte datoceller. Hver del giver forskellige eksempler for at hjælpe dig med at vide, hvordan du skal håndtere opdelingsjobbet, når du støder på det samme problem.
Klik for at vide mere ...
Excel Tilføj tekst og nummer i den specificerede position af cellen
I Excel er tilføjelse af tekster eller tal til celler en meget almindelig opgave. Såsom tilføjelse af mellemrum mellem navne, tilføjelse af præfiks eller suffiks til celler, tilføjelse af bindestreger til sociale numre. Her i denne tutorial viser den næsten alle tilføjelsesscenarier i Excel og giver dig de tilsvarende metoder.
Klik for at vide mere ...
Excel Fjern tegn, ord, tal fra tekststrenge
Antag, at du har en lang liste af tekststrenge, som indeholder tegn, tal eller andre specifikke symboler. I visse tilfælde skal du muligvis fjerne nogle tegn baseret på position, såsom fra højre, venstre eller midten fra tekststrengene, eller slette nogle uønskede tegn, tal fra listen over strenge. At finde løsningerne en efter en vil give dig hovedpine, denne tutorial samler alle slags metoder til at fjerne tegn, ord eller tal i Excel.
Klik for at vide mere ...
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!