Sadržaj
U ovom članku ćemo pronaći posljednje pojavljivanje znaka u nizu u Excel . Naš uzorak skupa podataka ima tri stupca : Naziv kompanije , Šifra zaposlenika i Zadnje pojavljivanje . Šifra zaposlenika sadrži ime, godine i odjel zaposlenika.
Za prve 4 metode, naći ćemo poziciju kose crte naprijed “ / ” za sve vrijednosti u šifra zaposlenika . Nakon toga, izbacit ćemo strings nakon posljednje kose crte u posljednjim metodama 2 .
Preuzmite Vježnicu
Pronađite posljednje pojavljivanje znaka u String.xlsm
6 načina u Excelu za pronalaženje posljednjeg pojavljivanja znaka u String
1. Korištenje FIND & SUBSTITUTE funkcije u Excelu za pronalaženje pozicije posljednjeg pojavljivanja znaka u nizu
Za prvu metodu, koristit ćemo funkciju FIND , funkciju SUBSTITUTE , CHAR funkcija i LEN funkcija za pronalaženje zadnje pozicije kose crte u našem nizu .
Koraci:
- Prvo, upišite sljedeću formulu u ćeliju D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))
Raščlamba formule
Naša glavna funkcija je PRONAĐI . Pronaći ćemo vrijednost CHAR(134) u našem nizu.
- CHAR(134)
- Izlaz:† .
- Moramo postaviti karakter koji nije prisutan u našim stringovima. Odabrali smo ga jer je rijedak u žicama. Ako na neki način imate ovo u svojim stringovima, promijenite ga u bilo šta što nije u vašim stringovima (na primjer “ @ ”, “ ~ ”, itd.).
- ZAMJENA(C5,”/”,CHAR(134),(LEN(C5)-LEN(ZAMJENA(C5,”/”,””)))/LEN(“/ ”)) -> postaje,
- ZAMJENA(C5,”/”,”†”,(17-LEN(“Mike32Marketing”))/1) -> postaje,
- SUBSTITUTE(“Mike/32/Marketing”,”/”,”†”,(17-15)/1)
- Izlaz : “Mike/32†Marketing” .
- Sada naša puna formula postaje,
- =PRONAĐI(“†”,”Mike/32 †Marketing”)
- Izlaz: 8 .
- Drugo, pritisnite ENTER .
Vidjet ćemo vrijednost 8 . Ako ručno računamo s lijeve strane, dobićemo 8 kao poziciju za kosa crta u ćeliji C5 .
- Konačno, koristite Fill Handle da kopirate formulu prema dolje.
Dakle, imamo poziciju posljednjeg pojavljivanje znaka u našem nizu .
Pročitajte više: Excel funkcija: FIND vs SEARCH (Komparativna analiza)
2. Primjena MATCH & SEQUENCE funkcije u Excelu za pronalaženje pozicije posljednjeg pojavljivanja znaka u nizu
Za drugu metodu, koristit ćemo funkciju MATCH , funkciju SEQUENCE , MID funkciju i LEN funkciju za pronalaženje pozicije posljednjeg pojavljivanja znaka u nizu . Zapamtite da je funkcija SEQUENCE dostupna samo na Excel 365 ili Excel 2021 .
Koraci:
- Prvo, upišite sljedeću formulu u ćeliju D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))
Raščlamba formule
- SEQUENCE(LEN(C5))
- Izlaz: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
- LEN funkcija mjeri dužinu ćelije C5 . Funkcija SEQUENCE vraća listu brojeva sekvencijalno u nizu.
- MATCH(2,1/(MID(C5,{1;2; 3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
- Izlaz: 8 .
- Funkcija Match pronalazi posljednju vrijednost 1 u našoj formuli. Nalazi se na 8. poziciji.
- Drugo, pritisnite ENTER .
Koristeći formulu, pronašli smo poziciju slash kao 8 u našem nizu .
- Konačno, upotrijebite Fill Handle za AutoFill formulu.
U zaključku, primijenili smo drugu formulu da pronađemo zadnju poziciju znaka u stringovima .
Pročitajte više: Kako pronaći znak u string Excelu (8 jednostavnih načina)
3. Korištenje formule niza u Excelu za pronalaženje položajaPosljednja pojava znaka u nizu
Koristit ćemo funkciju ROW , funkciju INDEX , MATCH , MID i funkcije LEN za kreiranje formule niza za pronalaženje pozicije zadnjeg pojavljivanja znaka u nizu .
Koraci:
- Prvo, otkucajte formulu odozdo u ćeliju D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))
Raščlamba formule
Formula je slična metodi 2 . Koristimo ROW i INDEX funkciju da repliciramo izlaz kao funkciju SEQUENCE .
- ROW ($C$1:INDEX(C:C,LEN(C5)))
- Izlaz: {1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17} .
- Možemo vidjeti da je izlaz isti. Funkcija INDEX vraća vrijednost raspona. Funkcija LEN broji dužinu niza iz ćelije C5 . Konačno, funkcija ROW vraća vrijednosti cell od 1 do cell dužine C5 . Ostatak formule je isti kao metoda 2 .
- Drugo, pritisnite ENTER .
Imamo 8 kao vrijednost prema očekivanjima. Naša formula je radila besprijekorno.
Napomena: Koristimo verziju Excel 365 . Ako koristite stariju verziju, morat ćete pritisnuti CTRL + SHIFT + ENTER .
- Konačno, dvaput -kliknite ili povucite prema dolje Fill Handle .
Ovako bi trebao izgledati posljednji korak.
Pročitajte više: Pronađite prvo pojavljivanje vrijednosti u rasponu u Excelu (3 načina)
Slična očitanja
- Kako pronaći * znak nije kao džoker u Excelu (2 metode)
- Kako koristiti Excel formulu za pronalaženje posljednjeg broja retka sa Podaci (2 načina)
- Pronađi posljednju vrijednost u stupcu veću od nule u Excelu (2 jednostavne formule)
- Kako pronaći veze u Excelu
- Pronađi vanjske veze u Excelu (6 brzih metoda)
4. Korisnički definirana funkcija za pronalaženje pozicije posljednjeg pojavljivanja znaka u nizu
U ovoj metodi ćemo koristiti prilagođenu VBA formulu da pronađemo posljednju poziciju znaka u nizu . Bez daljeg odlaganja, skočimo u akciju.
Koraci:
- Prvo, pritisnite ALT + F11 za otvaranje VBA prozora.
Možete odabrati Visual Basic na kartici Developer da biste to učinili također.
- Drugo, od Insert >>> odaberite Module .
- Treće, kopirajte i zalijepite sljedeći kod .
9020
Napravili smo prilagođenu funkciju pod nazivom “ LOccurence ”. InStrRev je VBA funkcija koja vraća krajnju poziciju znaka . Našu ćeliju vrijednost ćemo unijeti kao x1 i specifični karakter (u našem slučaju, to je kosa crta ) kao x2 u ovoj prilagođenoj funkciji.
- Nakon toga zatvorite prozor VBA i idite na “ Pozicija VBA ” list .
- Upišite sljedeću formulu u ćeliju D5 .
=LOccurence(C5,"/")
U ovoj prilagođenoj funkciji, mi to govorimo da nađete poziciju zadnjeg pojavljivanja kosa crta naprijed u nizu iz ćelije C5 .
- Zatim pritisnite ENTER .
Imamo 8 kao što se očekivalo kao zadnji dogodila položaj kosa crta naprijed .
- Konačno, možemo povući formulu prema dolje koristeći Fill Handle .
Dakle, primijenili smo još jednu formulu za pronalaženje pozicije posljednjeg pojavljivanja znaka .
Pročitajte više: Kako pronaći znak u nizu s desna u Excelu (4 laka metoda)
5. Upotreba Kombinovane funkcije u Excelu za pronalaženje posljednjeg pojavljivanja C haracter u nizu
Do ovoga smo vidjeli kako pronaći posljednju poziciju znaka. Sada ćemo koristiti funkciju SEARCH , funkciju RIGHT , SUBSTITUTE , LEN , CHAR funkcije za prikaz stringa nakon posljednjeg pojavljivanja znaka. Jednostavnije rečeno, odeljenje zaposlenih ćemo izvesti iz Employee Codestupac .
Koraci:
- Prvo, upišite sljedeću formulu u ćeliju D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))
Raščlamba formule
- ZAMJENA(C5,”/”,CHAR(134),LEN(C5)-LEN(ZAMJENA(C5,”/”,””))) -> postaje,
- SUBSTITUTE(C5,”/”,CHAR(134),2)
- Izlaz: “Mike/32†Marketing” .
- Funkcija SUBSTITUTE zamjenjuje vrijednost drugom vrijednošću. U našem slučaju, to je zamjena svake kose crte sa † u prvom dijelu i praznom u drugom dijelu. Tada funkcija LEN mjeri dužinu toga. Tako smo dobili našu vrijednost.
- TRAŽI(“†”,”Mike/32†Marketing”)
- Izlaz: 8 .
- Funkcija SEARCH pronalazi specijalni znak u našem prethodnom izlazu. Posljedično, pronašao ga je u 8.
- Konačno, naša formula se svodi na, DESNO(C5,9)
- Izlaz: “Marketing” .
- Funkcija DESNO vraća vrijednost ćelije do određenog broja znakova s desne strane. Pronašli smo poziciju posljednje kosa crta naprijed u 8. Dužina ćelije C5 je 17 i 17 – 8 = 9 . Dakle, imamo 9 znakova s desne strane kao izlaz.
- Drugo, pritisnite ENTER .
Dobili smo nizove nakonzadnja kosa crta .
- Konačno, koristite ručicu za popunjavanje za automatsko popunjavanje formula u ćeliju raspon D6:D10 .
Dakle, izdvojili smo nizove nakon posljednjeg pojavljivanja od znaka .
Pročitajte više: Kako pronaći da li ćelija sadrži određeni tekst u Excelu
6. Prilagođena VBA formula u Excelu za pronalaženje posljednjeg pojavljivanja znaka u nizu
Za posljednju metodu, koristit ćemo prilagođenu VBA formulu za izdvoji string nakon kose crte .
Koraci:
- Prvo, pritisnite ALT + F11 da otvorite VBA prozor.
Možete odabrati Visual Basic iz kartica Developer da i to učinite.
- Drugo, Od Insert >>> odaberite Module kao što smo uradili u metodi 4 .
- Treće, kopirajte i zalijepite sljedeći kod.
2136
Kreiramo prilagođenu funkciju pod nazivom “ LastString ”. Ova funkcija će vratiti početnu poziciju strings nakon zadnjeg pojavljivanja znaka.
- Nakon toga upišite formulu odozdo u ćeliju D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)
Raščlamba formule
- Posljednji niz(C5,”/”)
- Izlaz: 9 .
- Ovdje dobivamo početnu poziciju string odmah nakon posljednja kosa crta .
- LEN(C5)
- Izlaz: 17 .
- LEN(C5)-LastString(C5,”/”)+1
- Izlaz: 9.
- Moramo dodati 1 inače ćemo dobiti vrijednost sa “ M ”.
- Naša formula će se smanjiti na DESNO(C5,9)
- Izlaz: “ Marketing “.
- Pritisnite ENTER .
Dobit ćemo vrijednost “ Marketing ”.
- Konačno, AutoFill formulu do ćelije C10 .
Postigli smo naše gol. Formula radi kako je predviđeno.
Pročitajte više: Kako pronaći posljednji redak sa određenom vrijednošću u Excelu (6 metoda)
Odjeljak za vježbanje
Priložili smo skupove podataka za vježbu pored svake metode u datoteci Excel . Možete vježbati da budete bolji u ovom zadatku.
Zaključak
Pokazali smo vam 6 metode u Excel da pronađe zadnje pojavljivanje znaka u nizu . Ako imate bilo kakvih problema u vezi s tim, slobodno komentirajte ispod. Hvala na čitanju i nastavite da budete izvrsni!