Sisällysluettelo
Tässä artikkelissa me aiomme löytää ... viimeinen esiintyminen a merkki in a merkkijono osoitteessa Excel Näytetietokannassamme on kolme saraketta : Yrityksen nimi , Työntekijän koodi ja Viimeisin tapahtuma . Työntekijän koodi sisältää työntekijän nimen, iän ja osaston.
Ensimmäisen 4 metodien avulla löydämme eteen-viivaviivan " / " sisään kaikkien arvojen kohdalla Työntekijän koodi Sen jälkeen tulostamme - jouset viimeisen vinoviivan jälkeen viimeisessä 2 menetelmät.
Lataa harjoituskirja
Etsi merkin viimeinen esiintyminen String.xlsm:ssä.6 tapaa Excelissä löytää merkkijonon merkin viimeinen esiintyminen merkkijonossa
1. Käyttämällä FIND & SUBSTITUTE-funktioita Excelissä merkkijonon merkin viimeisen esiintymän sijainnin löytämiseksi
Ensimmäisessä menetelmässä käytämme komentoa FIND toiminto, toiminto SIJAINEN toiminto, toiminto CHAR toiminto, ja LEN toiminto löytää ... viimeinen vinoviivan sijainti meidän merkkijono .
Vaiheet:
- Kirjoita ensin seuraava kaava solu D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/"))))))
Kaavan erittely
Tärkein tehtävämme on FIND . Me löydämme CHAR(134) arvo merkkijonossamme.
- CHAR(134)
- Tuotos: † .
- Meidän on asetettava merkki, jota ei ole merkkijonoissamme. Olemme valinneet sen, koska se on harvinainen merkkijonoissa. Jos jostain syystä sinulla on tämä merkkijonoissasi, vaihda se johonkin, jota ei ole merkkijonoissasi (esimerkiksi " @ ", " ~ " jne.).
- SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))) -> tulee,
- SUBSTITUTE(C5,"/","†",(17-LEN("Mike32Marketing"))/1) -> tulee,
- SUBSTITUTE("Mike/32/Marketing","/","†",(17-15)/1)
- Tuotos: "Mike/32†Marketing" .
- Nyt koko kaavamme on,
- =FIND("†", "Mike/32†Marketing")
- Lähtö: 8 .
- Toiseksi, paina ENTER .
Näemme arvon 8 Jos laskemme manuaalisesti vasemmalta puolelta, saamme tulokseksi 8 asemaksi slash osoitteessa solu C5 .
- Käytä lopuksi Täyttökahva kopioidaksesi kaavan alas.
Näin ollen meillä on sijainti, jossa viimeinen esiintyminen a merkki meidän merkkijono .
Lue lisää: Excel-funktio: FIND vs SEARCH (vertaileva analyysi)
2. MATCH & SEQUENCE-funktioiden soveltaminen Excelissä merkkijonon viimeisen merkin esiintymispaikan löytämiseksi
Toisessa menetelmässä käytämme menetelmää MATCH toiminto, toiminto SEQUENCE toiminto, toiminto MID toiminto, ja LEN funktio löytää sijainti viimeinen esiintyminen a merkki vuonna merkkijono . Muista SEQUENCE toiminto on käytettävissä vain Excel 365 tai Excel 2021 .
Vaiheet:
- Kirjoita ensin seuraava kaava solu D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/")))
Kaavan erittely
- SEQUENCE(LEN(C5))
- Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
- The LEN toiminto mittaa pituutta solu C5 . SEQUENCE funktio palauttaa luettelon numeroista, jotka on järjestetty peräkkäin matriisiin.
- MATCH(2,1/(MID(C5,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
- Lähtö: 8 .
- The Ottelu toiminto löytää viimeisen 1 arvo kaavassamme. Se on 8. asema.
- Toiseksi, paina ENTER .
Kaavan avulla olemme löytäneet aseman, jossa on forward-slash kuten 8 meidän merkkijono .
- Käytä lopuksi Täyttökahva osoitteeseen AutoFill kaava.
Lopuksi, olemme soveltaneet toista kaavaa löytääksemme viimeinen asema a merkki vuonna jouset .
Lue lisää: Miten löytää merkki merkkijonon Excelissä (8 helppoa tapaa)
3. Excelissä olevan Array-kaavan hyödyntäminen merkkijonon viimeisen merkin sijainnin löytämiseksi merkkijonossa
Käytämme ROW toiminto, toiminto INDEX toiminto, toiminto MATCH ... MID ja LEN funktioita luoda array kaava löytää sijainti of the viimeinen esiintyminen a merkki in a merkkijono .
Vaiheet:
- Kirjoita ensin alla oleva kaava seuraavasti solu D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5)))),1)="/")))
Kaavan erittely
Kaava on samanlainen kuin menetelmä 2 Käytämme ROW ja INDEX funktio kopioi tulosteen kuin SEQUENCE toiminto.
- 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äemme, että tuloste on sama. INDEX funktio palauttaa alueen arvon. LEN funktio laskee merkkijonon pituuden alkaen arvosta solu C5 . Lopuksi ROW funktio palauttaa solu arvot 1 osoitteeseen solu pituus C5 Loppuosa kaavasta on sama kuin menetelmässä 2 .
- Toiseksi, paina ENTER .
Meillä on 8 Kaavamme toimi moitteettomasti.
Huom: Käytämme Excel 365 Jos käytät vanhempaa versiota, sinun on painettava painiketta CTRL + SHIFT + ENTER .
- Kaksoisnapsauta tai vedä alaspäin Täyttökahva .
Viimeisen vaiheen pitäisi näyttää tältä.
Lue lisää: Etsi arvon ensimmäinen esiintyminen Excelin alueella (3 tapaa)
Samanlaisia lukemia
- Kuinka löytää * merkki ei ole jokerimerkki Excelissä (2 menetelmää)
- Kuinka käyttää Excel-kaavaa viimeisen rivin numeron löytämiseksi tietojen kanssa (2 tapoja)
- Etsi viimeinen arvo sarakkeessa, joka on suurempi kuin nolla Excelissä (2 helppoa kaavaa)
- Linkkien etsiminen Excelissä
- Etsi ulkoisia linkkejä Excelissä (6 nopeaa menetelmää)
4. Käyttäjän määrittelemä funktio merkkijonon viimeisen merkin sijainnin etsimiseen
Tässä menetelmässä käytämme mukautettua VBA kaava löytää viimeisen sijainnin merkki in a merkkijono Ilman sen enempää mainostamista hypätään toimintaan.
Vaiheet:
- Paina ensin ALT + F11 tuoda esiin VBA ikkuna.
Voit valita Visual Basic alkaen Kehittäjä välilehdellä tehdä niin myös.
- Toiseksi, alkaen Lisää Valitse... Moduuli .
- Kolmanneksi, kopioi ja liitä seuraava koodi.
Function LOccurence(x1 As String, x2 As String) LOccurence = InStrRev(x1, x2) End Function
Olemme luoneet mukautetun funktion nimeltä " LOccurence ". InStrRev on VBA funktio, joka palauttaa lopun sijainnin merkki Syötämme solu arvo kuin x1 ja tietty merkki (meidän tapauksessamme se on merkki nimeltä forward-slash ) kuin x2 tässä mukautetussa toiminnossa.
- Sulje sen jälkeen VBA ikkunassa ja siirry kohtaan " Asento VBA " arkki .
- Kirjoita seuraava kaava solu D5 .
=LOccurence(C5,"/")
Tässä mukautetussa funktiossa käskemme sen etsiä sijainnin viimeinen esiintyminen of forward-slash vuonna merkkijono osoitteesta solu C5 .
- Paina sitten ENTER .
Meillä on 8 odotetusti, koska tapahtui viimeksi sijainti forward-slash .
- Lopuksi voimme vetää kaavaa alaspäin käyttämällä näppäintä Täyttökahva .
Näin ollen olemme soveltaneet vielä toista kaavaa löytääksemme sijainnin. viimeinen esiintyminen a merkki .
Lue lisää: Kuinka löytää merkkijonon merkkijono oikealta Excelissä (4 helppoa menetelmää)
5. Excelin yhdistettyjen funktioiden käyttäminen merkkijonon merkin viimeisen esiintymän löytämiseen merkkijonossa
Tähän asti olemme nähneet, miten löydämme merkin viimeisen esiintymispaikan. Nyt käytämme komentokoodia HAKU toiminto, toiminto RIGHT toiminto, toiminto SIJAINEN ... LEN ... CHAR funktioita näyttääksemme merkkijonon merkin viimeisen esiintymän jälkeen. Yksinkertaisemmin sanottuna, tulostamme työntekijöiden osaston merkistä Työntekijän koodi -sarake .
Vaiheet:
- Kirjoita ensin seuraava kaava solu D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))
Kaavan erittely
- SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))) -> tulee,
- SUBSTITUTE(C5,"/",CHAR(134),2)
- Tuotos: "Mike/32†Marketing" .
- The SIJAINEN funktio korvaa arvon toisella arvolla. Meidän tapauksessamme se korvaa jokaisen forward-slash a:lla † ensimmäisessä osassa ja tyhjällä jälkimmäisessä osassa. Tämän jälkeen LEN funktio mittaa sen pituuden. Näin saamme arvomme.
- HAKU("†", "Mike/32†Marketing"))
- Lähtö: 8 .
- The HAKU funktio etsii erikoismerkkiä edellisestä tulosteestamme. Näin ollen se löysi sen kohdasta 8.
- Lopuksi kaavamme pelkistyy muotoon, RIGHT(C5,9)
- Tuotos: "Markkinointi" .
- The RIGHT funktio palauttaa solun arvon tiettyyn merkkimäärään asti oikealta puolelta. Olemme löytäneet viimeisen merkin sijainnin. forward-slash osoitteessa 8. Pituus solu C5 on 17 ja 17 - 8 = 9 Näin ollen meillä on 9 merkit oikealta puolelta tulosteena.
- Toiseksi, paina ENTER .
Olemme saaneet jouset viimeisen forward-slash .
- Käytä lopuksi Täyttökahva osoitteeseen AutoFill kaavat solu alue D6:D10 .
Olemme siis poimineet jouset sen jälkeen, kun viimeinen esiintyminen a merkki .
Lue lisää: Kuinka löytää, jos solu sisältää tietyn tekstin Excelissä
6. Mukautettu VBA-kaava Excelissä merkin viimeisen esiintymän löytämiseksi merkkijonossa
Viimeinen menetelmä, Käytämme mukautetun VBA kaava poimia merkkijono sen jälkeen, kun etuviiva .
Vaiheet:
- Paina ensin ALT + F11 tuoda esiin VBA ikkuna.
Voit valita Visual Basic alkaen Kehittäjä välilehdellä tehdä niin myös.
- Toiseksi, alkaen Lisää Valitse... Moduuli kuten teimme menetelmässä 4 .
- Kolmanneksi, kopioi ja liitä seuraava koodi.
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
Luomme mukautetun funktion nimeltä " LastString ". Tämä toiminto palauttaa alkupisteen sijainnin jouset sen jälkeen, kun viimeinen esiintyminen a luonne.
- Sen jälkeen kirjoita alla oleva kaava kohtaan solu D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1))
Kaavan erittely
- LastString(C5,"/")
- Lähtö: 9 .
- Tässä saamme lähtöasennon ja string välittömästi sen jälkeen, kun viimeinen kauttaviiva .
- LEN(C5)
- Lähtö: 17 .
- LEN(C5)-LastString(C5,"/")+1
- Lähtö: 9.
- Meidän on lisättävä 1 muuten saamme arvon " M ".
- Kaavamme lyhenee seuraavasti RIGHT(C5,9)
- Lähtö: " Markkinointi ".
- Paina ENTER .
Saamme arvon " Markkinointi ".
- Vihdoinkin, AutoFill kaava enintään solu C10 .
Olemme saavuttaneet tavoitteemme. Kaava toimii kuten on tarkoitettu.
Lue lisää: Miten löytää viimeinen rivi, jolla on tietty arvo Excelissä (6 menetelmää)
Harjoitusosio
Olemme liittäneet harjoitustietoaineistoja kunkin menetelmän ohella osoitteessa Excel Voit harjoitella parantamaan tätä tehtävää.
Päätelmä
Olemme näyttäneet sinulle 6 menetelmät Excel löytääksesi viimeinen esiintyminen a merkki in a merkkijono Jos sinulla on ongelmia näiden kanssa, voit kommentoida alla. Kiitos lukemisesta, ja jatkakaa erinomaisesti!