Pozycja ostatniego (wybranego) znaku w komórce excela

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