Zapisz się na newsletter i odbierz DARMOWY EBOOK: 10 najprzydatniejszych porad excelowych

czwartek, 15 maja 2014

Nazwa arkusza wyświetlana w komórce za pomocą formuły

Ostatnio potrzebowałam wyświetlić w komórce nazwę arkusza. Chciałam to zrobić bez pisania funkcji w VBA. W tym artykule pokażę Wam co wymyśliłam.

Oto formatka:

Nazwa arkusza wyświetlana w komórce za pomocą formuły - formatka

Do wyświetlenia w komórce nazwy arkusza posłużę się funkcją KOMÓRKA(). W tym celu należy wpisać do komórki A3 następującą formułę:

=KOMÓRKA("nazwa_pliku";A1)

Formuła ta pobierze pełną ścieżkę dostępu do pliku, w którym jest wpisana, ale również pokaże nazwę arkusza, w którym znajduje się komórka A1, będąca drugim argumentem funkcji (oczywiście mogę odwołać się do dowolnej innej komórki w arkuszu, którego nazwę chcę poznać). Jeśli bym nie wpisała tego argumentu - funkcja zwróciłaby mi nazwę aktywnego arkusza. A oto wynik:


Nazwa arkusza wyświetlana w komórce za pomocą formuły - komórka

Rozumiem, że to Was nie satysfakcjonuje ;) Mnie też nie. Na szczęście w bardzo łatwy sposób można wyciąć nazwę arkusza z wyniku powyższej formuły. Są na to dwa sposoby: łatwiejszy i trudniejszy. Oto one:

Sposób 1 - łatwiejszy
Wpisz w komórce B5 następującą formułę:

=FRAGMENT.TEKSTU(A3;SZUKAJ.TEKST("]";A3)+1;31)

Jako długość pobieranego tekstu przez funkcję FRAGMENT.TEKSTU() podałam 31, ponieważ jest to maksymalna długość, jaką może mieć nazwa arkusza. Jeśli nazwa ta będzie krótsza - i tak wyświetli się dobry wynik.

Sposób 2 - trudniejszy
Wycina tyle znaków, ile faktyczni ma nazwa arkusza. Wpisz w komórce B6 następującą formułę:

=FRAGMENT.TEKSTU(A3;SZUKAJ.TEKST("]";A3)+1;DŁ(A3)-SZUKAJ.TEKST("]";A3))

A oto wyniki obu sposobów:
Nazwa arkusza wyświetlana w komórce za pomocą formuły - wynik

Jak widać identyczne ;)

Gotowe!


Related Posts Plugin for WordPress, Blogger...

10 komentarzy:

  1. kiedyś było mi to potrzebne ale przyznaję, ze poległem nie zrobiwszy tego. sposób rozwiązania bardzo ciekawy.

    OdpowiedzUsuń
    Odpowiedzi
    1. Cieszę się i mam nadzieję, że następnym razem się przyda ;)

      Usuń
  2. można też uzyskać taki efekt za pomocą znajdowania i zamieniania tj. w polu znajdź *] a w polu zamień zostawiamy puste pole

    OdpowiedzUsuń
    Odpowiedzi
    1. Super pomysł - szybki i skuteczny. Dziękuję za komentarz!

      Usuń
  3. Można też obydwie formuły połączyć.
    Twój sposób 1:
    =FRAGMENT.TEKSTU(KOMÓRKA("nazwa_pliku";A3);SZUKAJ.TEKST("]";KOMÓRKA("nazwa_pliku";A3))+1;31)
    i drugi:
    =FRAGMENT.TEKSTU(KOMÓRKA("nazwa_pliku";A3);SZUKAJ.TEKST("]";KOMÓRKA("nazwa_pliku";A3))+1;DŁ(KOMÓRKA("nazwa_pliku";A3))-SZUKAJ.TEKST("]";KOMÓRKA("nazwa_pliku";A3)))

    OdpowiedzUsuń
  4. witam, działa świetnie. Ja mam tylko problem jak zrobiłem tą formułę w kilku arkuszach to przy odświeżaniu wszędzie jest nazwa odświeżanego ostatnio arkusza

    OdpowiedzUsuń
    Odpowiedzi
    1. Witaj Michał,

      sprawdź proszę, czy do funkcji KOMÓRKA na pewno wpisałeś odwołanie do komórki z konkretnego arkusza? Ja tak zrobiłam (też mam kilka arkuszy, jak Ty) i "u mnie działa" :) (kocham to stwierdzenie;)).

      Pozdrawiam
      Malina

      Usuń
  5. Witam.

    Ja mam trochę inny sposób na wyświetlenie nazwy arkusza w komórce:
    =PRAWY(KOMÓRKA("nazwa_pliku";A1);6) -> Arkusz
    Na podstawie tej formuły, zostanie wyświetlonych sześć znaków, licząc od prawej strony z pełnej ścieżki nazwy pliku.

    Formułę można zmodyfikować o np. jakiś dodatkowy napis przed wyświetlaną nazwą arkusza:
    ="XYZ: "&PRAWY(KOMÓRKA("nazwa_pliku";A1);6) -> XYZ: Arkusz

    OdpowiedzUsuń
  6. Witam
    Funkcja KOMÓRKA("nazwa_pliku") opiera się o zmienną excella, która w trakcie pracy z danymi może uleć dynamiczniej zmianie - np. otworzenie innego skoroszytu z innego podkatalogu.
    Przy otwarciu nowego skoroszytu zostaną przetworzone wszystkie formuły ponownie co czasem daje efekt "####" zamiast prawidłowego wyniku.
    Aby odzyskać prawidłową wartość w aktualnie aktywowanym skoroszycie, w komórce z formułą należy wejść w tryb edycji formuły (F2) i zatwierdzić enterem bez wprowadzania zmian.Można też wyłączyć Automatyczne obliczanie, bo to ono tu "miesza" Obliczanie Automatyczne ma taki opis w Excell-u: "Powoduje obliczanie wszystkich formuł zależnych po każdej zmianie wartości, formuły lub nazwy. Jest to domyślne ustawienie obliczania."
    Pozdrawiam

    OdpowiedzUsuń