Witam, mam takie pytanie. Jak przy użyciu funkcji excela zlokalizować ostatnią pozycję wybranego znaku?
Przykład:
Powiedzmy że w komórce A1 mam ciąg znaków: 12-12-123-1-12.
Jak przy użyciu funkcji excela znaleźć pozycję ostatniego myślnika?
Witam, mam takie pytanie. Jak przy użyciu funkcji excela zlokalizować ostatnią pozycję wybranego znaku?
Przykład:
Powiedzmy że w komórce A1 mam ciąg znaków: 12-12-123-1-12.
Jak przy użyciu funkcji excela znaleźć pozycję ostatniego myślnika?
Jeżeli chodzi o znalezienie pierwszego znaku to sprawa jest prosta bo mamy funkcję: ZNAJDŹ
Mam starszą wersję Excela i funkcji wyszukującej ostatniego występowania znaku w tekście nie znalazłem. Może w nowszych wersjach Excela jest coś takiego.
W związku z powyższym , to przynajmniej ja widzę tylko taką możliwość jak skorzystanie z języka Visual Basic for Applications
http://pl.wikipedia.org/wiki/Visual_Bas … plications
i napisanie odpowiedniego makra.
Instrukcja wyszukująca pozycję ostatniego znaku w tym języku to:
j = InStrRev(tekst, znak) gdzie zmienna tekst oznacza zawartość danej komórki, a zmienna znak to poszukiwany znak np: “-”. Zmienna j zwraca ostatnią pozycję tego znaku w zmiennej tekst.
Być może istnieje jeszcze inny sposób, ale ja go nie znam.
Instrukcja wyszukująca pozycję pierwszego wystąpienia znaku, to: j = InStr(tekst, znak)
Niestety w excelu nie ma funkcji żeby znaleźć pozycję konkretnego wystąpienia danego znaku.
Łopatologicznie można to zrobić tak:
=ZNAJDŹ("-";A1;ZNAJDŹ("-";A1;ZNAJDŹ("-";A1;ZNAJDŹ("-";A1;1)+1)+1)+1)
Gdzie wystąpienie pierwszy raz znaku “-” to:
=ZNAJDŹ("-";A1;ZNAJDŹ("-";A1;ZNAJDŹ("-";A1;ZNAJDŹ("-";A1;1)+1)+1)+1)
Przesuwając się w lewo od końca kolejne funkcje znajdź to kolejne wystąpienia - gdzie pierwszym znakiem jest poprzednie wystąpienie +1