![](https://cdn.wiki-base.com/6962083/excel_formula_address_of_last_cell_in_range__2.png.webp)
Formuła ogólna
=ADDRESS(MAX(ROW(rng)),MAX(COLUMN(rng)))
Podsumowanie
Aby uzyskać adres ostatniej komórki w zakresie, możesz użyć funkcji ADRES razem z funkcjami WIERSZ, KOLUMNA i MAKS. W pokazanym przykładzie formuła w F5 to:
=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)))
gdzie dane to nazwany zakres B5: D14.
Wyjaśnienie
Funkcja ADRES tworzy odwołanie na podstawie podanego numeru wiersza i kolumny. W tym przypadku chcemy uzyskać ostatni wiersz i ostatnią kolumnę używaną przez nazwane dane zakresu (B5: D14).
Aby uzyskać ostatni użyty wiersz, używamy funkcji WIERSZ razem z funkcją MAX w następujący sposób:
MAX(ROW(data))
Ponieważ dane zawierają więcej niż jeden wiersz, ROW zwraca tablicę numerów wierszy:
(5;6;7;8;9;10;11;12;13;14)
Ta tablica trafia bezpośrednio do funkcji MAX, która zwraca największą liczbę:
MAX((5;6;7;8;9;10;11;12;13;14)) // returns 14
Aby uzyskać ostatnią kolumnę, używamy funkcji KOLUMNA w ten sam sposób:
MAX(COLUMN(data))
Ponieważ dane zawierają trzy wiersze, COLUMN zwraca tablicę z trzema numerami kolumn:
(2,3,4)
a funkcja MAX ponownie zwraca największą liczbę:
MAX((2,3,4)) // returns 4
Oba wyniki są zwracane bezpośrednio do funkcji ADDRESS, która konstruuje odwołanie do komórki w wierszu 14, kolumnie 4:
=ADDRESS(14,4) // returns $D$14
Jeśli chcesz mieć adres względny zamiast bezwzględnego odniesienia, możesz podać 4 dla trzeciego argumentu w następujący sposób:
=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)),4) // returns D14
Alternatywa dla funkcji KOMÓRKA
Chociaż nie jest to oczywiste, funkcja INDEKS zwraca referencję, więc możemy użyć funkcji CELL z INDEX, aby uzyskać adres ostatniej komórki w takim zakresie:
=CELL("address",INDEX(data,ROWS(data),COLUMNS(data)))
W tym przypadku używamy funkcji INDEKS, aby uzyskać odwołanie do ostatniej komórki w zakresie, którą określamy, przekazując całkowitą liczbę wierszy i wszystkich kolumn danych zakresu do INDEKSU. Otrzymujemy sumę wierszy z funkcją ROWS, a sumę kolumn z funkcją COLUMNS:
ROWS(data) // returns 10 COLUMNS(data) // returns 3
Mając tablicę podaną jako dane, INDEKS zwraca następnie odwołanie do komórki D14:
INDEX(data,10,3) // returns reference to D14
Następnie wykonujemy funkcję CELL z „adresem”, aby wyświetlić adres.
Uwaga: Funkcja CELL jest funkcją ulotną, która może powodować problemy z wydajnością w dużych lub złożonych skoroszytach.