Spis treści
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.xlsm6 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!