Atrodiet rakstzīmes pēdējās rašanās vietu programmā Excel

Šajā apmācībā jūs uzzināsit, kā programmā Excel atrast rakstzīmes pēdējās parādīšanās vietu.

Pirms dažām dienām kāds kolēģis nāca klajā ar šo problēmu.

Viņam bija URL saraksts, kā parādīts zemāk, un viņam vajadzēja izvilkt visas rakstzīmes pēc pēdējās slīpsvītras (“/”).

Piemēram, no vietnes https://example.com/archive/Janvāris viņam vajadzēja izvilkt “janvāri”.

Tas būtu bijis ļoti vienkārši, ja vietrāžos URL būtu tikai viena slīpsvītra.

Viņam bija milzīgs tūkstošu saraksts ar dažāda garuma vietrāžiem URL un dažāds skaits slīpsvītru uz priekšu.

Šādos gadījumos triks ir atrast vietrādi URL pēdējās slīpsvītras atrašanās vietu.

Šajā apmācībā es jums parādīšu divus veidus, kā to izdarīt:

  • Izmantojot Excel formulu
  • Izmantojot pielāgotu funkciju (izveidota, izmantojot VBA)

Rakstzīmes pēdējās pozīcijas iegūšana, izmantojot Excel formulu

Kad jums ir pēdējā notikuma vieta, varat vienkārši izvilkt jebko pa labi no tā, izmantojot funkciju RIGHT.

Šeit ir formula, kas atrastu slīpsvītras pēdējo pozīciju un izvilktu visu tekstu pa labi no tā.

= RIGHT (A2, LEN (A2) -FIND ("@", SUBSTITUTE (A2, "/", "@", LEN (A2) -LEN (SUBSTITUTE (A2, "/", ""))), 1 )) 

Kā šī formula darbojas?

Sadalīsim formulu un paskaidrosim, kā katra tās daļa darbojas.

  • AIZSTĀJIS (A2, ”/”,“”) - Šī formulas daļa aizvieto slīpsvītru ar tukšu virkni. Piemēram, ja vēlaties atrast virkni, kas nav slīpsvītra, izmantojiet to šeit.
  • LEN (A2) -LEN (AIZSTĀJIS (A2, ”/”,“”)) - Šī daļa jums pateiks, cik virknes uz priekšu ir slīpsvītras. Tas vienkārši atņem virknes garumu bez slīpsvītras no virknes garuma ar slīpsvītrām uz priekšu.
  • AIZSTĀJĪTĀJS (A2, ”/”, ”@”, LEN (A2) -LEN (AIZSTĀJĪTĀJA (A2, ”/”, ””))) - Šī formulas daļa aizstātu pēdējo slīpsvītru uz priekšu ar @. Ideja ir padarīt šo raksturu unikālu. Jūs varat izmantot jebkuru vēlamo rakstzīmi. Vienkārši pārliecinieties, ka tas ir unikāls un vēl neparādās virknē.
  • MEKLĒT (“@”, SUBSTITUTE (A2, ”/”, ”@”, LEN (A2) -LEN (SUBSTITUTE (A2, ”/”, ””))), 1) - Šī formulas daļa dotu jums pēdējās slīpsvītras pozīciju.
  • LEN (A2) -FIND (“@”, SUBSTITUTE (A2, ”/”, ”@”), LEN (A2) -LEN (SUBSTITUTE (A2, ”/”, ””))), 1) - Šī formulas daļa mums pastāstītu, cik rakstzīmju ir pēc pēdējās slīpsvītras uz priekšu.
  • = RIGHT (A2, LEN (A2) -FIND (“@”, SUBSTITUTE (A2, ”/”, ”@”, LEN (A2) -LEN (SUBSTITUTE (A2, ”/”, ””)))), 1 )) - Tagad tas mums vienkārši dotu virkni pēc pēdējās slīpsvītras uz priekšu.

Rakstzīmes pēdējās pozīcijas iegūšana, izmantojot pielāgoto funkciju (VBA)

Lai gan iepriekš minētā formula ir lieliska un darbojas kā šarms, tā ir nedaudz sarežģīta.

Ja jums patīk izmantot VBA, varat izmantot pielāgotu funkciju (sauktu arī par lietotāja definētu funkciju), kas izveidota, izmantojot VBA. Tas var vienkāršot formulu un ietaupīt laiku, ja tas jādara bieži.

Izmantosim to pašu URL datu kopu (kā parādīts zemāk):

Šajā gadījumā esmu izveidojis funkciju ar nosaukumu LastPosition, kas atrod norādītās rakstzīmes pēdējo pozīciju (kas šajā gadījumā ir slīpsvītra).

Šeit ir formula, kas to darīs:

= RIGHT (A2, LEN (A2) -LastPosition (A2, "/")+1)

Jūs varat redzēt, ka tas ir daudz vienkāršāk nekā tas, ko mēs izmantojām iepriekš.

Lūk, kā tas darbojas:

  • LastPosition - kas ir mūsu pielāgotā funkcija - atgriež slīpsvītras pozīciju. Šai funkcijai ir divi argumenti - šūnas atsauce ar URL un rakstzīme, kuras atrašanās vieta mums jāatrod.
  • Funkcija RIGHT dod mums visas rakstzīmes pēc slīpsvītras uz priekšu.

Šeit ir VBA kods, kas izveidoja šo funkciju:

Funkcija LastPosition (rCell As Range, rChar As String) 'Šī funkcija dod norādītās rakstzīmes pēdējo pozīciju' Šo kodu ir izstrādājis Sumit Bansal (https://trumpexcel.com) Dim rLen As Integer rLen = Len (rCell) Attiecībā uz i = rLen līdz 1. solim -1. Solis Ja vidējs (rCell, i - 1, 1) = rChar, tad LastPosition = i Iziet no funkcijas Beigu Ja nākamā i Beigu funkcija

Lai šī funkcija darbotos, tā jāievieto VB redaktorā. Kad esat pabeidzis, varat izmantot šo funkciju tāpat kā jebkuru citu parasto Excel funkciju.

Lai kopētu un ielīmētu šo kodu VB aizmugurē, veiciet tālāk norādītās darbības.

Lai ievietotu šo kodu VB redaktorā, veiciet tālāk norādītās darbības.

  1. Dodieties uz cilni Izstrādātājs.
  2. Noklikšķiniet uz opcijas Visual Basic. Tas atvērs VB redaktoru aizmugurē.
  3. VB redaktora Project Explorer rūtī ar peles labo pogu noklikšķiniet uz jebkura darbgrāmatas objekta, kurā vēlaties ievietot kodu. Ja neredzat Project Explorer, dodieties uz cilni Skats un noklikšķiniet uz Project Explorer.
  4. Dodieties uz Ievietot un noklikšķiniet uz moduļa. Tādējādi jūsu darbgrāmatai tiks ievietots moduļa objekts.
  5. Kopējiet un ielīmējiet kodu moduļa logā.

Tagad formula būtu pieejama visās darbgrāmatas darblapās.

Ņemiet vērā, ka jums ir jāsaglabā darbgrāmata kā .XLSM formāts, jo tajā ir makro. Turklāt, ja vēlaties, lai šī formula būtu pieejama visās jūsu izmantotajās darbgrāmatās, varat to saglabāt personiskajā makro darbgrāmatā vai izveidot no tās pievienojumprogrammu.

Jums varētu patikt arī šādas Excel apmācības:

  • Kā iegūt vārdu skaitu programmā Excel.
  • Kā lietot VLOOKUP ar vairākiem kritērijiem.
  • Atrodiet uzmeklēšanas pēdējo reizi Excel sarakstā sarakstu.
  • Izvilkt apakšvirkni programmā Excel.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave