Excel Find Last Occurrence of Character in String (6 Methods)

  • Ibahagi Ito
Hugh West

Sa artikulong ito, hahanapin namin ang ang huling paglitaw ng isang character sa isang string sa Excel . Ang aming sample na dataset ay may tatlong column : Pangalan ng Kumpanya , Employee Code , at Huling Pangyayari . Employee Code naglalaman ng pangalan, edad, at departamento ng isang empleyado.

Para sa unang 4 na pamamaraan, makikita natin ang posisyon ng forward-slash “ / ” in para sa lahat ng value sa Employee Code . Pagkatapos nito, maglalabas tayo ng mga string pagkatapos ng huling slash sa huling 2 na pamamaraan.

I-download ang Practice Workbook

Hanapin ang Huling Paglitaw ng Character sa String.xlsm

6 na Paraan sa Excel para Makahanap ng Huling Paglitaw ng Character sa String

1. Paggamit ng FIND & SUBSTITUTE Functions in Excel to Find Position of Last Occurrence of Character in String

Para sa unang paraan, gagamitin namin ang FIND function, ang SUBSTITUTE function , ang CHAR function, at ang LEN function para hanapin ang huling na posisyon ng slash sa aming string .

Mga Hakbang:

  • Una, i-type ang sumusunod na formula sa cell D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))

Paghahati-hati ng Formula

Ang aming pangunahing function ay HANAPIN . Hahanapin namin ang halaga ng CHAR(134) sa aming string.

  • CHAR(134)
    • Output:† .
    • Kailangan nating magtakda ng character na wala sa ating mga string. Pinili namin ito dahil bihira ito sa mga string. Kung kahit papaano ay mayroon ka nito sa iyong mga string, baguhin ito sa anumang bagay na wala sa iyong mga string (halimbawa " @ ", " ~ ", atbp.).
  • PALIT(C5,”/”,CHAR(134),(LEN(C5)-LEN(PALIT(C5,”/”,””)))/LEN(“/ ”)) -> nagiging,
  • SUBSTITUTE(C5,”/”,”†”,(17-LEN(“Mike32Marketing”))/1) -> nagiging,
  • SUBSTITUTE(“Mike/32/Marketing”,”/”,”†”,(17-15)/1)
    • Output : “Mike/32†Marketing” .
  • Ngayon ang aming buong formula ay naging,
  • =FIND(“†”,”Mike/32 †Marketing”)
    • Output: 8 .
  • Pangalawa, pindutin ang ENTER .

Makikita natin ang value na 8 . Kung manu-mano kaming magbibilang mula sa kaliwang bahagi, makukuha namin ang 8 bilang posisyon para sa slash sa cell C5 .

  • Panghuli, gamitin ang Fill Handle para kopyahin ang formula pababa.

Kaya, nakuha namin ang posisyon ng huling paglitaw ng isang character sa aming string .

Magbasa Nang Higit Pa: Excel Function: FIND vs SEARCH (Isang Comparative Analysis)

2. Paglalapat ng MATCH & Mga Pag-andar ng SEQUENCE sa Excel upang Maghanap ng Posisyon ng Huling Pagganap ng Character sa String

Para sa pangalawang paraan, gagamitin natin ang function na MATCH , ang function na SEQUENCE , ang MID function, at ang function na LEN upang mahanap ang posisyon ng huling paglitaw ng isang character sa string . Tandaan na available lang ang SEQUENCE function sa Excel 365 o Excel 2021 .

Mga Hakbang:

  • Una, i-type ang sumusunod na formula sa cell D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))

Paghahati-hati ng Formula

  • SEQUENCE(LEN(C5))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • Ang <1 Ang>LEN function ay sumusukat sa haba ng cell C5 . Ang function na SEQUENCE ay nagbabalik ng listahan ng mga numero nang sunud-sunod sa isang array.
  • MATCH(2,1/(MID(C5,{1;2; 3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
    • Output: 8 .
    • Ang Match function ay ang paghahanap ng huling 1 na value sa aming formula. Ito ay nasa ika-8 posisyon.

  • Pangalawa, pindutin ang ENTER .

Gamit ang formula, nakita namin ang posisyon ng forward-slash bilang 8 sa aming string .

  • Sa wakas, gamitin ang Fill Handle para AutoFill ang formula.

Sa konklusyon, naglapat kami ng isa pang formula upang mahanap ang huling posisyon ng isang character sa mga string .

Magbasa Nang Higit Pa: Paano Maghanap ng Character sa String Excel (8 Madaling Paraan)

3. Paggamit ng Array Formula sa Excel upang Maghanap ng Posisyon ngHuling Pagganap ng Character sa String

Gagamitin natin ang ROW function, ang INDEX function, ang MATCH , ang MID , at ang LEN ay gumagana upang lumikha ng array formula upang mahanap ang posisyon ng huling paglitaw ng isang character sa isang string .

Mga Hakbang:

  • Una, i-type ang formula mula sa ibaba hanggang cell D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))

Paghahati-hati ng Formula

Ang formula ay katulad ng pamamaraan 2 . Ginagamit namin ang ROW at ang INDEX function para kopyahin ang output bilang SEQUENCE function.

  • 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} .
    • Makikita nating pareho ang output. Ang INDEX function ay nagbabalik ng halaga ng isang hanay. Ang function na LEN ay binibilang ang haba ng string mula sa cell C5 . Panghuli, ang ROW function ay ibinabalik ang cell value mula 1 hanggang cell haba ng C5 . Ang natitirang bahagi ng formula ay kapareho ng paraan 2 .

  • Pangalawa, pindutin ang ENTER .

Mayroon kaming 8 bilang value gaya ng inaasahan. Ang aming formula ay gumana nang walang kamali-mali.

Tandaan: Ginagamit namin ang bersyon ng Excel 365 . Kung gumagamit ka ng mas lumang bersyon, kakailanganin mong pindutin ang CTRL + SHIFT + ENTER .

  • Sa wakas, doblehin -i-click o i-drag pababa ang Fill Handle .

Ganito dapat ang hitsura ng huling hakbang.

Magbasa Nang Higit Pa: Hanapin ang Unang Pangyayari ng Value sa isang Saklaw sa Excel (3 Paraan)

Mga Katulad na Pagbasa

  • Paano Maghanap ng * Character Hindi bilang Wildcard sa Excel (2 Paraan)
  • Paano Gamitin ang Formula ng Excel para Maghanap ng Huling Row Number gamit ang Data (2 Ways)
  • Hanapin ang Huling Halaga sa Column na Higit sa Zero sa Excel (2 Easy Formula)
  • Paano Maghanap ng Mga Link sa Excel
  • Hanapin ang Mga External na Link sa Excel (6 Mabilis na Paraan)

4. Tinukoy ng User na Function para Maghanap ng Posisyon ng Huling Pagganap ng Character sa String

Sa pamamaraang ito, gagamit kami ng custom na VBA na formula upang mahanap ang huling posisyon ng isang character sa isang string . Nang walang karagdagang abala, lumipat tayo sa aksyon.

Mga Hakbang:

  • Una, pindutin ang ALT + F11 upang ilabas ang VBA window.

Maaari mong piliin ang Visual Basic mula sa tab na Developer para gawin ito masyadong.

  • Pangalawa, Mula sa Insert >>> piliin ang Module .

  • Pangatlo, kopyahin at i-paste ang sumusunod na code .
1168

Gumawa kami ng custom na function na tinatawag na “ LOccurence ”. Ang InStrRev ay isang VBA function na nagbabalik ng end position ng isang character . Ilalagay namin ang aming cell value bilang x1 at ang partikular na character (sa aming kaso, ito ay isang forward-slash ) bilang x2 sa custom na function na ito.

  • Pagkatapos nito, isara ang VBA window at pumunta sa “ Position VBA sheet .
  • I-type ang sumusunod na formula sa cell D5 .
=LOccurence(C5,"/")

Sa custom na function na ito, sinasabi namin ito upang mahanap ang posisyon ng huling paglitaw ng forward-slash sa string mula sa cell C5 .

  • Pagkatapos, pindutin ang ENTER .

Mayroon kaming 8 gaya ng inaasahan bilang huling naganap ang posisyon ng forward-slash .

  • Sa wakas, maaari nating i-drag ang formula pababa gamit ang Fill Handle .

Kaya, naglapat kami ng isa pang formula para sa paghahanap ng posisyon ng huling paglitaw ng isang character .

Magbasa Nang Higit Pa: Paano  Hanapin ang Character sa String mula sa Kanan sa Excel (4 na Madaling Paraan)

5. Paggamit Pinagsamang Mga Function sa Excel upang Hanapin ang Huling Pangyayari ng C haracter sa String

Hanggang dito, nakita namin kung paano hanapin ang huling naganap na posisyon ng isang character. Ngayon ay gagamitin natin ang SEARCH function, ang RIGHT function, ang SUBSTITUTE , ang LEN , ang CHAR ay gumagana upang ipakita ang string pagkatapos ng huling paglitaw ng isang character. Sa mas simpleng termino, ilalabas namin ang departamento ng mga empleyado mula sa Employee Codecolumn .

Mga Hakbang:

  • Una, i-type ang sumusunod na formula sa cell D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))

Pagkakabahagi ng Formula

  • PALIT(C5,”/”,CHAR(134),LEN(C5)-LEN(PALIT(C5,”/”,””))) -> nagiging,
  • SUBSTITUTE(C5,”/”,CHAR(134),2)
    • Output: “Mike/32†Marketing” .
    • Pinapalitan ng function na SUBSTITUTE ang isang value ng isa pang value. Sa aming kaso, pinapalitan nito ang bawat forward-slash ng sa unang bahagi at ng blangko sa huling bahagi. Pagkatapos ay sinusukat ng function na LEN ang haba nito. Iyon ay kung paano namin nakuha ang aming halaga.
  • SEARCH(“†”,”Mike/32†Marketing”)
    • Output: 8 .
    • Ang SEARCH function ay ang paghahanap ng espesyal na character sa aming nakaraang output. Dahil dito, nakita ito sa ika-8
  • Sa wakas, bumababa ang aming formula sa, RIGHT(C5,9)
    • Output: “Marketing” .
    • Ibinabalik ng function na RIGHT ang halaga ng cell hanggang sa isang tiyak na bilang ng mga character mula sa kanang bahagi. Natagpuan namin ang posisyon ng huling forward-slash sa ika-8 Ang haba ng cell C5 ay 17 , at 17 8 = 9 . Kaya, mayroon kaming 9 character mula sa kanang bahagi bilang output.

  • Pangalawa, pindutin ang ENTER .

Nakuha namin ang mga string pagkatapos nghuling forward-slash .

  • Sa wakas, gamitin ang Fill Handle para AutoFill ang mga formula sa cell hanay D6:D10 .

Kaya, na-extract namin ang mga string pagkatapos ng huling paglitaw ng isang character .

Magbasa Nang Higit Pa: Paano  Hanapin Kung Naglalaman ang Cell ng Tukoy na Teksto sa Excel

6. Custom na VBA Formula sa Excel para Maghanap ng Huling Pagganap ng Character sa String

Para sa huling paraan, gagamit kami ng custom na VBA na formula upang i-extract ang string pagkatapos ng forward slash .

Mga Hakbang:

  • Una, pindutin ang ALT + F11 upang ilabas ang VBA window.

Maaari mong piliin ang Visual Basic mula sa Developer tab na gawin din ito.

  • Pangalawa, Mula sa Ipasok >>> piliin ang Module tulad ng ginawa namin sa paraang 4 .
  • Pangatlo, kopya at i-paste ang sumusunod na code.
7641

Gumagawa kami ng custom na function na tinatawag na “ LastString ”. Ibabalik ng function na ito ang panimulang posisyon ng mga string pagkatapos ng huling paglitaw ng isang character.

  • Pagkatapos nito, i-type ang formula mula sa ibaba hanggang cell D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)

Formula Breakdown

  • LastString(C5,”/”)
    • Output: 9 .
    • Narito, nakukuha natin ang panimulang posisyon ng string kaagad pagkatapos ng huling forward slash .
  • LEN(C5)
    • Output: 17 .
  • LEN(C5)-LastString(C5,”/”)+1
    • Output: 9.
    • Kailangan nating magdagdag ng 1 kung hindi, makakakuha tayo ng halaga gamit ang “ M ”.
  • Mababawasan ang ating formula sa RIGHT(C5,9)
    • Output: Marketing “.

  • Pindutin ang ENTER .

Makukuha natin ang value na “ Marketing ”.

  • Sa wakas, AutoFill ang formula hanggang cell C10 .

Nakamit namin ang aming layunin. Gumagana ang formula ayon sa nilalayon.

Magbasa Nang Higit Pa: Paano Maghanap ng Huling Hilera na may Tukoy na Halaga sa Excel (6 na Paraan)

Seksyon ng Pagsasanay

Nag-attach kami ng mga dataset ng pagsasanay sa tabi ng bawat paraan sa file na Excel . Maaari kang magsanay na maging mas mahusay sa gawaing ito.

Konklusyon

Ipinakita namin sa iyo ang 6 na mga pamamaraan sa Excel upang mahanap ang huling paglitaw ng isang character sa isang string . Kung mayroon kang anumang mga problema tungkol sa mga ito, huwag mag-atubiling magkomento sa ibaba. Salamat sa pagbabasa, at patuloy na maging mahusay!

Si Hugh West ay isang napakaraming Excel trainer at analyst na may higit sa 10 taong karanasan sa industriya. May hawak siyang Bachelor's degree sa Accounting and Finance at Master's degree sa Business Administration. Si Hugh ay may hilig sa pagtuturo at nakabuo ng kakaibang diskarte sa pagtuturo na madaling sundin at maunawaan. Ang kanyang dalubhasang kaalaman sa Excel ay nakatulong sa libu-libong mag-aaral at propesyonal sa buong mundo na mapabuti ang kanilang mga kasanayan at maging mahusay sa kanilang mga karera. Sa pamamagitan ng kanyang blog, ibinahagi ni Hugh ang kanyang kaalaman sa mundo, nag-aalok ng mga libreng Excel tutorial at online na pagsasanay upang matulungan ang mga indibidwal at negosyo na maabot ang kanilang buong potensyal.