Формула на Excel: Адрес на последната клетка в диапазона -

Обща формула

=ADDRESS(MAX(ROW(rng)),MAX(COLUMN(rng)))

Обобщение

За да получите адреса на последната клетка в диапазон, можете да използвате функцията ADDRESS заедно с функциите ROW, COLUMN и MAX. В показания пример формулата във F5 е:

=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)))

където данните са наименования диапазон B5: D14.

Обяснение

Функцията ADDRESS създава препратка въз основа на даден номер на ред и колона. В този случай искаме да получим последния ред и последната колона, използвана от посочените данни за диапазона (B5: D14).

За да използваме последния ред, използваме функцията ROW заедно с функцията MAX по следния начин:

MAX(ROW(data))

Тъй като данните съдържат повече от един ред, ROW връща масив от номера на редове:

(5;6;7;8;9;10;11;12;13;14)

Този масив отива директно към функцията MAX, която връща най-големия брой:

MAX((5;6;7;8;9;10;11;12;13;14)) // returns 14

За да получим последната колона, използваме функцията COLUMN по същия начин:

MAX(COLUMN(data))

Тъй като данните съдържат три реда, COLUMN връща масив с три номера на колони:

(2,3,4)

и функцията MAX отново връща най-голямото число:

MAX((2,3,4)) // returns 4

И двата резултата се връщат директно към функцията ADDRESS, която изгражда препратка към клетката на ред 14, колона 4:

=ADDRESS(14,4) // returns $D$14

Ако искате относителен адрес вместо абсолютна препратка, можете да предоставите 4 за третия аргумент по следния начин:

=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)),4) // returns D14

Алтернатива на функцията CELL

Въпреки че не е очевидно, функцията INDEX връща препратка, така че можем да използваме функцията CELL с INDEX, за да получим адреса на последната клетка в диапазон като този:

=CELL("address",INDEX(data,ROWS(data),COLUMNS(data)))

В този случай използваме функцията INDEX, за да получим препратка към последната клетка в диапазона, която определяме чрез предаване на общите редове и общите колони за данните за диапазона в INDEX. Получаваме общо редове с функцията ROWS и общо колони с функцията COLUMNS:

ROWS(data) // returns 10 COLUMNS(data) // returns 3

С масива, предоставен като данни, INDEX след това връща препратка към клетка D14:

INDEX(data,10,3) // returns reference to D14

След това ние функцията CELL с "адрес", за да покажем адреса.

Забележка: Функцията CELL е нестабилна функция, която може да причини проблеми с производителността в големи или сложни работни книги.

Интересни статии...