Ynhâldsopjefte
Yn dit artikel sille wy fine it lêste foarkommen fan in karakter yn in string yn Excel . Us foarbylddataset hat trije kolommen : Bedriuwsnamme , meiwurkerskoade , en Lêste foarkommen . Employee Code befettet de namme, leeftyd en de ôfdieling fan in meiwurker.
Foar de earste 4 metoaden fine wy de posysje fan 'e foarút-slash " / " yn foar alle wearden yn Employee Code . Dêrnei sille wy strings útfiere nei de lêste slash yn 'e lêste 2 metoaden.
Oefenwurkboek downloade
Lêste foarkommen fan karakter fine yn String.xlsm
6 manieren yn Excel om lêste foarkommen fan karakter te finen yn String
1. Mei help fan FIND & amp; SUBSTITUTE-funksjes yn Excel om posysje te finen fan lêste optreden fan karakter yn tekenrige
Foar de earste metoade sille wy de funksje FIND brûke, de funksje SUBSTITUTE , de funksje CHAR , en de funksje LEN om de lêste posysje fan de slash yn ús string te fine .
Stappen:
- Typ earst de folgjende formule yn sel D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))
Formule-ûnderdieling
Us haadfunksje is FIND . Wy sille de CHAR(134) -wearde fine yn ús tekenrige.
- CHAR(134)
- Utfier:† .
- Wy moatte in karakter ynstelle dat net yn ús snaren oanwêzich is. Wy hawwe it keazen om't it seldsum is yn snaren. As jo dit op ien of oare manier yn jo snaren hawwe, feroarje it dan nei alles dat net yn jo snaren stiet (bygelyks " @ ", " ~ ", ensfh.).
- SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/ ”)) -> wurdt,
- SUBSTITUTE(C5,”/”,”†”,(17-LEN(“Mike32Marketing”))/1) -> wurdt,
- SUBSTITUTE(“Mike/32/Marketing”,,”/”,”†”,(17-15)/1)
- Utfier : “Mike/32†Marketing” .
- No wurdt ús folsleine formule,
- =FIND(“†”,,”Mike/32 †Marketing”)
- Utfier: 8 .
- Twadde, druk op ENTER .
Wy sille de wearde 8 sjen. As wy mei de hân telle fan de linkerkant, krije wy 8 as de posysje foar de slash yn sel C5 .
- As lêste, brûk de Fill Handle om de formule nei ûnderen te kopiearjen.
Sa hawwe wy de posysje fan de lêste foarkommen fan in karakter yn ús tekenrige .
Lês mear: Excel Function: FYN vs SEARCH (In ferlykjende analyze)
2. MATCH tapasse & amp; SEQUENCE-funksjes yn Excel om posysje te finen fan lêste optreden fan karakter yn tekenrige
Foar de twadde metoade sille wy de funksje MATCH brûke, de funksje SEQUENCE , de MID funksje, en de funksje LEN om de posysje te finen fan it lêste foarkommen fan in teken yn de string . Unthâld dat de funksje SEQUENCE allinnich beskikber is op Excel 365 of Excel 2021 .
Stappen:
- Typ earst de folgjende formule yn sel D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))
Formule-ûnderdieling
- SEQUENCE(LEN(C5))
- Utfier: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
- De LEN -funksje mjittet de lingte fan sel C5 . De funksje SEQUENCE jout in list mei nûmers opfolgjend werom yn in array.
- MATCH(2,1/(MID(C5;{1;2; 3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
- Utfier: 8 .
- De funksje Match fynt de lêste 1 wearde yn ús formule. It is yn de 8ste posysje.
- Twadde, druk op ENTER .
Mei de formule hawwe wy de posysje fûn fan foarút-slash as 8 yn ús string .
- Brûk as lêste Fill Handle om AutoFill de formule te brûken.
Konklúzje, wy hawwe in oare formule tapast om de lêste posysje te finen fan in karakter yn de strings .
Lês Mear: Hoe kinne jo karakter fine yn String Excel (8 maklike manieren)
3. In arrayformule brûke yn Excel om posysje te finen fanLêste foarkommen fan karakter yn tekenrige
Wy sille de funksje ROW brûke, de funksje INDEX , de MATCH , de MID , en de LEN -funksjes om in arrayformule te meitsjen om de posysje te finen fan it lêste foarkommen fan in teken yn in string .
Stappen:
- Typ earst de formule fan ûnderen nei sel D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))
Formule-ûnderdieling
De formule is gelyk oan metoade 2 . Wy brûke de ROW en de INDEX funksje om de útfier te replikearjen as de funksje SEQUENCE .
- ROW ($C$1:INDEX(C:C,LEN(C5)))
- Utfier: {1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17} .
- Wy kinne sjen dat de útfier itselde is. De funksje INDEX jout de wearde fan in berik werom. De funksje LEN telt de lingte fan de tekenrige fan sel C5 . Uteinlik jout de funksje ROW de sel wearden werom fan 1 nei sel lingte fan C5 . De rest fan de formule is itselde as metoade 2 .
- Twadens, druk op ENTER .
Wy hawwe 8 as de wearde lykas ferwachte. Us formule wurke flawless.
Opmerking: Wy brûke de Excel 365 ferzje. As jo in âldere ferzje brûke, dan moatte jo op CTRL + SHIFT + ENTER drukke.
- Op it lêst dûbelje -klik of sleep de Fillhandtak nei ûnderen.
Dit is hoe't de lêste stap derút moat.
Lês mear: Fyn earste foarkommen fan in wearde yn in berik yn Excel (3 manieren)
Silkige lêzingen
- Hoe kinne jo * Karakter net as joker fine yn Excel (2 metoaden)
- Hoe kinne jo Excel-formule brûke om lêste rigenûmer te finen mei Gegevens (2 manieren)
- Fyn lêste wearde yn kolom grutter dan nul yn Excel (2 maklike formules)
- Hoe kinne jo keppelings fine yn Excel
- Eksterne keppelings fine yn Excel (6 rappe metoaden)
4. Brûker definieare funksje om posysje te finen fan lêste optreden fan karakter yn tekenrige
Yn dizze metoade sille wy in oanpaste VBA -formule brûke om de lêste posysje fan in karakter yn in string te finen. Lit ús sûnder fierdere ado yn 'e aksje springe.
Stappen:
- Druk earst op ALT + F11 om it VBA finster op te heljen.
Jo kinne Visual Basic kieze út it ljepblêd Untwikkelder om dit te dwaan ek.
- Twadens, Fan Ynfoegje >>> selektearje Module .
- Tredde, kopiearje en plakke de folgjende koade .
6374
Wy hawwe in oanpaste funksje makke mei de namme " LOccurence ". De InStrRev is in VBA -funksje dy't de einposysje fan in karakter weromjout. Wy sille ús sel wearde ynfiere as x1 en it spesifike karakter (yn ús gefal is it in forward-slash ) as x2 yn dizze oanpaste funksje.
- Slút dêrnei it finster VBA en gean nei it " Posysje VBA " blêd .
- Typ de folgjende formule yn sel D5 .
=LOccurence(C5,"/")
Yn dizze oanpaste funksje fertelle wy it om de posysje te finen fan it lêste foarkommen fan foarút-slash yn 'e string fan sel C5 .
- Druk dan op ENTER .
Wy hawwe 8 lykas ferwachte as de lêste barde posysje fan de foarút-slash .
- Uteinlik kinne wy de formule nei ûnderen slepe mei de Fillhandtak .
Sa hawwe wy noch in oare formule tapast foar it finen fan de posysje fan it lêste foarkommen fan in karakter .
Lês mear: Hoe kinne jo karakter yn string fan rjochts fine yn Excel (4 maklike metoaden)
5. Gebrûk Kombinearre funksjes yn Excel om lêste foarkommen fan C haracter in String
Tot dit, wy hawwe sjoen hoe't te finen de lêste foarkommende posysje fan in karakter. No sille wy de funksje SEARCH brûke, de RIGHT funksje, de SUBSTITUTE , de LEN , de CHAR funksjonearret om de tekenrige te sjen nei it lêste foarkommen fan in karakter. Yn ienfâldiger termen sille wy de ôfdieling fan 'e meiwurkers útfiere fan' e Employee Codekolom .
Stappen:
- Typ earst de folgjende formule yn sel D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))
Formule-yndieling
- SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/",""))) -> wurdt,
- SUBSTITUTE(C5,"/",CHAR(134),2)
- Utfier: "Mike/32†Marketing" .
- De funksje SUBSTITUTE ferfangt in wearde troch in oare wearde. Yn ús gefal ferfangt it elke foarút-slash mei in † yn it earste diel en mei leech yn it lêste diel. Dan mjit de funksje LEN de lingte dêrfan. Sa hawwe wy ús wearde krigen.
- SEARCH(“†”,,”Mike/32†Marketing”)
- Utfier: 8 .
- De funksje SEARCH fynt it spesjale karakter yn ús foarige útfier. Dêrtroch fûn it it yn 8e
- Uteinlik fermindert ús formule nei, RJOCHTS(C5,9)
- Utfier: "Marketing" .
- De funksje RJOCHTS jout de selwearde werom oant in bepaald oantal tekens fan 'e rjochterkant. Wy hawwe de posysje fûn fan de lêste foarút-slash yn 8ste De lingte fan sel C5 is 17 , en 17 – 8 = 9 . Dêrom hawwe wy de 9 tekens fan 'e rjochterkant as de útfier.
- Druk as twadde op ENTER .
Wy hawwe de strings krigen nei delêste forward-slash .
- Brûk as lêste de Fill Handle om AutoFill de formules yn sel berik D6:D10 .
Sa hawwe wy de strings ekstrahearre nei it lêste foarkommen fan in karakter .
Lês mear: Hoe kinne jo fine as sel spesifike tekst yn Excel befettet
6. Oanpaste VBA-formule yn Excel om lêste optreden fan karakter yn tekenrige te finen
Foar de lêste metoade sille wy in oanpaste VBA -formule brûke om ekstrahearje de string nei de foarút slash .
Stappen:
- Druk earst op ALT + F11 om it VBA finster op te heljen.
Jo kinne Visual Basic kieze út de 1>Utwikkelders ljepper om dat ek te dwaan.
- Twadde, Fan Ynfoegje >>> selektearje Module sa't wy dien hawwe yn metoade 4 .
- Tredde, kopiearje en plakke de folgjende koade.
3769
Wy meitsje in oanpaste funksje mei de namme " LastString ". Dizze funksje jout de begjinposysje fan de strings nei it lêste foarkommen fan in teken.
- Typ dan de formule fan ûnderen nei sel D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)
Formule-ûnderdieling
- LastString(C5,"/")
- Utfier: 9 .
- Hjir krije wy de startposysje fan de string fuort nei de lêste foarút slash .
- LEN(C5)
- Utfier: 17 .
- LEN(C5)-LastString(C5,"/")+1
- Utfier: 9.
- Wy moatte 1 tafoegje, oars krije wy wearde mei de " M ".
- Us formule sil ferminderje nei
- 1>RJOCHTS(C5,9)
- Utfier: “ Marketing “.
- Druk op ENTER .
Wy krije de wearde " Marketing ".
- Uteinlik, AutoFill de formule oant sel C10 .
Wy hawwe ús berikt doelpunt. De formule wurket lykas bedoeld.
Lês mear: Hoe kinne jo lêste rige fine mei in spesifike wearde yn Excel (6 metoaden)
Oefeningsdiel
Wy hawwe njonken elke metoade praktykdataset taheakke yn it Excel -bestân. Jo kinne oefenje om better te wurden yn dizze taak.
Konklúzje
Wy hawwe jo 6 metoaden sjen litten yn Excel om it lêste foarkommen te finen fan in teken yn in string . As jo problemen hawwe oangeande dizze, fiel jo frij om hjirûnder kommentaar te jaan. Tank foar it lêzen, en bliuw útblinke!