Obsah
V tomto článku sa budeme venovať nájsť . posledný výskyt o znak v reťazec na stránke Excel Náš súbor údajov má tri stĺpce : Názov spoločnosti , Kód zamestnanca a Posledný výskyt . Kód zamestnanca obsahuje meno, vek a oddelenie zamestnanca.
Prvýkrát 4 nájdeme pozíciu lomítka vpred " / " pre všetky hodnoty v Kód zamestnanca . Potom budeme vypisovať reťazce za posledným lomítkom v poslednom 2 metódy.
Stiahnite si cvičebnicu
Nájsť posledný výskyt znaku v reťazci String.xlsm6 spôsobov, ako v programe Excel nájsť posledný výskyt znaku v reťazci
1. Použitie funkcií FIND & SUBSTITUTE v programe Excel na zistenie pozície posledného výskytu znaku v reťazci
Pre prvú metódu použijeme NÁJSŤ funkcia SUBSTITUTE funkcia CHAR a funkciu LEN funkciu na nájsť . posledný pozíciu lomítka v našom reťazec .
Kroky:
- Najprv zadajte nasledujúci vzorec bunka D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")))
Rozdelenie vzorca
Našou hlavnou funkciou je NÁJSŤ Nájdeme CHAR(134) hodnotu v našom reťazci.
- CHAR(134)
- Výstup: † .
- Potrebujeme nastaviť znak, ktorý sa v našich reťazcoch nenachádza. Vybrali sme ho preto, lebo je v reťazcoch zriedkavý. Ak ho nejakým spôsobom vo svojich reťazcoch máte, zmeňte ho na čokoľvek, čo sa vo vašich reťazcoch nenachádza (napríklad " @ ", " ~ " atď.).
- SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))/LEN("/")) -> sa stáva,
- SUBSTITUTE(C5,"/","†",(17-LEN("Mike32Marketing"))/1) -> sa stáva,
- SUBSTITUTE("Mike/32/Marketing","/","†",(17-15)/1)
- Výstup: "Mike/32†Marketing" .
- Náš úplný vzorec teraz znie,
- =FIND("†", "Mike/32†Marketing")
- Výstup: 8 .
- Po druhé, stlačte VSTÚPIŤ .
Uvidíme hodnotu 8 Ak budeme počítať ručne z ľavej strany, dostaneme 8 ako pozíciu pre lomítko na stránke bunka C5 .
- Nakoniec použite Rukoväť náplne skopírovať vzorec.
Takto sme získali pozíciu posledný výskyt o znak v našom reťazec .
Prečítajte si viac: Funkcia programu Excel: FIND vs. SEARCH (porovnávacia analýza)
2. Použitie funkcií MATCH & SEQUENCE v programe Excel na zistenie pozície posledného výskytu znaku v reťazci
Pri druhej metóde použijeme MATCH funkcia SEQUENCE funkcia MID a funkciu LEN funkciu na zistenie polohy posledný výskyt o znak v reťazec . Pamätajte si. SEQUENCE je k dispozícii iba v Excel 365 alebo Excel 2021 .
Kroky:
- Najprv zadajte nasledujúci vzorec bunka D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))
Rozdelenie vzorca
- SEKVENCIA(LEN(C5))
- Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
- Stránka LEN funkcia meria dĺžku bunka C5 . SEQUENCE funkcia vracia zoznam čísel postupne v poli.
- MATCH(2,1/(MID(C5,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
- Výstup: 8 .
- Stránka Zápas je nájdenie posledného 1 v našom vzorci. Je to v 8. pozícia.
- Po druhé, stlačte VSTÚPIŤ .
Pomocou vzorca sme zistili polohu lomítko vpred ako 8 v našom reťazec .
- Nakoniec použite Rukoväť náplne na Automatické vypĺňanie vzorec.
Na záver sme použili ďalší vzorec na zistenie posledná pozícia o znak v reťazce .
Prečítajte si viac: Ako nájsť znak v reťazci Excel (8 jednoduchých spôsobov)
3. Využitie vzorca poľa v programe Excel na zistenie pozície posledného výskytu znaku v reťazci
Budeme používať ROW funkcia INDEX funkcia MATCH ,. MID a LEN funkcie na vytvorenie vzorca poľa na zistenie polohy posledný výskyt o znak v reťazec .
Kroky:
- Najprv zadajte vzorec z nižšie uvedeného zoznamu do bunka D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))
Rozdelenie vzorca
Vzorec je podobný metóde 2 Používame ROW a INDEX replikovať výstup ako SEQUENCE funkcie.
- RIADOK($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} .
- Vidíme, že výstup je rovnaký. INDEX funkcia vracia hodnotu rozsahu. LEN funkcia počíta dĺžku reťazca od bunka C5 . Nakoniec ROW funkcia vracia bunka hodnoty z 1 na bunka dĺžka C5 Zvyšok vzorca je rovnaký ako metóda 2 .
- Po druhé, stlačte VSTÚPIŤ .
Máme 8 ako očakávaná hodnota. Náš vzorec fungoval bezchybne.
Poznámka: Používame Excel 365 Ak používate staršiu verziu, musíte stlačiť CTRL + SHIFT + VSTÚPIŤ .
- Nakoniec dvakrát kliknite alebo potiahnite nadol Rukoväť náplne .
Takto by mal vyzerať posledný krok.
Prečítajte si viac: Vyhľadanie prvého výskytu hodnoty v rozsahu v programe Excel (3 spôsoby)
Podobné čítania
- Ako nájsť znak *, ktorý nie je záložným znakom v programe Excel (2 metódy)
- Ako použiť vzorec programu Excel na vyhľadanie čísla posledného riadku s údajmi (2 spôsoby)
- Vyhľadanie poslednej hodnoty v stĺpci väčšej ako nula v programe Excel (2 jednoduché vzorce)
- Ako nájsť odkazy v programe Excel
- Vyhľadávanie externých odkazov v programe Excel (6 rýchlych metód)
4. Používateľom definovaná funkcia na zistenie pozície posledného výskytu znaku v reťazci
V tejto metóde použijeme vlastný VBA vzorec na nájdenie poslednej pozície znak v reťazec . Bez ďalších slov sa vrhnime do akcie.
Kroky:
- Najprv stlačte ALT + F11 na vyvolanie VBA okno.
Môžete si vybrať Visual Basic z Vývojár kartu, aby ste tak mohli urobiť tiež.
- Po druhé, od Vložte >>> vybrať Modul .
- Po tretie, kopírovať a vložte nasledujúci kód.
Funkcia LOccurence(x1 As String, x2 As String) LOccurence = InStrRev(x1, x2) Koniec funkcie
Vytvorili sme vlastnú funkciu s názvom " LOccurence ". InStrRev je VBA funkcia, ktorá vracia koncovú pozíciu znak . Zadáme naše bunka hodnotu ako x1 a konkrétny znak (v našom prípade je to lomítko vpred ) ako x2 v tejto vlastnej funkcii.
- Potom zatvorte VBA a prejdite do okna " Pozícia VBA " list .
- Zadajte nasledujúci vzorec do bunka D5 .
=LOccurence(C5,"/")
V tejto vlastnej funkcii jej hovoríme, aby našla pozíciu posledný výskyt z lomítko vpred v reťazec z bunka C5 .
- Potom stlačte tlačidlo VSTÚPIŤ .
Máme 8 podľa očakávania ako naposledy sa vyskytol pozícia lomítko vpred .
- Nakoniec môžeme vzorec pretiahnuť nadol pomocou Rukoväť náplne .
Použili sme teda ďalší vzorec na zistenie polohy posledný výskyt o znak .
Prečítajte si viac: Ako nájsť znak v reťazci sprava v programe Excel (4 jednoduché metódy)
5. Použitie kombinovaných funkcií v programe Excel na vyhľadanie posledného výskytu znaku v reťazci
Doteraz sme videli, ako nájsť poslednú pozíciu znaku. Teraz použijeme HĽADAŤ funkcia SPRÁVNE funkcia SUBSTITUTE ,. LEN ,. CHAR funkcie na zobrazenie reťazca po poslednom výskyte znaku. Zjednodušene povedané, vypíšeme oddelenie zamestnancov z Stĺpec Kód zamestnanca .
Kroky:
- Najprv zadajte nasledujúci vzorec bunka D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))
Rozdelenie vzorca
- SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/",""))) -> sa stáva,
- SUBSTITUTE(C5,"/",CHAR(134),2)
- Výstup: "Mike/32†Marketing" .
- Stránka SUBSTITUTE nahradí hodnotu inou hodnotou. V našom prípade nahradí každú lomítko vpred s † v prvej časti a s prázdnym miestom v druhej časti. Potom sa LEN Funkcia meria jej dĺžku. Takto sme získali našu hodnotu.
- SEARCH("†", "Mike/32†Marketing")
- Výstup: 8 .
- Stránka HĽADAŤ funkcia nachádza špeciálny znak v našom predchádzajúcom výstupe. Následne ho našla v 8.
- Nakoniec sa náš vzorec redukuje na, PRAVÁ(C5,9)
- Výstup: "Marketing" .
- Stránka SPRÁVNE funkcia vráti hodnotu bunky do určitého počtu znakov z pravej strany. Zistili sme pozíciu posledného lomítko vpred na stránke 8. Dĺžka bunka C5 je . 17 a 17 - 8 = 9 . Preto máme 9 znaky z pravej strany ako výstup.
- Po druhé, stlačte VSTÚPIŤ .
Dostali sme reťazce po poslednom lomítko vpred .
- Nakoniec použite Rukoväť náplne na Automatické vypĺňanie vzorce do bunka rozsah D6:D10 .
Preto sme extrahovali reťazce po posledný výskyt o znak .
Prečítajte si viac: Ako zistiť, či bunka obsahuje konkrétny text v programe Excel
6. Vlastný vzorec VBA v programe Excel na vyhľadanie posledného výskytu znaku v reťazci
Pre poslednú metódu, Použijeme vlastné VBA vzorec na extrakciu reťazec po lomítko vpred .
Kroky:
- Najprv stlačte ALT + F11 na vyvolanie VBA okno.
Môžete si vybrať Visual Basic z Vývojár kartu, aby ste tak mohli urobiť tiež.
- Po druhé, od Vložte >>> vybrať Modul ako sme to urobili v metóde 4 .
- Po tretie, kopírovať a vložte nasledujúci kód.
Funkcia 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
Vytvoríme vlastnú funkciu s názvom " LastString ". Táto funkcia vráti počiatočnú pozíciu reťazce po posledný výskyt o charakter.
- Potom zadajte vzorec z nasledujúcej tabuľky bunka D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)
Rozdelenie vzorca
- LastString(C5,"/")
- Výstup: 9 .
- Tu získavame počiatočnú pozíciu reťazec hneď po posledné lomítko vpred .
- LEN(C5)
- Výstup: 17 .
- LEN(C5)-LastString(C5,"/")+1
- Výstup: 9.
- Musíme pridať 1 inak dostaneme hodnotu s " M ".
- Náš vzorec sa zníži na PRAVÁ(C5,9)
- Výstup: " Marketing ".
- Tlač VSTÚPIŤ .
Získame hodnotu " Marketing ".
- Nakoniec, Automatické vypĺňanie vzorec až do bunka C10 .
Dosiahli sme svoj cieľ. Vzorec funguje tak, ako sme zamýšľali.
Prečítajte si viac: Ako nájsť posledný riadok s konkrétnou hodnotou v programe Excel (6 metód)
Praktická časť
Okrem každej metódy sme pripojili aj súbory údajov z praxe v Excel súbor. Môžete sa v tejto úlohe zdokonaľovať.
Záver
Ukázali sme vám 6 metódy v Excel nájsť posledný výskyt o znak v reťazec . Ak máte v súvislosti s nimi nejaké problémy, neváhajte sa vyjadriť nižšie. Ďakujeme za prečítanie a pokračujte v dosahovaní vynikajúcich výsledkov!