Excel finder sidste forekomst af tegn i en streng (6 metoder)

  • Del Dette
Hugh West

I denne artikel vil vi finde sidste forekomst af en karakter i en streng Excel Vores stikprøvedatasæt har tre søjler : Virksomhedens navn , Kode for ansatte , og Sidste forekomst . Kode for ansatte indeholder en medarbejders navn, alder og afdeling.

For den første 4 metoder finder vi placeringen af skråstregen " / " i for alle værdierne i Kode for ansatte Derefter skal vi udstede strenge efter den sidste skråstreg i den sidste 2 metoder.

Download arbejdsbog til øvelser

Find sidste forekomst af tegn i String.xlsm

6 måder i Excel til at finde sidste forekomst af tegn i en streng

1. Brug af FIND & SUBSTITUTE-funktioner i Excel til at finde positionen for sidste forekomst af tegn i en streng

I den første metode bruger vi FIND funktion, den UDSTEDELSE funktion, den CHAR funktion, og den LEN funktion til finde senest skråstregens placering i vores streng .

Trin:

  • Indtast først følgende formel i celle D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/",""")))/LEN("/"))))

Opdeling af formler

Vores vigtigste funktion er FIND . Vi skal finde den CHAR(134) værdi i vores streng.

  • CHAR(134)
    • Output: † .
    • Vi skal indstille et tegn, som ikke findes i vores strenge. Vi har valgt det, fordi det er sjældent i strenge. Hvis du på en eller anden måde har dette tegn i dine strenge, skal du ændre det til noget, der ikke findes i dine strenge (f.eks. " @ ", " ~ ", osv.).
  • SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/",""")))/LEN("/"))) -> bliver,
  • SUBSTITUTE(C5,"/","†",(17-LEN("Mike32Marketing"))/1) -> bliver,
  • SUBSTITUTE("Mike/32/Marketing","/","†",(17-15)/1)
    • Output: "Mike/32†Marketing" .
  • Nu bliver vores fulde formel,
  • =FIND("†", "Mike/32†Marketing")
    • Udgang: 8 .
  • For det andet skal du trykke på INDTAST .

Vi vil se værdien 8 Hvis vi tæller manuelt fra venstre side, får vi 8 som position for den skråstreg celle C5 .

  • Endelig skal du bruge Håndtag til påfyldning for at kopiere formlen ned.

Vi har således fået positionen for den sidste forekomst af en karakter i vores streng .

Læs mere: Excel-funktion: FIND vs. SEARCH (en sammenlignende analyse)

2. Anvendelse af MATCH & SEQUENCE-funktioner i Excel til at finde positionen for sidste forekomst af tegn i en streng

Til den anden metode bruger vi MATCH funktion, den SEQUENCE funktion, den MID funktion, og den LEN funktion til at finde positionen af sidste forekomst af en karakter i den streng . Husk SEQUENCE funktionen er kun tilgængelig på Excel 365 eller Excel 2021 .

Trin:

  • Indtast først følgende formel i celle D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/")))

Opdeling af formler

  • SEKVENS(LEN(C5))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • LEN funktionen måler længden af celle C5 . SEQUENCE funktionen returnerer en liste med tal i en rækkefølge i et array.
  • MATCH(2,1/(MID(C5,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
    • Udgang: 8 .
    • Match funktion er at finde den sidste 1 værdi i vores formel. Den er i den 8. stilling.

  • For det andet skal du trykke på INDTAST .

Ved hjælp af formlen har vi fundet positionen for skråstreg fremad som 8 i vores streng .

  • Endelig skal du bruge Håndtag til påfyldning til AutoFill formlen.

Afslutningsvis har vi anvendt en anden formel til at finde den sidste position af en karakter i den strenge .

Læs mere: Sådan finder du tegn i String Excel (8 nemme måder)

3. Udnyttelse af en Array-formel i Excel til at finde positionen for sidste forekomst af tegn i en streng

Vi skal bruge RÆKKE funktion, den INDEX funktion, den MATCH , den MID , og den LEN funktioner til at oprette en array-formel til at finde positionen af sidste forekomst af en karakter i en streng .

Trin:

  • Indtast først formlen fra nedenstående til celle D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5)))),1)="/")))

Opdeling af formler

Formlen svarer til metoden 2 . Vi bruger den RÆKKE og INDEX funktion til at kopiere output som den SEQUENCE funktion.

  • RÆKKE($C$1:INDEKS(C:C,LEN(C5)))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • Vi kan se, at resultatet er det samme. INDEX funktionen returnerer værdien af et interval. LEN funktionen tæller længden af strengen fra celle C5 . Endelig er det RÆKKE funktionen returnerer den celle værdier fra 1 til celle længde af C5 Resten af formlen er den samme som metoden 2 .

  • For det andet skal du trykke på INDTAST .

Vi har fået 8 som værdien som forventet. Vores formel fungerede upåklageligt.

Bemærk: Vi bruger den Excel 365 version. Hvis du bruger en ældre version, skal du trykke på CTRL + SKIFT + INDTAST .

  • Endelig skal du dobbeltklikke eller trække ned på Håndtag til påfyldning .

Sådan skal det sidste trin se ud.

Læs mere: Find den første forekomst af en værdi i et område i Excel (3 måder)

Lignende læsninger

  • Sådan Find * Tegn Ikke som Wildcard i Excel (2 Metoder)
  • Sådan bruger du Excel-formel til at finde sidste række nummer med data (2 måder)
  • Find sidste værdi i kolonne større end nul i Excel (2 nemme formler)
  • Sådan finder du links i Excel
  • Find eksterne links i Excel (6 hurtige metoder)

4. Brugerdefineret funktion til at finde positionen for sidste forekomst af tegn i en streng

I denne metode vil vi bruge en brugerdefineret VBA formel til at finde den sidste position i en karakter i en streng Lad os gå i gang uden yderligere forsinkelse.

Trin:

  • Først skal du trykke på ALT + F11 for at få vist den VBA vindue.

Du kan vælge Visual Basic fra den Udvikler fanen også at gøre det.

  • For det andet, Fra Indsæt >>>> vælg Modul .

  • For det tredje, kopi og indsætte følgende kode.
 Funktion LOccurence(x1 As String, x2 As String) LOccurence = InStrRev(x1, x2) End Function 

Vi har oprettet en brugerdefineret funktion kaldet " LOccurence ". InStrRev er en VBA funktion, der returnerer slutpositionen for en karakter . Vi indtaster vores celle værdi som x1 og det specifikke tegn (i vores tilfælde er det et skråstreg fremad ) som x2 i denne brugerdefinerede funktion.

  • Derefter skal du lukke VBA vindue og gå til " Position VBA " ark .
  • Indtast følgende formel i celle D5 .
=LOccurence(C5,"/")

I denne brugerdefinerede funktion fortæller vi den, at den skal finde positionen for sidste forekomst skråstreg fremad i den streng fra celle C5 .

  • Derefter skal du trykke på INDTAST .

Vi har fået 8 som forventet som den sidst indtraf placering af den skråstreg fremad .

  • Endelig kan vi trække formlen ned ved hjælp af Håndtag til påfyldning .

Vi har således anvendt endnu en formel til at finde placeringen af sidste forekomst af en karakter .

Læs mere: Sådan finder du tegn i en streng fra højre i Excel (4 nemme metoder)

5. Brug af kombinerede funktioner i Excel til at finde sidste forekomst af tegn i en streng

Indtil nu har vi set, hvordan vi finder den sidst forekommende position for et tegn. Nu skal vi bruge SØG funktion, den RIGHT funktion, den UDSTEDELSE , den LEN , den CHAR funktioner til at vise strengen efter den sidste forekomst af et tegn. Mere simpelt sagt vil vi udgive de ansattes afdeling fra Kolonne medarbejderkode .

Trin:

  • Indtast først følgende formel i celle D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))

Opdeling af formler

  • SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/",""))) -> bliver,
  • SUBSTITUTE(C5,"/",CHAR(134),2)
    • Output: "Mike/32†Marketing" .
    • UDSTEDELSE funktionen erstatter en værdi med en anden værdi. I vores tilfælde erstatter den hver skråstreg fremad med en i den første del og med blank i den sidste del. Derefter skal LEN funktionen måler længden af denne. Det er sådan, vi har fået vores værdi.
  • SØG("†", "Mike/32†Marketing")
    • Udgang: 8 .
    • SØG funktionen finder specialtegnet i vores tidligere output. Derfor fandt den det i 8.
  • Endelig reduceres vores formel til, RIGHT(C5,9)
    • Output: "Marketing" .
    • RIGHT funktionen returnerer celleværdien op til et bestemt antal tegn fra højre side. Vi har fundet positionen for det sidste skråstreg fremad 8. Længden af celle C5 er 17 , og 17 - 8 = 9 . Derfor har vi fået den 9 tegn fra højre side som output.

  • For det andet skal du trykke på INDTAST .

Vi har fået den strenge efter den sidste skråstreg fremad .

  • Endelig skal du bruge Håndtag til påfyldning til AutoFill formlerne i celle rækkevidde D6:D10 .

Vi har således udtrukket den strenge efter den sidste forekomst af en karakter .

Læs mere: Sådan finder du ud af, om en celle indeholder en bestemt tekst i Excel

6. Brugerdefineret VBA-formel i Excel til at finde sidste forekomst af tegn i en streng

Til den sidste metode bruger vi en brugerdefineret VBA formel til at udtrække den streng efter den skråstreg .

Trin:

  • Først skal du trykke på ALT + F11 for at få vist den VBA vindue.

Du kan vælge Visual Basic fra den Udvikler fanen også at gøre det.

  • For det andet, Fra Indsæt >>>> vælg Modul som vi gjorde i metode 4 .
  • For det tredje, kopi og indsætte følgende kode.
 Function LastString(cRange As Range, cString As String) Dim cLength As Integer cLength = Len(cRange) For x = cLength To 1 Step -1 If Mid(cRange, x - 1, 1) = cString Then LastString = x Exit Function End If Next x End Function 

Vi opretter en brugerdefineret funktion kaldet " LastString ". Denne funktion returnerer startpositionen for strenge efter den sidste forekomst af en karakter.

  • Derefter skal du skrive formlen fra nedenstående til celle D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)

Opdeling af formler

  • SidsteString(C5,"/")
    • Udgang: 9 .
    • Her får vi startpositionen for streng umiddelbart efter den sidste skråstreg .
  • LEN(C5)
    • Udgang: 17 .
  • LEN(C5)-LastString(C5,"/")+1
    • Udgang: 9.
    • Vi skal tilføje 1 ellers får vi en værdi med " M ".
  • Vores formel vil blive reduceret til RIGHT(C5,9)
    • Output: " Markedsføring ".

  • Tryk på INDTAST .

Vi får værdien " Markedsføring ".

  • Endelig, AutoFill formlen op til celle C10 .

Vi har nået vores mål, og formlen fungerer efter hensigten.

Læs mere: Sådan finder du den sidste række med en bestemt værdi i Excel (6 metoder)

Øvelsesafsnit

Vi har vedlagt øvelsesdatasæt ud over hver metode i Excel Du kan øve dig i at blive bedre til denne opgave.

Konklusion

Vi har vist dig 6 metoder i Excel for at finde den sidste forekomst af en karakter i en streng Hvis du har problemer med disse, er du velkommen til at kommentere nedenfor. Tak for læsningen, og bliv ved med at være dygtig!

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.