Excel Znajdź ostatnie wystąpienie znaku w łańcuchu (6 metod)

  • Udostępnij To
Hugh West

W tym artykule zamierzamy m.in. znaleźć the ostatnie zdarzenie z znak w ciąg w Excel Nasz przykładowy zbiór danych ma trzy kolumny : Nazwa firmy , Kod pracownika oraz Ostatnie zdarzenie . Kod pracownika zawiera nazwisko, wiek i dział pracownika.

Na pierwszy 4 metody, znajdziemy położenie ukośnika w przód " / " w przypadku wszystkich wartości w Kod pracownika Po tym wyjdziemy na zewnątrz. ciągi po ostatnim ukośniku w ostatnim 2 metody.

Pobierz Zeszyt ćwiczeń

Znajdź ostatnie wystąpienie znaku w String.xlsm

6 sposobów w Excelu, aby znaleźć ostatnie wystąpienie znaku w łańcuchu

1) Używanie funkcji FIND & SUBSTITUTE w Excelu, aby znaleźć pozycję ostatniego wystąpienia znaku w łańcuchu.

Do pierwszej metody użyjemy ZNAJDŹ funkcja SUBSTYTUT funkcja CHAR funkcja, oraz LEN funkcja do znaleźć the ostatni pozycja ukośnika w naszym ciąg .

Kroki:

  • Po pierwsze, wpisz następującą formułę w komórka D5 .
=FIND(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/",")))/LEN("/"))))

Podział formuły

Naszą główną funkcją jest ZNAJDŹ Znajdziemy CHAR(134) wartość w naszym ciągu.

  • CHAR(134)
    • Wyjście: † .
    • Musimy ustawić znak, który nie występuje w naszych ciągach. Wybraliśmy go, ponieważ jest rzadki w ciągach. Jeśli w jakiś sposób masz to w swoich ciągach, zmień go na cokolwiek, czego nie ma w twoich ciągach (np. " @ ", " ~ ", itd.).
  • SUBSTITUTE(C5,"/",CHAR(134),(LEN(C5)-LEN(SUBSTITUTE(C5,"/",")))/LEN("/"))) -> staje się,
  • SUBSTITUTE(C5,"/","†",(17-LEN("Mike32Marketing"))/1) -> staje się,
  • SUBSTITUTE("Mike/32/Marketing","/","†",(17-15)/1)
    • Wyjście: "Mike/32†Marketing" .
  • Teraz nasza pełna formuła staje się,
  • =FIND("†", "Mike/32†Marketing")
    • Wyjście: 8 .
  • Po drugie, naciśnij ENTER .

Zobaczymy wartość 8 Jeśli będziemy liczyć ręcznie od lewej strony, otrzymamy 8 jako stanowisko dot. ukośnik w komórka C5 .

  • Na koniec użyj Uchwyt do napełniania aby skopiować formułę w dół.

W ten sposób mamy pozycję ostatnie zdarzenie z znak w naszym ciąg .

Read More: Funkcja Excela: FIND vs SEARCH (analiza porównawcza)

2) Zastosowanie funkcji MATCH & SEQUENCE w Excelu, aby znaleźć pozycję ostatniego wystąpienia znaku w łańcuchu.

Do drugiej metody użyjemy MATCH funkcja SEQUENCE funkcja MID funkcja, oraz LEN aby znaleźć pozycję ostatnie zdarzenie z znak w ciąg . Pamiętaj o SEQUENCE funkcja jest dostępna tylko na Excel 365 lub Excel 2021 .

Kroki:

  • Po pierwsze, wpisz następującą formułę w komórka D5 .
=MATCH(2,1/(MID(C5,SEQUENCE(LEN(C5)),1)="/"))

Podział formuły

  • SEQUENCE(LEN(C5))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • Na stronie LEN funkcja mierzy długość komórka C5 . SEQUENCE funkcja zwraca listę liczb kolejno umieszczonych w tablicy.
  • MATCH(2,1/(MID(C5,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
    • Wyjście: 8 .
    • Na stronie Mecz Funkcja ta polega na znalezieniu ostatniego 1 wartość w naszej formule. Jest w 8. stanowisko.

  • Po drugie, naciśnij ENTER .

Korzystając ze wzoru, znaleźliśmy pozycję ukośnik w przód jako 8 w naszym ciąg .

  • Na koniec należy użyć Uchwyt do napełniania do AutoFill wzór.

Podsumowując, zastosowaliśmy kolejny wzór na znalezienie ostatnia pozycja z znak w ciągi .

Read More: Jak znaleźć znak w String Excel (8 prostych sposobów)

3) Wykorzystanie formuły tablicowej w programie Excel do znalezienia pozycji ostatniego wystąpienia znaku w łańcuchu.

Zamierzamy użyć ROW funkcja INDEX funkcja MATCH , MID , oraz LEN funkcji, aby stworzyć formułę tablicową do znalezienia pozycji ostatnie zdarzenie z znak w ciąg .

Kroki:

  • Po pierwsze, wpisz formułę z poniżej komórka D5 .
=MATCH(2,1/(MID(C5,ROW($C$1:INDEX(C:C,LEN(C5))),1)="/"))

Podział formuły

Wzór jest podobny do metody 2 Używamy ROW i INDEX aby zreplikować wyjście jako SEQUENCE funkcja.

  • 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} .
    • Widzimy, że wyjście jest takie samo. INDEX Funkcja zwraca wartość zakresu. LEN Funkcja liczy długość ciągu od komórka C5 Wreszcie ROW funkcja zwraca komórka wartości od 1 do komórka długość C5 Reszta wzoru jest taka sama jak w przypadku metody 2 .

  • Po drugie, naciśnij ENTER .

Mamy 8 jako wartość zgodna z oczekiwaniami. Nasza formuła działała bez zarzutu.

Uwaga: Używamy Excel 365 Jeśli używasz starszej wersji, musisz nacisnąć przycisk CTRL + SHIFT + ENTER .

  • Na koniec kliknij dwukrotnie lub przeciągnij w dół Uchwyt do napełniania .

Tak powinien wyglądać ostatni etap.

Read More: Znajdź pierwsze wystąpienie wartości w zakresie w Excelu (3 sposoby)

Podobne lektury

  • Jak znaleźć * znak nie jako Wildcard w programie Excel (2 metody)
  • Jak korzystać z formuły programu Excel, aby znaleźć ostatni numer wiersza z danymi (2 sposoby)
  • Znajdź ostatnią wartość w kolumnie większą niż zero w Excelu (2 proste formuły)
  • Jak znaleźć linki w programie Excel
  • Znajdź linki zewnętrzne w Excelu (6 szybkich metod)

4. Funkcja zdefiniowana przez użytkownika do znalezienia pozycji ostatniego wystąpienia znaku w łańcuchu.

W tej metodzie użyjemy niestandardowego VBA formuła pozwalająca znaleźć ostatnią pozycję znak w ciąg Bez dalszych ceregieli, wskakujmy do akcji.

Kroki:

  • Po pierwsze, naciśnij ALT + F11 aby przywołać VBA okno.

Możesz wybrać Visual Basic od Deweloper zakładkę, aby również to zrobić.

  • Po drugie, od Wkładka >>> wybierz Moduł .

  • Po trzecie, kopia oraz pasta następujący kod.
 Function LOccurence(x1 As String, x2 As String) LOccurence = InStrRev(x1, x2) End Function 

Stworzyliśmy niestandardową funkcję o nazwie " LOccurence ". InStrRev jest VBA funkcja zwracająca pozycję końcową znak . We'll input our komórka wartość jako x1 i konkretny znak (w naszym przypadku jest to ukośnik w przód ) jako x2 w tej niestandardowej funkcji.

  • Następnie należy zamknąć VBA okno i przejdź do " Pozycja VBA " arkusz .
  • Wpisz następujący wzór w komórka D5 .
=LOccurence(C5,"/")

W tej funkcji mówimy jej, aby znalazła pozycję ostatnie zdarzenie z forward-slash w ciąg z komórka C5 .

  • Następnie naciśnij ENTER .

Mamy 8 zgodnie z oczekiwaniami jako ostatnio wystąpił położenie ukośnik w przód .

  • Na koniec możemy przeciągnąć formułę w dół za pomocą Uchwyt do napełniania .

W ten sposób zastosowaliśmy jeszcze jeden wzór na znalezienie pozycji ostatnie zdarzenie z znak .

Read More: Jak znaleźć znak w ciągu od prawej w programie Excel (4 proste metody)

5) Używanie funkcji łączonych w Excelu, aby znaleźć ostatnie wystąpienie znaku w łańcuchu

Do tej pory widzieliśmy, jak znaleźć ostatnią występującą pozycję znaku. Teraz użyjemy SZUKAJ funkcja PRAWDA funkcja SUBSTYTUT , LEN , CHAR aby wyświetlić ciąg znaków po ostatnim wystąpieniu znaku. W uproszczeniu, wyprowadzimy wydziały pracowników z listy Kolumna Kod pracownika .

Kroki:

  • Po pierwsze, wpisz następującą formułę w komórka D5 .
=RIGHT(C5,LEN(C5)-SEARCH(CHAR(134),SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","")))))

Podział formuły

  • SUBSTITUTE(C5,"/",CHAR(134),LEN(C5)-LEN(SUBSTITUTE(C5,"/","))) -> staje się,
  • SUBSTITUTE(C5,"/",CHAR(134),2)
    • Wyjście: "Mike/32†Marketing" .
    • Na stronie SUBSTYTUT Funkcja zastępuje daną wartość inną wartością. W naszym przypadku jest to zastąpienie każdego forward-slash z w pierwszej części i z pustym miejscem w drugiej części. Następnie LEN Funkcja mierzy długość tego. W ten sposób otrzymaliśmy naszą wartość.
  • SEARCH("†", "Mike/32†Marketing")
    • Wyjście: 8 .
    • Na stronie SZUKAJ Funkcja znajduje znak specjalny w naszym poprzednim wyjściu. W konsekwencji znalazła go w 8.
  • Ostatecznie nasz wzór sprowadza się do, PRAWO(C5,9)
    • Wyjście: "Marketing" .
    • Na stronie PRAWDA Funkcja zwraca wartość komórki do określonej liczby znaków od prawej strony. Znaleźliśmy pozycję ostatniego ukośnik w przód w 8. Długość komórka C5 jest 17 oraz 17 - 8 = 9 . Hence, we've got the 9 znaki z prawej strony jako wyjście.

  • Po drugie, naciśnij ENTER .

Dostaliśmy ciągi po ostatnim ukośnik w przód .

  • Na koniec należy użyć Uchwyt do napełniania do AutoFill wzory do komórka zakres D6:D10 .

W ten sposób wyodrębniliśmy ciągi po ostatnie zdarzenie z znak .

Read More: Jak znaleźć czy komórka zawiera określony tekst w Excelu

6. niestandardowa formuła VBA w Excelu, aby znaleźć ostatnie wystąpienie znaku w łańcuchu

Dla ostatniej metody, użyjemy niestandardowego VBA wzór do wyodrębnienia ciąg po ukośnik w przód .

Kroki:

  • Po pierwsze, naciśnij ALT + F11 aby przywołać VBA okno.

Możesz wybrać Visual Basic od Deweloper zakładkę, aby również to zrobić.

  • Po drugie, od Wkładka >>> wybierz Moduł jak to zrobiliśmy w metodzie 4 .
  • Po trzecie, kopia oraz pasta następujący kod.
 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 

Tworzymy niestandardową funkcję o nazwie " LastString ". Ta funkcja zwróci pozycję początkową ciągi po ostatnie zdarzenie z postać.

  • Następnie wpisz formułę z poniższej listy do komórka D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)

Podział formuły

  • LastString(C5,"/")
    • Wyjście: 9 .
    • Tutaj otrzymujemy pozycję startową ciąg niezwłocznie po ostatni ukośnik w przód .
  • LEN(C5)
    • Wyjście: 17 .
  • LEN(C5)-LastString(C5,"/")+1
    • Wyjście: 9.
    • Musimy dodać 1 w przeciwnym razie otrzymamy wartość z " M ".
  • Nasz wzór sprowadzi się do PRAWO(C5,9)
    • Wyjście: " Marketing ".

  • Naciśnij ENTER .

Otrzymamy wartość " Marketing ".

  • Wreszcie, AutoFill wzór do komórka C10 .

Osiągnęliśmy nasz cel, formuła działa zgodnie z założeniami.

Read More: Jak znaleźć ostatni wiersz z określoną wartością w programie Excel (6 metod)

Część ćwiczeniowa

Do każdej z metod dołączyliśmy zestawy danych do ćwiczeń Excel Możesz ćwiczyć, aby być coraz lepszym w tym zadaniu.

Wniosek

Pokazaliśmy ci 6 metody w Excel znaleźć ostatnie zdarzenie z znak w ciąg Jeśli masz jakieś problemy z tym związane, nie krępuj się komentować poniżej. Dzięki za przeczytanie i trzymaj się świetnie!

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.