Excel vinden laatste voorkomen van teken in string (6 methoden)

  • Deel Dit
Hugh West

In dit artikel gaan we vind de laatste optreden van een karakter in een string in Excel Onze steekproef dataset heeft drie kolommen : Bedrijfsnaam , Werknemer Code en Laatste voorval . Werknemer Code bevat de naam, leeftijd en afdeling van een werknemer.

Voor de eerste 4 methoden vinden we de positie van de forward-slash " / " in voor alle waarden in Werknemer Code Daarna gaan we naar de uitgang... strings na de laatste schuine streep in de laatste 2 methoden.

Download Praktijk Werkboek

Laatste voorkomen van teken in string zoeken.xlsm

6 manieren om in Excel het laatste voorkomen van een teken in een reeks te vinden

1. De functies FIND en SUBSTITUTE in Excel gebruiken om de positie van het laatst voorkomende teken in een reeks te vinden.

Voor de eerste methode gebruiken we de VIND functie, de SUBSTITUTE functie, de CHAR functie, en de LEN functie naar vind de laatste positie van de schuine streep in onze string .

Stappen:

  • Type eerst de volgende formule in cel D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))

Formuleverdeling

Onze belangrijkste functie is VIND We gaan de CHAR(134) waarde in onze string.

  • CHAR(134)
    • Uitgang: † .
    • We moeten een karakter instellen dat niet voorkomt in onze strings. We hebben het gekozen omdat het zeldzaam is in strings. Als u dit op een of andere manier in uw strings heeft, verander het dan in iets dat niet in uw strings voorkomt (bijvoorbeeld " @ ", " ~ ", enz.).
  • SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")) -> wordt,
  • SUBSTITUTE(C5,"/","†",(17-LEN("Mike32Marketing"))/1) -> wordt,
  • SUBSTITUTE("Mike/32/Marketing","/","†",(17-15)/1)
    • Uitvoer: "Mike/32†Marketing" .
  • Nu wordt onze volledige formule,
  • =FIND("†","Mike/32†Marketing")
    • Uitgang: 8 .
  • Ten tweede, druk op ENTER .

We zullen de waarde zien 8 Als we handmatig tellen vanaf de linkerkant, krijgen we 8 als de positie voor de slash in cel C5 .

  • Gebruik tot slot de Vulgreep om de formule te kopiëren.

Dus, we hebben de positie van de laatste optreden van een karakter in onze string .

Lees meer: Excel-functie: ZOEKEN vs ZOEKEN (Een vergelijkende analyse)

2. Toepassing van MATCH & SEQUENCE functies in Excel om de positie van het laatst voorkomende teken in een string te vinden.

Voor de tweede methode gebruiken we de MATCH functie, de SEQUENCE functie, de MID functie, en de LEN functie om de positie van de laatste optreden van een karakter in de string Denk aan de SEQUENCE functie is alleen beschikbaar op Excel 365 of Excel 2021 .

Stappen:

  • Type eerst de volgende formule in cel D5 .
=MATCH(2,1/(MID(C5,SEQUENTIE(LEN(C5)),1)="/"))

Formuleverdeling

  • SEQUENTIE(LEN(C5))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • De LEN functie meet de lengte van cel C5 . de SEQUENCE functie geeft een lijst van getallen in een array.
  • MATCH(2,1/(MID(C5,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
    • Uitgang: 8 .
    • De Wedstrijd functie is het vinden van de laatste 1 waarde in onze formule. Het is in de 8e positie.

  • Ten tweede, druk op ENTER .

Met de formule hebben we de positie van forward-slash als 8 in onze string .

  • Gebruik tot slot Vulgreep naar AutoFill de formule.

Tot slot hebben we een andere formule toegepast om de laatste positie van een karakter in de strings .

Lees meer: Hoe Karakter in String Excel te vinden (8 eenvoudige manieren)

3. Een matrixformule in Excel gebruiken om de positie van het laatst voorkomende teken in een tekenreeks te vinden

We gaan de ROW functie, de INDEX functie, de MATCH de MID en de LEN functies om een matrixformule te maken om de positie van de laatste optreden van een karakter in een string .

Stappen:

  • Type eerst de onderstaande formule in cel D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))

Formuleverdeling

De formule is vergelijkbaar met de methode 2 We gebruiken de ROW en de INDEX functie om de uitvoer te repliceren als de SEQUENCE functie.

  • RIJ($C$1:INDEX(C:C,LEN(C5)))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • We zien dat de uitvoer hetzelfde is. De INDEX functie geeft de waarde van een bereik terug. De LEN functie telt de lengte van de string van cel C5 Eindelijk, de ROW functie geeft de cel waarden van 1 naar cel lengte van C5 De rest van de formule is hetzelfde als methode 2 .

  • Ten tweede, druk op ENTER .

We hebben 8 als de waarde zoals verwacht. Onze formule werkte feilloos.

Let op: We gebruiken de Excel 365 versie. Als u een oudere versie gebruikt, moet u op CTRL + SHIFT + ENTER .

  • Dubbelklik of sleep tenslotte de Vulgreep .

Zo zou de laatste stap eruit moeten zien.

Lees meer: Zoek de eerste keer dat een waarde in een bereik voorkomt in Excel (3 manieren)

Vergelijkbare lezingen

  • Hoe te vinden * karakter niet als Wildcard in Excel (2 methoden)
  • Hoe Excel formule gebruiken om laatste rij nummer met gegevens te vinden (2 manieren)
  • Laatste waarde in kolom groter dan nul vinden in Excel (2 eenvoudige formules)
  • Links zoeken in Excel
  • Externe links vinden in Excel (6 snelle methoden)

4. Door gebruiker gedefinieerde functie om de positie van het laatst voorkomende teken in een tekenreeks te vinden

In deze methode gebruiken we een aangepaste VBA formule om de laatste positie van een karakter in een string Zonder verder oponthoud, laten we in actie komen.

Stappen:

  • Druk eerst op ALT + F11 om de VBA raam.

U kunt kiezen uit Visual Basic van de Ontwikkelaar tab om dat ook te doen.

  • Ten tweede, van Plaats >>> selecteer Module .

  • Ten derde, kopie en pasta de volgende code.
 Functie LOccurence(x1 Als String, x2 Als String) LOccurence = InStrRev(x1, x2) Einde Functie 

We hebben een aangepaste functie gemaakt met de naam " LOccurence ". InStrRev is een VBA functie die de eindpositie van een karakter We zullen onze cel waarde als x1 en het specifieke karakter (in ons geval is het een forward-slash ) als x2 in deze aangepaste functie.

  • Sluit daarna de VBA venster en ga naar de " Positie VBA " blad .
  • Typ de volgende formule in cel D5 .
=LOccurence(C5,"/")

In deze aangepaste functie vertellen we het om de positie van de laatste optreden van forward-slash in de string van cel C5 .

  • Druk vervolgens op ENTER .

We hebben 8 zoals verwacht als de laatst voorgekomen positie van de forward-slash .

  • Tenslotte kunnen we de formule naar beneden slepen met de Vulgreep .

We hebben dus een andere formule toegepast om de positie van de laatste optreden van een karakter .

Lees meer: Hoe Karakter in String te vinden van rechts in Excel (4 eenvoudige methoden)

5. Gecombineerde functies in Excel gebruiken om de laatste keer dat een teken in een string voorkomt te vinden

Tot nu toe hebben we gezien hoe we de laatst opgetreden positie van een karakter kunnen vinden. Nu gaan we de ZOEKEN functie, de RECHTS functie, de SUBSTITUTE de LEN de CHAR functies om de string te tonen na het laatste voorkomen van een teken. Eenvoudiger gezegd, we zullen de afdeling van de werknemers uit de Kolom werknemerscode .

Stappen:

  • Type eerst de volgende formule in cel D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(SUBSTITUTE(C5,"/","")))))

Formuleverdeling

  • SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/",""))) -> wordt,
  • SUBSTITUTE(C5,"/",CHAR(134),2)
    • Uitvoer: "Mike/32†Marketing" .
    • De SUBSTITUTE functie vervangt een waarde door een andere waarde. In ons geval vervangt het elke forward-slash met een in het eerste gedeelte en met blanco in het laatste gedeelte. Dan is de LEN functie meet de lengte daarvan. Zo hebben we onze waarde.
  • SEARCH("†","Mike/32†Marketing")
    • Uitgang: 8 .
    • De ZOEKEN functie vindt het speciale karakter in onze vorige uitvoer. Bijgevolg vond het het in 8e
  • Tenslotte wordt onze formule gereduceerd tot, RECHTS(C5,9)
    • Uitvoer: "Marketing" .
    • De RECHTS functie geeft de celwaarde terug tot een bepaald aantal tekens van de rechterkant. We hebben de positie van de laatste forward-slash in 8e De lengte van cel C5 is 17 en 17 - 8 = 9 Daarom hebben we de 9 karakters van de rechterzijde als uitgang.

  • Ten tweede, druk op ENTER .

We hebben de strings na de laatste forward-slash .

  • Gebruik tot slot de Vulgreep naar AutoFill de formules in cel reeks D6:D10 .

Zo hebben we de strings na de laatste optreden van een karakter .

Lees meer: Hoe te vinden of een cel specifieke tekst bevat in Excel

6. Aangepaste VBA-formule in Excel om de laatste keer dat een teken in een string voorkomt te vinden

Voor de laatste methode gebruiken we een aangepaste VBA formule om de string na de voorwaartse schuine streep .

Stappen:

  • Druk eerst op ALT + F11 om de VBA raam.

U kunt kiezen uit Visual Basic van de Ontwikkelaar tab om dat ook te doen.

  • Ten tweede, van Plaats >>> selecteer Module zoals we deden in methode 4 .
  • Ten derde, kopie en pasta de volgende code.
 Functie LastString(cRange Als Bereik, cString Als String) Dim cLength Als Geheel getal cLength = Len(cRange) Voor x = cLength Tot 1 Stap -1 Als Mid(cRange, x - 1, 1) = cString Dan LastString = x Exit Functie End If Volgende x Einde Functie 

We maken een aangepaste functie genaamd " LastString "Deze functie geeft de beginpositie van de strings na de laatste optreden van een karakter.

  • Daarna typt u de onderstaande formule in cel D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)

Formuleverdeling

  • LastString(C5,"/")
    • Uitgang: 9 .
    • Hier krijgen we de startpositie van de string onmiddellijk na de laatste forward slash .
  • LEN(C5)
    • Uitgang: 17 .
  • LEN(C5)-LastString(C5,"/")+1
    • Uitgang: 9.
    • We moeten 1 anders krijgen we waarde met de " M ".
  • Onze formule vermindert tot RECHTS(C5,9)
    • Uitgang: " Marketing ".

  • Druk op ENTER .

We krijgen de waarde " Marketing ".

  • Eindelijk, AutoFill de formule tot cel C10 .

We hebben ons doel bereikt. De formule werkt zoals bedoeld.

Lees meer: Hoe de laatste rij met een specifieke waarde te vinden in Excel (6 methoden)

Praktijk Sectie

We hebben naast elke methode praktijkdatasets bijgevoegd in de Excel bestand. Je kunt oefenen om beter te worden in deze taak.

Conclusie

We hebben je laten zien 6 methoden in Excel om de laatste optreden van een karakter in een string Als je problemen hebt met betrekking tot deze, voel je vrij om hieronder te reageren. Bedankt voor het lezen, en blijf uitblinken!

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.