Formuła Excel: Adres ostatniej komórki w zakresie -

Spisie treści

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.

Interesujące artykuły...