
Обща формула
=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 е нестабилна функция, която може да причини проблеми с производителността в големи или сложни работни книги.