Note: The other languages of the website are Google-translated. Back to English

Hvordan udpakkes første / sidste / nte ord fra tekststreng i Excel?

Har du nogensinde lidt med det problem, at du har brug for at udtrække et bestemt ord fra tekststrengen i et regneark? For eksempel har du følgende række tekststrenge, der er nødvendige for at få det første / sidste eller nte ord fra dem, her kan jeg tale om nogle effektive måder for dig at løse det.


Uddrag for- eller efternavn fra tekststreng med formler

Hvis du har brug for at udtrække det første ord fra en liste med tekststrenge, kan følgende formler hjælpe dig.

For at udtrække det første ord skal du indtaste nedenstående formel i en tom celle og derefter trække denne celle's AutoFill-håndtag til det område, som du har brug for.

= HVIS (ISERR (FIND ("", A2)), "", VENSTRE (A2, FIND ("", A2) -1))

For at udtrække det sidste ord fra hver celle skal du anvende denne formel:

= HVIS (ISERR (FIND ("", A2)), "", HØJRE (A2, LENN (A2) -FIND ("*", UDSKIFTNING (A2, "", "*", LENN (A2) -LEN ( UDSKIFTER (A2, "", "")))))

Og nu vil du se det første eller det sidste ord udvindes fra hver celle.

Bemærkninger: I ovenstående formler, A2 angiver den celle, du vil udtrække det første eller det sidste ord fra.

Svært at huske lange komplicerede formler? Fantastisk værktøj hjælper dig med at udtrække det niende Word wkun med flere klik!

Over lange formler kan kun udtrække det første og det sidste ord, men vil være ubrugelige til at udtrække det specificerede nte ord, siger det andet ord, det sjette ord osv. Selv du kan finde ud af formler for at løse problemet, formlerne skal være for kompleks til at blive husket og anvendt. Her anbefales Extract the nth word in cell-funktionen af ​​Kutools til Excel, og det hjælper dig med at udtrække det nth word så let som muligt!


Kutools til Excel - Indeholder mere end 300 praktiske værktøjer til Excel. Gratis prøveversion med fuld funktion 30-dag, intet kreditkort påkrævet! Hent den nu

Uddrag det niende ord fra tekststrengen med brugerdefineret funktion

Hvis du vil udtrække det andet, tredje eller et hvilket som helst nth ord fra tekststrengen, kan du oprette en brugerdefineret funktion til at håndtere det.

1. Hold nede ALT + F11 nøgler til at åbne Vinduet Microsoft Visual Basic til applikationer.

2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler vindue.

Function FindWord(Source As String, Position As Integer)
'Update 20131202
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. Gem derefter koden, i dette eksempel får jeg det tredje ord fra strengen, så skriv denne formel = findword (A2,3) ind i en tom celle B2, og træk derefter denne celle's AutoFill-håndtag til det område, som du har brug for. Se skærmbillede:

Bemærk: I ovenstående formel A2 er cellen, hvor du vil udtrække ord fra, nummeret 3 angiver det tredje ord i strengen, som du udpakker, og du kan ændre dem efter behov.


Uddrag hvert ord fra tekststrengen, og anfør dem vandret eller lodret

Denne metode introducerer Kutools til Excel Opdel celler værktøj til at udtrække hvert ord fra tekststrengceller og derefter liste udpakkede ord vandret eller lodret ud fra dit behov.

Kutools til Excel - Indeholder mere end 300 praktiske værktøjer til Excel. Gratis prøveversion med fuld funktion 30-dag, intet kreditkort påkrævet! Gratis prøveperiode nu!

1. Vælg de tekststrengceller, som du vil udtrække deres ord fra, og klik på Kutools > Flet og del > Opdel celler.

2. I åbningsdialogboksen Opdel celler skal du angive opdeltypen i Type afsnit, tjek Space valgmulighed i Angiv en separator sektion, og klik på knappen Ok knap. Se skærmbillede:

3. Angiv nu det destinationsområde, som du vil udpakke udpakkede ord til, og klik på OK .

Hvis du tjekkede Opdel til kolonner valgmulighed i ovenstående dialogboks Split celler, udpakkes hvert ord fra hver tekststreng og vises lodret.

Hvis du tjekkede Opdel til rækker valgmulighed i ovenstående dialogboks Split celler, bliver hvert ord ekstraheret fra hver tekststreng og opført vandret.


Uddrag det niende ord fra tekststreng i Excel med et fantastisk værktøj

Hvis du har installeret Kutools til Excel, kan du bruge dens formelhjælper> Uddrag det nte ord i cellefunktionen til hurtigt at udtrække det nte ord fra den angivne celle.

Kutools til Excel - Indeholder mere end 300 praktiske værktøjer til Excel. Gratis prøveversion med fuld funktion 30-dag, intet kreditkort påkrævet! Gratis prøveperiode nu!

1. Vælg den celle, du vil placere det udpakkede ord ved, og klik på Kutools > Formelhjælper > Formelhjælper at aktivere denne funktion.

2. Gør som følger i dialogboksen Formel Helper:
(1) Vælg tekst fra Formeltype rulleliste
(2) Klik for at fremhæve Uddrag det niende ord i cellen i Vælg en formel listefelt;
(3) I Cell boks, angiv den celle, som du vil udtrække ord fra;
(4) In Den N i feltet, angiv nummeret.

3. Klik på Ok knap. Hvis det er nødvendigt, skal du trække formlen i autofyldhåndtaget og kopiere formlen til andre celler.


Demo: udpak hvert ord fra tekststrengen, og anfør dem vandret eller lodret


Kutools til Excel indeholder mere end 300 praktiske værktøjer til Excel, gratis at prøve uden begrænsning om 30 dage. Download og gratis prøveversion nu!

Relaterede artikler:


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

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!
officetab bund
Sorter kommentarer efter
Kommentarer (38)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Den vba-kode er fantastisk, mange tak.
Denne kommentar blev minimeret af moderatoren på webstedet
Denne brugerdefinerede funktion er fantastisk! Tusind tak for at dele det.
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak! Fungerede fint! :-)
Denne kommentar blev minimeret af moderatoren på webstedet
Dette var SUPER nyttigt, jeg tænkte på, om nogen kendte til en downloadbar eller en kopi og indsætbar liste over nyttige håndlavede funktioner såsom "FindWord", som jeg ville være i stand til at bruge.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, jeg spekulerede bare på, hvad jeg ellers kunne indsætte i Visual Basic-formlen, der kunne udtrække og kommaer eller bindestreger umiddelbart efter dataene.. f.eks. Fortin-
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, det er fremragende. Det fungerede meget godt og reducerer vores belastning sparer masser af tid i denne operation. Tak til alle, der har arbejdet på dette og delt...
Denne kommentar blev minimeret af moderatoren på webstedet
God en. Dette fungerede meget godt
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Dette sparer virkelig meget tid. Tak for deling Kan nogen også foreslå hvordan vi kan udtrække ordene med vba på en omvendt måde, fx sidste ord er 1, andet fra højre mod venstre er 2 og så videre. Dette vil blive værdsat meget.
Denne kommentar blev minimeret af moderatoren på webstedet
Dette fungerer ikke korrekt på en kildestreng, der består af ikke-ord (som leverandørnavne efterfulgt af delnumre)
Denne kommentar blev minimeret af moderatoren på webstedet
hvordan kan vi ændre skrifttyper til n'te ord i en celle
Denne kommentar blev minimeret af moderatoren på webstedet
Meget værdsat. Det hjalp mig meget.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, tak for dit stykke kode. Det inspirerede mig til at udvide lidt. Med de næste linjer kan du vælge: sidste ord (0), et men sidste (-1), næstsidste (-2) osv. Uanset antal ord. Funktion FindWord(Source As String, Position As Integer) 'Opdater 20150504 Dim arr() As String arr = VBA.Split(Source, " ") xCount = UBound(arr) Vælg Case Position Case -xCount To 0 FindWord = arr(xCount) + Position) Sag 1 Til (xCount + 1) FindWord = arr(Position - 1) Case Else FindWord = "" Afslut Vælg Afslut funktion
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, lige en tilføjelse til koden i går. Dette tilføjer en ekstra linje for at justere for redundante mellemrum i kildestrengen: arr = VBA.Split(WorksheetFunction.Trim(Source), " ") hilsen Allart
Denne kommentar blev minimeret af moderatoren på webstedet
Tak, Alan, det er fantastisk, tak! :)
Denne kommentar blev minimeret af moderatoren på webstedet
TUSIND TAK!!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej.. Tak for din kode, jeg har listesætninger, og en af ​​dem kun 1 ord, og din kode virker ikke, hvis den kun har 1 ord..
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg kan ikke få koden til det første ord til at virke, hvis nogle af min liste kun har ét ord i cellen. fx første ord ---> første sekund ---> [null] sidste ord ---> sidste
Denne kommentar blev minimeret af moderatoren på webstedet
Prøv dette (se mit svar ovenfor): Funktion FindWord(kilde som streng, position som heltal) ' får 1., 2., sidste(0), næstsidste (-2) osv., ord fra en streng ' Opdatering 20150505 Dim arr( ) As String arr = VBA.Split(WorksheetFunction.Trim(Source), " ") xCount = UBound(arr) Vælg Case Position Case -xCount To 0 FindWord = arr(Position + xCount) Case 1 To xCount + 1 FindWord = arr (Position - 1) Case Else FindWord = "" End Select
Denne kommentar blev minimeret af moderatoren på webstedet
Hej nørder, jeg har en celle som denne: 1 ABCD; 2 DEDF; 1 DED#3d; 4 FDWDS; 1 ED Og jeg vil gerne udtrække tegn efter 1. Så ønskede at få et resultat som nedenfor: ABCD;DED#3d;ED
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har 64bit Excel 2013 og mangler Morefunc-tilføjelsen. Baseret på koden ovenfor er jeg kommet med denne erstatning for Morefuncs WMID-funktion. Jeg ville være taknemmelig, hvis nogen, der er mere ekspert end mig, kunne rydde op i det. Funktion WMid1(Kilde som streng, valgfri position som heltal, valgfri ordtæller som heltal, valgfri separator som streng) Dim arr() Som streng Dim xCount Som heltal Dim wCount Som heltal Dim wFirst As heltal Dim wLast As Integer Hvis Position = 0 derefter position = 1 Hvis WordCount = 0 Så WordCount = 1 Hvis Separator = "" Så Separator = " " arr = VBA.Split(Trim(Kilde), Separator) xCount = UBound(arr) + 1 Hvis Position < 1 Then wFirst = Application. Max(xCount + Position - WordCount + 1, 0) wLast = xCount + Position Else wFirst = Position - 1 wLast = Application.Min(xCount - 1, Position + WordCount - 2) End If If xCount < 2 Eller Abs(Position) > xCount Så WMid1 = "" Else WMid1 = arr(wFirst) For wCount = wFirst + 1 To wLast WMid1 = WMid1 & Separator & arr(wCount) Next End If WMid1 = Trim(WMid1) End Function
Der er endnu ingen kommentarer her
Load More
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL