Excel Leia viimane märk stringis (6 meetodit)

  • Jaga Seda
Hugh West

Selles artiklis käsitleme leida . viimane esinemine a märk aastal string aadressil Excel Meie näidisandmestik on kolm veergu : Ettevõtte nimi , Töötaja kood ja Viimane esinemine . Töötaja kood sisaldab töötaja nime, vanust ja osakonda.

Esimese 4 meetodeid, leiame positsiooni ettepoole kaldkriipsu " / " sisse kõigi väärtuste jaoks Töötaja kood Pärast seda anname väljundiks stringid pärast viimast kaldkriipsu viimases 2 meetodid.

Lae alla praktiline töövihik

Märgi viimase esinemise leidmine String.xlsm-s.xlsm

6 viisi Excelis, kuidas leida stringis oleva märgi viimane esinemine

1. FIND & SUBSTITUTE funktsioonide kasutamine Excelis, et leida stringis oleva märgi viimase esinemise positsioon

Esimese meetodi puhul kasutame me meetodit FIND funktsioon, et ASENDAJA funktsioon, et CHAR funktsioon ja LEN funktsioonile leida . viimane positsiooni kaldkriipsu meie string .

Sammud:

  • Kõigepealt sisestage järgmine valem lahter D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))))

Valemi jaotus

Meie peamine ülesanne on FIND Me leiame selle CHAR(134) väärtus meie stringis.

  • CHAR(134)
    • Väljund: † .
    • Meil on vaja määrata märk, mida meie stringides ei ole. Oleme valinud selle, sest see on stringides haruldane. Kui see on kuidagi teie stringides olemas, siis muutke see millekski, mida teie stringides ei ole (näiteks " @ ", " ~ " jne).
  • SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/"))) -> muutub,
  • SUBSTITUTE(C5,"/","†",(17-LEN("Mike32Marketing"))/1) -> muutub,
  • SUBSTITUTE("Mike/32/Marketing","/","†",(17-15)/1)
    • Väljund: "Mike/32†Marketing" .
  • Nüüd saab meie täielik valem,
  • =FIND("†", "Mike/32†Marketing")
    • Väljund: 8 .
  • Teiseks, vajutage SISESTA .

Me näeme väärtust 8 Kui me loeme käsitsi vasakult poolt, saame järgmise tulemuse 8 kui positsiooni jaoks slash aadressil lahter C5 .

  • Lõpuks kasutage Täitmise käepide valemit maha kopeerida.

Seega on meil positsiooni kohta viimane esinemine a märk meie string .

Loe edasi: Exceli funktsioon: FIND vs SEARCH (võrdlev analüüs)

2. MATCH & SEQUENCE funktsioonide rakendamine Excelis, et leida tähise viimase esinemise positsioon stringis

Teise meetodi puhul kasutame me meetodit MATCH funktsioon, et SEQUENCE funktsioon, et MID funktsioon ja LEN funktsioon, et leida asukoht viimane esinemine a märk aastal string . Pea meeles SEQUENCE funktsioon on saadaval ainult Excel 365 või Excel 2021 .

Sammud:

  • Kõigepealt sisestage järgmine valem lahter D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))

Valemi jaotus

  • SEQUENCE(LEN(C5))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • The LEN funktsioon mõõdab pikkust lahter C5 . SEQUENCE funktsioon tagastab numbrite nimekirja järjestikku massiivi.
  • MATCH(2,1/(MID(C5,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
    • Väljund: 8 .
    • The Match funktsioon on leida viimane 1 väärtus meie valemis. See on 8. positsioon.

  • Teiseks, vajutage SISESTA .

Kasutades valemit, oleme leidnud positsiooni forward-slash nagu 8 meie string .

  • Lõpuks kasutage Täitmise käepide aadressile AutoFill valemiga.

Kokkuvõtteks oleme rakendanud veel ühe valemi, et leida viimane positsioon a märk aastal stringid .

Loe edasi: Kuidas leida tähemärki String Excelis (8 lihtsat viisi)

3. Exceli massiivi valemi kasutamine, et leida tähise viimase esinemise positsioon stringis

Me kasutame ROW funktsioon, et INDEX funktsioon, et MATCH ... MID ja LEN funktsioone, et luua massiivi valem, et leida positsioon viimane esinemine a märk aastal string .

Sammud:

  • Kõigepealt sisestage alljärgnev valem, et lahter D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))

Valemi jaotus

Valem on sarnane meetodiga 2 Me kasutame ROW ja INDEX funktsioon, et reprodutseerida väljundit kui SEQUENCE funktsioon.

  • ROW($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} .
    • Näeme, et väljund on sama. INDEX funktsioon tagastab vahemiku väärtuse. LEN funktsioon loeb stringi pikkust alates lahter C5 . Lõpuks on ROW funktsioon tagastab rakk väärtused alates 1 aadressile rakk pikkus C5 Ülejäänud valem on sama, mis meetodil 2 .

  • Teiseks, vajutage SISESTA .

Meil on 8 nagu oodatud väärtus. Meie valem töötas laitmatult.

Märkus: Me kasutame Excel 365 Kui te kasutate vanemat versiooni, siis peate vajutama CTRL + SHIFT + SISESTA .

  • Lõpuks tehke topeltklõps või lohistage allapoole Täitmise käepide .

Selline peaks olema viimane samm.

Loe edasi: Väärtuse esimese esinemise leidmine Exceli vahemikus (3 võimalust)

Sarnased lugemised

  • Kuidas leida * märk, mis ei ole Excelis Wildcard (2 meetodit)
  • Kuidas kasutada Exceli valemit viimase rea numbri leidmiseks andmete abil (2 võimalust)
  • Leia viimane väärtus veerus, mis on suurem kui null Excelis (2 lihtsat valemit)
  • Kuidas leida linke Excelis
  • Välislinkide leidmine Excelis (6 kiiret meetodit)

4. Kasutaja määratud funktsioon, et leida tähise viimase esinemise positsioon stringis

Selles meetodis kasutame kohandatud VBA valemiga viimase positsiooni leidmiseks märk aastal string Ilma pikema jututa, hüppame tegevusse.

Sammud:

  • Esiteks vajutage ALT + F11 et tuua üles VBA aken.

Saate valida Visual Basic alates Arendaja vahekaardil ka seda teha.

  • Teiseks, alates Sisesta >>>> valige Moodul .

  • Kolmandaks, koopia ja paste järgmine kood.
 Function LOccurence(x1 As String, x2 As String) LOccurence = InStrRev(x1, x2) End Function 

Oleme loonud kohandatud funktsiooni nimega " LOccurence ". InStrRev on VBA funktsioon, mis tagastab lõpupositsiooni märk Me sisestame oma rakk väärtus kui x1 ja konkreetne märk (meie puhul on tegemist forward-slash ) kui x2 selles kohandatud funktsioonis.

  • Pärast seda sulgege VBA aknas ja minna " Positsioon VBA " leht .
  • Sisestage järgmine valem lahter D5 .
=LOccurence(C5,"/")

Selles kohandatud funktsioonis ütleme talle, et ta peab leidma asukoha viimane esinemine aadressilt forward-slash aastal string aadressilt lahter C5 .

  • Seejärel vajutage SISESTA .

Meil on 8 ootuspäraselt nagu viimati toimunud positsioon forward-slash .

  • Lõpuks saame valemi alla lohistada, kasutades selleks funktsiooni Täitmise käepide .

Seega oleme rakendanud veel ühte valemit positsiooni leidmiseks viimane esinemine a märk .

Loe edasi: Kuidas leida tähemärki stringis paremalt Excelis (4 lihtsat meetodit)

5. Kombineeritud funktsioonide kasutamine Excelis tähise viimase esinemise leidmiseks stringis

Siiani nägime, kuidas leida märgi viimast esinenud positsiooni. Nüüd kasutame funktsiooni OTSIMINE funktsioon, et RIGHT funktsioon, et ASENDAJA ... LEN ... CHAR funktsioone, et näidata stringi pärast viimast tähemärgi esinemist. Lihtsamalt öeldes väljastame töötajate osakonna alates Töötaja koodi veerg .

Sammud:

  • Kõigepealt sisestage järgmine valem lahter D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))

Valemi jaotus

  • SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/",""))) -> muutub,
  • SUBSTITUTE(C5,"/",CHAR(134),2)
    • Väljund: "Mike/32†Marketing" .
    • The ASENDAJA funktsioon asendab väärtuse teise väärtusega. Meie puhul asendab see iga forward-slash koos esimeses osas ja tühja osaga viimases osas. Siis on LEN funktsioon mõõdab selle pikkust. Nii oleme saanud oma väärtuse.
  • SEARCH("†", "Mike/32†Marketing")
    • Väljund: 8 .
    • The OTSIMINE funktsioon leiab erimärgi meie eelmises väljundis. Järelikult leidis ta selle ka dokumendis 8.
  • Lõpuks, meie valem taandub, RIGHT(C5,9)
    • Väljund: "Turundus" .
    • The RIGHT funktsioon tagastab lahtri väärtuse kuni teatud arvu tähemärkide kaugusele paremast servast. Oleme leidnud viimase positsiooni forward-slash aadressil 8. Pikkus lahter C5 on 17 ja 17 - 8 = 9 . Seega on meil 9 tähemärgid paremalt poolt väljundina.

  • Teiseks, vajutage SISESTA .

Me oleme saanud stringid pärast viimast forward-slash .

  • Lõpuks kasutage Täitmise käepide aadressile AutoFill valemite sisse rakk vahemik D6:D10 .

Seega, me oleme ekstraheerinud stringid pärast viimane esinemine a märk .

Loe edasi: Kuidas leida, kas lahter sisaldab Excelis konkreetset teksti

6. Kohandatud VBA-vormel Excelis, et leida stringis oleva märgi viimane esinemine

Viimase meetodi, Me kasutame kohandatud VBA valemiga ekstraheerida string pärast kaldkriips .

Sammud:

  • Esiteks vajutage ALT + F11 et tuua üles VBA aken.

Saate valida Visual Basic alates Arendaja vahekaardil ka seda teha.

  • Teiseks, alates Sisesta >>>> valige Moodul nagu me tegime meetodi 4 .
  • Kolmandaks, koopia ja paste järgmine kood.
 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 

Loome kohandatud funktsiooni nimega " LastString ". See funktsioon tagastab alguse positsiooni stringid pärast viimane esinemine a iseloomu.

  • Pärast seda sisestage alljärgnev valem, et lahter D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)

Valemi jaotus

  • LastString(C5,"/")
    • Väljund: 9 .
    • Siin me saame lähtepositsiooni string kohe pärast viimane kaldkriips .
  • LEN(C5)
    • Väljund: 17 .
  • LEN(C5)-LastString(C5,"/")+1
    • Väljund: 9.
    • Me peame lisama 1 muidu saame väärtuse koos " M ".
  • Meie valem väheneb järgmiselt RIGHT(C5,9)
    • Väljund: " Turundus ".

  • Press SISESTA .

Saame väärtuse " Turundus ".

  • Lõpuks, AutoFill valemiga kuni lahter C10 .

Me oleme oma eesmärgi saavutanud. Valem töötab nii, nagu ette nähtud.

Loe edasi: Kuidas leida Exceli viimase rea konkreetne väärtus (6 meetodit)

Praktika sektsioon

Oleme iga meetodi kõrvale lisanud praktilised andmekogumid aadressil Excel faili. Saate harjutada, et saada selle ülesande täitmisel paremaks.

Kokkuvõte

Me näitasime teile 6 meetodid Excel leida viimane esinemine a märk aastal string Kui teil on sellega seoses probleeme, siis kommenteerige allpool. Tänan lugemise eest ja jätkake kiitust!

Hugh West on suurte kogemustega Exceli koolitaja ja analüütik, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on raamatupidamise ja rahanduse bakalaureusekraad ning ärijuhtimise magistrikraad. Hugh’l on kirg õpetamise vastu ning ta on välja töötanud ainulaadse õpetamisviisi, mida on lihtne järgida ja mõista. Tema Exceli ekspertteadmised on aidanud tuhandetel õpilastel ja spetsialistidel üle maailma oma oskusi parandada ja karjääris silma paista. Oma ajaveebi kaudu jagab Hugh oma teadmisi maailmaga, pakkudes tasuta Exceli õpetusi ja veebikoolitusi, mis aitavad üksikisikutel ja ettevõtetel oma potentsiaali täielikult ära kasutada.