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

Съдържание

Обща формула

=ADDRESS(ROW(nr),COLUMN(nr))&":"&ADDRESS(ROW(nr)+ROWS(nr)-1,COLUMN(nr)+COLUMNS(nr)-1)

Обобщение

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

=ADDRESS(ROW(data),COLUMN(data),4)&":"&ADDRESS(ROW(data)+ROWS(data)-1,COLUMN(data)+COLUMNS(data)-1,4)

където "данни" е наименуваният диапазон B5: D10

Обяснение

Ядрото на тази формула е функцията АДРЕС, която се използва за връщане на адрес на клетка въз основа на даден ред и колона. За съжаление формулата се усложнява донякъде, защото трябва да използваме АДРЕС два пъти: веднъж, за да получим адреса на първата клетка в диапазона, и веднъж, за да получим адреса на последната клетка в диапазона. Двата резултата се обединяват с обединяване и оператора на диапазона (:) и целият диапазон се връща като текст.

За да получим първата клетка в диапазона, използваме този израз:

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

ROW връща номера на първия ред, свързан с диапазона, 5 *.

COLUMN връща номера на първата колона, свързан с диапазона, 2.

С abs_num, зададен на 4 (относително), ADDRESS връща текста "B5".

=ADDRESS(5,2,4) // returns "B5"

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

=ADDRESS(ROW(data)+ROWS(data)-1,COLUMN(data)+COLUMNS(data)-1,4)

Вижте тази страница за подробно обяснение.

По същество следваме същата идея, както по-горе, добавяйки проста математика, за да изчислим последния ред и последната колона от диапазона, които се подават както преди в АДРЕС с abs_num, зададен на 4. Това намалява до следния израз, който връща текста " D10 ":

=ADDRESS(10,4,4) // returns "D10"

И двата резултата се свързват с двоеточие, за да се получи краен адрес на диапазон като текст:

="B5"&":"&"D10" ="B5:D10

Именуван диапазон от друга клетка

За да получите адрес за посочен диапазон в друга клетка, ще трябва да използвате функцията INDIRECT. Например, за да получите адреса на име в A1, ще използвате:

=ADDRESS(ROW(INDIRECT(A1)),COLUMN(INDIRECT(A1)))&":"&ADDRESS(ROW(INDIRECT(A1))+ROWS(INDIRECT(A1))-1,COLUMN(INDIRECT(A1))+COLUMNS(INDIRECT(A1))-1)

Задайте abs_num на 4 вътре в ADDRESS, за да получите относителен адрес.

* Всъщност, във всички случаи, когато използваме ROW и COLUMN с многоклетъчен именуван диапазон, ще получим обратно масив от числа вместо единична стойност. Тъй като обаче не използваме формула на масив, обработката е ограничена до първия елемент в тези масиви.

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