Quantcast
Channel: Malinowy Excel
Viewing all articles
Browse latest Browse all 291

Wartość ostatniej komórki w kolumnie dzięki nazwie

$
0
0

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

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ę.

  1. 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

    Tworzenie nazwy

  2. Zatwierdź OK
  3. Zauważ, że po zatwierdzeniu nazwy, Excel dorzucił sobie nazwę aktywnego arkusza do odwołań do kolumny:

    Excel dorzucił nazwy arkuszy

    Excel dorzucił nazwy arkuszy

  4. 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

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

 

 A tutaj plik z gotowcem do pobrania:

MalinowyExcel Nazwa ostatniej komórki dw.xlsx

 

I wersja wideo:

 

 

 


Viewing all articles
Browse latest Browse all 291

Trending Articles


TRX Antek AVT - 2310 ver 2,0


Автовишка HAULOTTE HA 16 SPX


POTANIACZ


Zrób Sam - rocznik 1985 [PDF] [PL]


Maxgear opinie


BMW E61 2.5d błąd 43E2 - klapa gasząca a DPF


Eveline ➤ Matowe pomadki Velvet Matt Lipstick 500, 506, 5007


Auta / Cars (2006) PLDUB.BRRip.480p.XviD.AC3-LTN / DUBBING PL


Peugeot 508 problem z elektroniką


AŚ Jelenia Góra