Przejdź do głównej zawartości

Jak znaleźć pierwsze, ostatnie lub n-te wystąpienie znaku w programie Excel?

Przypuśćmy, że masz następującą listę ciągów tekstowych, które zawierają znak „-”, a teraz chcesz uzyskać ostatnie lub n-te wystąpienie znaku „-”, czy masz jakieś dobre pomysły na rozwiązanie tego problemu?


Znajdź ostatnie wystąpienie znaku za pomocą formuł

Oto kilka formuł, które mogą pomóc w znalezieniu ostatniej pozycji określonego znaku, wykonaj następujące czynności:

1. Obok ciągu tekstowego wprowadź lub skopiuj jedną z poniższych formuł do pustej komórki:

=SEARCH("^^",SUBSTITUTE(A2,"-","^^",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
=LOOKUP(2,1/(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)="-"),ROW(INDIRECT("1:"&LEN(A2))))

2. Następnie przeciągnij uchwyt wypełniania do zakresu, w którym chcesz zastosować tę formułę, a otrzymasz ostatnie wystąpienie określonego znaku „-”, patrz zrzut ekranu:

Uwaga: W powyższych wzorach A2 wskazuje wartość komórki, której chcesz użyć. I "-”Oznacza konkretną postać, dla której chcesz uzyskać ostatnią pozycję, możesz ją zmienić na dowolne inne znaki, zgodnie z potrzebami.


Znajdź ostatnie wystąpienie znaku za pomocą funkcji zdefiniowanej przez użytkownika

Aby uzyskać pozycję ostatniego znaku „-”, możesz również utworzyć funkcję zdefiniowaną przez użytkownika, wykonaj następujące czynności:

1. Otwórz arkusz, którego chcesz użyć.

2. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.

3. Następnie kliknij wstawka > Modułi wklej następujące makro w Okno modułu.

Kod VBA: znajdź ostatnie wystąpienie znaku

Function LastpositionOfChar(strVal As String, strChar As String) As Long
LastpositionOfChar = InStrRev(strVal, strChar)
End Function

4. Następnie zapisz i zamknij ten kod, wróć do arkusza i wprowadź tę formułę = lastpositionofchar (A2, "-") do pustej komórki poza danymi, zobacz zrzut ekranu:

5. Następnie przeciągnij uchwyt wypełniania do zakresu, w którym chcesz zastosować tę formułę, a wystąpienie ostatniego znaku „-” zostało wyodrębnione z ciągów tekstowych, jak na poniższym zrzucie ekranu:

Note: W powyższym wzorze: A2 to komórka zawierająca dane, których chcesz użyć, a „-”To postać, której potrzebujesz, aby znaleźć ostatnią pozycję, możesz ją zmodyfikować zgodnie z potrzebami.


Znajdź pierwsze lub n-te wystąpienie znaku za pomocą formuły

Aby uzyskać pierwszą lub n-tą pozycję określonego znaku, zastosuj następującą formułę:

1. Wprowadź lub skopiuj poniższe formuły do ​​pustej komórki, w której chcesz umieścić wynik, i naciśnij Wchodzę klucz do uzyskania pierwszego wyniku:

=FIND(CHAR(160),SUBSTITUTE(A2,"-",CHAR(160),2))

2. Następnie przeciągnij uchwyt wypełniania w dół do komórek, do których chcesz zastosować tę formułę, a pozycje drugiego znaku „-” zostały obliczone, patrz zrzut ekranu:

Uwaga: W powyższych wzorach A2 wskazuje wartość komórki, której chcesz użyć, „-”Oznacza konkretny znak, dla którego chcesz uzyskać jego pozycję, liczbę 2 oznacza określone wystąpienie znaku, który chcesz uzyskać.


Znajdź pierwsze lub n-te wystąpienie określonego znaku za pomocą łatwej funkcji

Z Kutools dla programu Excel'S Znajdź miejsce, w którym znak pojawia się jako N-ty w ciągu narzędzie, możesz szybko i łatwo uzyskać pozycję pierwszego lub n-tego znaku.

Uwaga:Aby to zastosować Znajdź miejsce, w którym znak pojawia się jako N-ty w ciągu, po pierwsze, należy pobrać plik Kutools dla programu Excel, a następnie szybko i łatwo zastosuj tę funkcję.

Po zainstalowaniu Kutools dla programu Excel, zrób tak:

Na przykład, chcę uzyskać drugie wystąpienie znaku „-”, wykonaj następujące czynności:

1. Kliknij komórkę, w której chcesz umieścić wynik.

2. Następnie kliknij Kutools > Pomocnik formuły > Pomocnik formułyzobacz zrzut ekranu:

3, w Pomocnik formuł Okno dialogowe:

  • Wybierz Lookup opcja z Formuła Rodzaj Nieruchomości Lista rozwijana;
  • Następnie wybierz Znajdź miejsce, w którym znak pojawia się jako N-ty w ciągu z Wybierz fromula skrzynka na listy;
  • W Wprowadzanie argumentów wybierz komórkę zawierającą ciąg tekstowy, którego chcesz użyć, i wprowadź znak, który chcesz uzyskać, na koniec określ liczbę, którą chcesz uzyskać pozycję znaku.

4. Następnie kliknij Ok , a następnie przeciągnij uchwyt wypełniania w dół do komórek, w których chcesz uzyskać pozycję, aby uzyskać następujący wynik zgodnie z potrzebami.

Pobierz i bezpłatną wersję próbną Kutools dla programu Excel teraz!


Więcej artykułów względnych:

  • Wyodrębnij wszystkie oprócz pierwszego / ostatniego słowa w programie Excel
  • Aby wyodrębnić wszystkie słowa z komórki, ale pierwsze lub ostatnie słowo może pomóc w usunięciu niechcianego słowa, którego potrzebujesz, w tym przypadku oczywiście możesz skopiować poszukiwane słowa i wkleić je jeden po drugim w innej komórce. Ale będzie to znudzone, jeśli trzeba wyodrębnić wiele wartości komórek, z wyjątkiem pierwszego lub ostatniego słowa. Jak możesz szybko i łatwo wyodrębnić wszystkie słowa z wyjątkiem pierwszego lub ostatniego w programie Excel?
  • Wyodrębnij znaki od prawej do lewej w komórce
  • W tym artykule omówiono wyciąganie lub wyodrębnianie znaków z prawej strony komórki, aż do osiągnięcia spacji, aby uzyskać następujący wynik w arkuszu programu Excel. Przydatna formuła w tym artykule może szybko i łatwo rozwiązać tę pracę.
  • Usuń pierwsze, ostatnie X znaków lub określone znaki pozycji
  • W tym artykule omówiono wyciąganie lub wyodrębnianie znaków z prawej strony komórki, aż do osiągnięcia spacji, aby uzyskać następujący wynik w arkuszu programu Excel. Przydatna formuła w tym artykule może szybko i łatwo rozwiązać tę pracę.
  • Znajdź pozycję pierwszej małej litery
  • Jeśli masz listę ciągów tekstowych, które zawierają zarówno wielkie, jak i małe litery, teraz chcesz poznać położenie pierwszej małej litery z nich w arkuszu programu Excel. Jak szybko uzyskać wynik, nie licząc ich jeden po drugim?

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Using LET to define variables. 
Find Last occurrence of;
=LET(strFind,"-",strFlag,"¤",FIND(strFlag,SUBSTITUTE(A2,strFind,strFlag,LEN(A2)-LEN(SUBSTITUTE(A2,strFind,""))),1))
Text to right of;
LET(strTarget,A2,strFind,"-",strFlag,"¤",RIGHT(strTarget,LEN(strTarget)-FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1)))
This gives an error if strFind is not in the target. This can be solved by wrapping FIND in an IFERROR. 
LET(strTarget,A2,strFind,"-",strFlag,"¤",IFERROR(FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1),0))
LET(strTarget,A2,strFind,"-",strFlag,"¤",RIGHT(strTarget,LEN(strTarget)-IFERROR(FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1),0)))
This will return the existing string if strFind is not found. If this is not desired use the find separately then test for result>0.
This comment was minimized by the moderator on the site
Thank You, great work !! Best Regards Anders
This comment was minimized by the moderator on the site
Thank you for these formulas. Very helpful.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations