Raskite paskutinio simbolio atsiradimo vietą „Excel“

Šioje pamokoje sužinosite, kaip rasti paskutinio simbolio atsiradimo vietą eilutėje „Excel“.

Prieš kelias dienas kolega sugalvojo šią problemą.

Jis turėjo URL sąrašą, kaip parodyta žemiau, ir jam reikėjo išgauti visus simbolius po paskutinio pasvirojo brūkšnio („/“).

Pavyzdžiui, iš https://example.com/archive/Sausio mėn jis turėjo išgauti „sausį“.

Būtų buvę labai paprasta, jei URL būtų tik vienas pasviręs brūkšnys.

Jis turėjo didžiulį tūkstančių sąrašą įvairaus ilgio URL ir skirtingą pasvirųjų brūkšnių skaičių.

Tokiais atvejais gudrybė yra rasti paskutinio pasvirojo brūkšnio vietą URL.

Šioje pamokoje parodysiu du būdus, kaip tai padaryti:

  • Naudojant „Excel“ formulę
  • Naudojant pasirinktinę funkciją (sukurta naudojant VBA)

Paskutinės simbolio pozicijos gavimas naudojant „Excel“ formulę

Kai turite paskutinio įvykio vietą, galite tiesiog išgauti bet ką, esantį dešinėje, naudodami funkciją DEŠINĖ.

Čia yra formulė, kuri surastų paskutinę pasvirojo brūkšnio padėtį ir ištrauktų visą tekstą į dešinę nuo jo.

= DEŠINĖS (A2, LEN (A2) -FIND ("@", PAKAITA (A2, "/", "@", LEN (A2) -LEN (PAKEITIMAS (A2, "/", ""))), 1 )) 

Kaip veikia ši formulė?

Išskaidykime formulę ir paaiškinkime, kaip veikia kiekviena jos dalis.

  • PAKAITA (A2, “/”,“”) - Ši formulės dalis pakeičia pasvirąjį brūkšnį tuščia eilute. Pavyzdžiui, jei norite rasti bet kokios eilutės, išskyrus priekinį brūkšnį, atsiradimą, naudokite tai čia.
  • LEN (A2) -LEN (PAKAITA (A2, ”/”),“”)) - Ši dalis jums pasakys, kiek eilutėje yra pasvirųjų brūkšnių. Tai tiesiog atima eilutės ilgį be pasvirojo brūkšnio iš eilutės ilgio su brūkšniais.
  • PAKAITA (A2, “/”, ”@”, LEN (A2) -LEN (PAKAITA (A2, ”/”, ””))) - Ši formulės dalis paskutinį pasvirąjį brūkšnį pakeistų @. Idėja yra padaryti šį personažą unikalų. Galite naudoti bet kurį norimą simbolį. Tiesiog įsitikinkite, kad jis yra unikalus ir dar nėra rodomas eilutėje.
  • RASTI („@“, PAKAITA (A2, “/“, „@“, LEN (A2) -LEN (PAKAITA (A2, “/“, ““))), 1) - Ši formulės dalis suteiks jums paskutinio pasvirojo brūkšnio poziciją.
  • LEN (A2) -FIND („@“, PAKAITA (A2, “/“, „@“, LEN (A2) -LEN (PAKEITIMAS (A2, “/“, „“))), 1) - Ši formulės dalis mums pasakytų, kiek simbolių yra po paskutinio pasvirojo brūkšnio.
  • = DEŠINĖS (A2, LEN (A2) -FIND („@“, PAKAITA (A2, “/“, „@“, LEN (A2) -LEN (PAKEITIMAS (A2, “/“, „“)))), 1 )) - Dabar tai mums tiesiog suteiktų eilutę po paskutinio pasvirojo brūkšnio.

Paskutinės simbolio pozicijos gavimas naudojant pasirinktinę funkciją (VBA)

Nors aukščiau pateikta formulė yra puiki ir veikia kaip žavesys, ji yra šiek tiek sudėtinga.

Jei jums patogu naudotis VBA, galite naudoti pasirinktinę funkciją (dar vadinamą vartotojo apibrėžta funkcija), sukurtą naudojant VBA. Tai gali supaprastinti formulę ir sutaupyti laiko, jei tai turite daryti dažnai.

Naudokime tą patį URL duomenų rinkinį (kaip parodyta žemiau):

Šiuo atveju sukūriau funkciją, pavadintą „LastPosition“, kuri suranda paskutinę nurodyto simbolio vietą (šiuo atveju tai yra pasviro brūkšnio).

Čia yra formulė, kuri tai padarys:

= DEŠINĖ (A2, LEN (A2)-Paskutinė padėtis (A2, "/")+1)

Matote, kad tai daug paprasčiau, nei mes naudojome aukščiau.

Štai kaip tai veikia:

  • „LastPosition“ - tai mūsų pasirinktinė funkcija - grąžina į priekį nukreipto brūkšnio padėtį. Ši funkcija turi du argumentus - langelio nuorodą, turinčią URL, ir simbolį, kurio poziciją turime rasti.
  • Funkcija RIGHT suteikia mums visus simbolius po pasvirojo brūkšnio.

Čia yra VBA kodas, sukūręs šią funkciją:

Funkcija LastPosition (rCell As Range, rChar As String) 'Ši funkcija suteikia paskutinę nurodyto simbolio poziciją' Šį kodą sukūrė Sumit Bansal (https://trumpexcel.com) Dim rLen As Integer rLen = Len (rCell) Jei = i

Kad ši funkcija veiktų, turite ją įdėti į VB redaktorių. Baigę šią funkciją galite naudoti kaip ir bet kurią kitą įprastą „Excel“ funkciją.

Toliau pateikiami žingsniai, kaip nukopijuoti ir įklijuoti šį kodą VB vidinėje pusėje:

Štai šie kodo įdėjimo į VB redaktorių veiksmai:

  1. Eikite į skirtuką Kūrėjas.
  2. Spustelėkite „Visual Basic“ parinktį. Tai atidarys VB redaktorių užpakalinėje sistemoje.
  3. VB redaktoriaus „Project Explorer“ srityje dešiniuoju pelės mygtuku spustelėkite bet kurį darbaknygės objektą, į kurį norite įterpti kodą. Jei nematote „Project Explorer“, eikite į skirtuką „View“ ir spustelėkite „Project Explorer“.
  4. Eikite į „Įterpti“ ir spustelėkite „Modulis“. Tai įterps jūsų darbo knygos modulio objektą.
  5. Nukopijuokite ir įklijuokite kodą modulio lange.

Dabar formulė būtų prieinama visuose darbaknygės darbalapiuose.

Atminkite, kad turite išsaugoti darbaknygę kaip .XLSM formatą, nes joje yra makrokomanda. Be to, jei norite, kad ši formulė būtų prieinama visose naudojamose darbaknygėse, galite ją išsaugoti asmeninėje makrokomandos darbaknygėje arba sukurti iš jos priedą.

Jums taip pat gali patikti šios „Excel“ pamokos:

  • Kaip gauti „Word“ skaičių „Excel“.
  • Kaip naudoti VLOOKUP su keliais kriterijais.
  • „Excel“ sąraše raskite paskutinį paieškos įvykį.
  • Išskleiskite eilutę „Excel“.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave