Czyli dynamiczna nazwa
Chciałabym zawsze wiedzieć, jaka jest ostatnia transakcja na mojej liście. Konkretnie interesuje mnie jej numer i wartość (chcę je widzieć nad zakresem, w żółtych komórkach). Zestaw danych mam w zwykłym zakresie, o taki:

Formatka i wynik
Ma to działać tak, że jak dopiszę dane do tego zakresu – to właśnie te dopisane, czyli ostatnie, mają się pojawić w żółtych komórkach. Dokonam tego za pomocą nazewnictwa. Najpierw pokażę jak to zrobić dla konkretnego arkusza, w którym jesteśmy (i tylko dla niego!), a potem – jak to zrobić do każdego, niezależnie jak się nazywa (jeśli układ arkusza jest analogiczny).
Ostatnia komórka w konkretnym arkuszu
W pliku mamy 2 zestawienia danych o identycznej strukturze (jak na obrazku powyżej). Każde z nich znajduje się w innym arkuszu: Kwiecień i Maj. Chciałabym móc w szybki sposób mieć dostępną informację o ostatnim numerze transakcji w arkuszu Kwiecień. Niezależnie od tego, w jakim arkuszu jestem.
W tym celu stworzę sobie nazwę, a konkretnie nazwaną formułę, która wskaże mi tę właśnie wartość (id ostatniej transakcji w kwietniu).
Aby ułatwić sobie życie – wpiszę formułę do żółtej komórki E2, a potem skopiuję ją gdy będę tworzyła nazwę.
Formuła jest następująca:
=INDEKS($B:$B;4+ILE.NIEPUSTYCH($B:$B))
Zadziała ona w aktywnym arkuszu i zakłada, że wszystkie dane w kolumnie ID transakcji w naszym zakresie danych są uzupełnione. Funkcja INDEKS wyświetli wartość z odpowiedniego wiersza kolumny B. Funkcja ILE.NIEPUSTYCH policzy ile jest w tej kolumnie zapełnionych komórek. Dodaję do niej 4, ponieważ nad zakresem danych w mojej formatce są 4 puste wiersze. Suma obu da nam numer ostatniego wiersza w kolumnie – tego, który chcemy wyświetlić. Tutaj pojawia się bardzo ważna kwestia – kolumna zakresu danych, w której liczymy niepuste komórki musi być cała wypełniona. Jeśli nie jesteś tego pewna(y) – wskaż taką kolumnę w zakresie, która na pewno uzupełniona będzie (zazwyczaj kolumny z id takie właśnie są).
I na tym etapie taka formuła wystarczy. Jak za chwilę będziemy kopiować ją do okienka nazwy – nazwa aktywnego arkusza sama wskoczy do formuły.
W takim razie stwórzmy sobie nazwę.
- Wywołaj okienko tworzenia nazw Formuły/Menedżer nazw/Nowy i uzupełnij pola Nazwa (jak uważasz, u mnie to OstTransakcjaKwi) i Odwołuje się do (wklej napisaną przed chwilą formułę):
Tworzenie nazwy
- Zatwierdź OK
- Zauważ, że po zatwierdzeniu nazwy, Excel dorzucił sobie nazwę aktywnego arkusza do odwołań do kolumny:
Excel dorzucił nazwy arkuszy
- Zamknij okienko.
Teraz, kiedy w żółtej komórce (czy jakiejkolwiek innej w dowolnym arkuszu) wpiszesz odwołanie do tej nazwy – otrzymasz wynik 422, gdyż jest to id ostatniej transakcji na liście. Jeśli zaś dopiszesz do tego zakresu dane – formuła się przeliczy i zwróci nowy wynik.
Dla wartości ostatniej transakcji formuła będzie analogiczna, tylko odwołująca się do kolumny F:
=INDEKS(Kwiecień!$F:$F;4+ILE.NIEPUSTYCH(Kwiecień!$F:$F))
Obie nazwy będą działać w całym pliku, niezależnie w którym arkuszu ich użyjesz.
Ostatnia komórka w aktywnym arkuszu
Teraz przyjrzyjmy się sytuacji, kiedy zależy nam, aby wyświetlić id ostatniej transakcji, ale w odniesieniu do dowolnego arkusza. Czyli jeśli stoimy w arkuszu Kwiecień – to do kwietniowej transakcji, a jeśli w arkuszu Maj – do majowej. Chodzi po prostu o to, aby nie tworzyć kilku nazw, tylko jedną, działającą w zależności od kontekstu, w jakim występuje.
Brzmi strasznie trudno, ale w rzeczywistości trzeba tylko troszkę zmodyfikować napisane przez nas wcześniej formuły. Mianowicie usunąć z nich nazwy arkusza. Powtórzę: nazwy arkusza. I tylko. Wykrzyknik zostawić. Taki zapis w nazewnictwie oznacza, że odwołujemy się do aktywnego arkusza, czyli takiego, w jakim nazwa została wywołana, a o to właśnie nam chodzi.
Czyli formuła dla id transakcji będzie następująca:
=INDEKS(!$B:$B;4+ILE.NIEPUSTYCH(!$B:$B))
W okienku tworzenia nazwy wygląda to tak:

Nazwa dla aktywnego arkusza
To dopiero ciekawy zapis! Popróbuj – polecam! No właśnie. Bo to już cały magic trick 🙂
Powiązane produkty
- Webinar: Nazwy w Excelu – wstęp
A tutaj plik z gotowcem do pobrania:
MalinowyExcel Nazwa ostatniej komórki dw.xlsx
I wersja wideo: