Функция ADDRESS на Excel за получаване на адрес на клетка и други

  • Споделя Това
Michael Brown

В урока се прави кратко въведение в синтаксиса на функцията ADDRESS и се показва как да я използвате, за да върнете адрес на клетка в Excel и др.

За да създадете препратка към клетка в Excel, можете да въведете ръчно координатите на колоната и реда. Алтернативно можете да получите адрес на клетка в Excel от номерата на реда и колоната, предоставени на функцията ADDRESS. Почти безсмислена сама по себе си, в комбинация с други функции тази техника може да бъде единственото решение в ситуации, когато не е възможно да се направи директна препратка към клетка.

    Функция ADDRESS на Excel - синтаксис и основни приложения

    Функцията ADDRESS е предназначена за получаване на адрес на клетка в Excel въз основа на зададените номера на редове и колони. Адресът на клетката се връща като текстов низ, а не като действителна препратка.

    Функцията е налична във всички версии на Excel за Microsoft 365 - Excel 2007.

    Синтаксисът на функцията ADDRESS е следният:

    ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

    Изискват се първите два аргумента:

    row_num - номерът на реда, който се използва в препратката към клетката.

    номер на колона (column_num) - номера на колоната, за да се създаде препратка към клетката.

    Последните три аргумента, които определят формата на препратката към клетките, не са задължителни:

    abs_num - типът на препратката, абсолютна или относителна. Може да приеме някое от посочените по-долу числа; по подразбиране е абсолютна.

    • 1 или пропуснато - абсолютна референция към клетка като $A$1
    • 2 - смесена референция: относителна колона и абсолютен ред като A$1
    • 3 - смесена референция: абсолютна колона и относителен ред като $A1
    • 4 - относителна референция на клетката, например A1

    a1 - референтния стил, A1 или R1C1. Ако се пропусне, се използва стилът по подразбиране A1.

    • 1 или TRUE или пропуснато - връща адреса на клетката в стила за справка A1, където колоните са букви, а редовете - числа.
    • 0 или FALSE - връща адреса на клетката в референтния стил R1C1, където редовете и колоните са представени с числа.

    sheet_text - името на работния лист, който да се включи във външната препратка. Името на листа трябва да се предостави като текстов низ и да се загради в кавички, например "Sheet2". Ако се пропусне, не се използва име на работен лист и адресът по подразбиране е текущият лист.

    Например:

    =ADDRESS(1,1) - връща адреса на първата клетка (т.е. клетката в пресечната точка на първия ред и първата колона) като абсолютна референция на клетката $A$1.

    =АДРЕС(1,1,4) - връща адреса на първата клетка като относителна референция към клетка A1.

    В следващата таблица ще намерите още няколко типа справки, които могат да бъдат връщани от формулите ADDRESS.

    Формула Резултат Описание
    =ADDRESS(1,2) $B$1 Абсолютна референция на клетката
    =АДРЕС(1,2,4) B1 Относителна референтна клетка
    =АДРЕС(1,2,2) B$1 Относителна колона и абсолютен ред
    =АДРЕС(1,2,3) $B1 Абсолютна колона и относителен ред
    =ADDRESS(1,2,1,FALSE) R1C2 Абсолютна референция в стил R1C1
    =ADDRESS(1,2,4,FALSE) R[1]C[2] Относителна референция в стил R1C1
    =ADDRESS(1,2,1,, "Sheet2") Лист2!$B$1 Абсолютна препратка към друг лист
    =ADDRESS(1,2,4,, "Sheet2") Лист2!B1 Относителна препратка към друг лист

    Как да използвате функцията ADDRESS в Excel - примери за формули

    Примерите по-долу показват как да използвате функцията ADDRESS в по-големи формули за изпълнение на по-трудни задачи.

    Връщане на стойност на клетка в даден ред и колона

    Ако целта ви е да получите стойност от определена клетка въз основа на номера на реда и колоната, използвайте функцията ADDRESS заедно с INDIRECT:

    INDIRECT(ADDRESS(row_num, column_num))

    Функцията ADDRESS извежда адреса на клетката като текст. Функцията INDIRECT превръща този текст в нормална препратка и връща стойността от съответната клетка.

    Например, за да получите стойност на клетката въз основа на номера на реда в E1 и номера на колоната в E2, използвайте тази формула:

    =ИНДИРЕКТЕН(АДРЕС(E1,E2))

    Получаване на адреса на клетка с най-висока или най-ниска стойност

    В този пример първо ще намерим най-високата и най-ниската стойност в диапазона B2:B7, като използваме функциите MAX и MIN, и ще изведем тези стойности в специални клетки:

    Клетка E2: =MAX(B2:B7)

    Клетка F2: =MIN(B2:B7)

    След това ще използваме ADDRESS в комбинация с функцията MATCH, за да получим адресите на клетките.

    Клетка с максимална стойност:

    =ADDRESS(MATCH(E2,B:B,0), COLUMN(B2))

    Клетка с минималната стойност:

    =ADDRESS(MATCH(F2,B:B,0), COLUMN(B2))

    В случай че не искате най-високата и най-ниската стойност да бъдат в отделни клетки, можете да вложите функцията MAX/MIN в първия аргумент на MATCH. Например:

    Клетка с най-висока стойност:

    =ADDRESS(MATCH(MAX(B2:B7),B:B,0), COLUMN(B2))

    Клетка с най-ниска стойност:

    =ADDRESS(MATCH(MIN(B2:B7),B:B,0), COLUMN(B2))

    Как работят тези формули

    За да откриете номера на реда, използвате функцията MATCH(lookup_value, lookup_array, [match_type]), която връща относителната позиция на lookup_value в lookup_array. В нашата формула стойността на lookup е числото, върнато от функцията MAX или MIN, а масивът за търсене е цялата колона. Следователно относителната позиция на стойността на lookup в масива съвпада точно с номера на реда в листа.

    За да намерите номера на колоната, използвайте функцията COLUM. Разбира се, нищо не ви пречи да въведете номера директно във формулата, но COLUMN спестява ръчното броене, в случай че целевата колона е в средата на листа.

    Получаване на буква от колона от номер на колона

    За да превърнете дадено число в буква от колона, използвайте функцията ADDRESS в SUBSTITUTE:

    SUBSTITUTE(АДРЕС(1, номер на колона ,4), "1","")

    Като пример, нека намерим буквата на колоната, съответстваща на числото в A2:

    =SUBSTITUTE(ADDRESS(1,A2,4), "1","")

    Като погледнем резултатите по-долу, можем да кажем, че първата колона на листа е A, което е очевидно; 10-ата колона е J, 50-ата колона е AX, а 100-ата колона е CV:

    Как работи тази формула

    Като начало настройте функцията ADDRESS така, че да връща относителна препратка към първата клетка в целевата колона:

    • За номера на реда използвайте 1.
    • За номера на колоната въведете препратка към клетката, съдържаща номера, в нашия пример A2.
    • За аргумента abs_num въведете 4.

    В резултат на това ADDRESS(1,A2,4) ще върне A1.

    За да се отървете от координатата на реда, обвийте горната формула във функцията SUBSTITUTE и заменете "1" с празен низ (""). Готово!

    Получаване на адреса на именуван диапазон

    За да намерите адреса на именуван диапазон в Excel, първо трябва да получите референциите на първата и последната клетка и след това да ги обедините. Това работи малко по-различно в преддинамичния Excel (2019 и по-стари) и в Excel с динамични масиви (Office 365 и Excel 2021). Примерите по-долу са за Excel 2019 - Excel 2007. Инструкциите за Excel 365 и Excel 2021 са тук.

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

    За връщане на препратка към първата клетка в именуван диапазон използвайте тази обща формула:

    АДРЕС(РЕД( обхват ),КОЛОНА( обхват ))

    Ако приемем, че обхватът е наречен "Продажби", реалната формула е следната:

    =АДРЕС(РЕД(Продажби), КОЛОНА(Продажби))

    И връща адреса на горната лява клетка в диапазона:

    В тази формула функциите ROW (ред) и COLUMN (колона) връщат масив от всички номера на редове и колони в диапазона, съответно. Въз основа на тези номера функцията ADDRESS (адрес) изгражда масив от адреси на клетки. Но тъй като формулата е въведена в една клетка, се показва само първият елемент от масива, който съответства на първата клетка в диапазона.

    Как да получите адреса на последната клетка в даден диапазон

    За намиране на адреса на последната клетка в именуван диапазон използвайте тази обща формула:

    АДРЕС(РЕД( обхват )+КРАЙНИЦИ( обхват )-1,КОЛОНА( обхват )+COLUMNS( обхват )-1)

    Приложена към нашия диапазон с име "Продажби", формулата придобива следната форма:

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

    И връща препратката към долната дясна клетка на диапазона:

    Както и в предишния пример, функцията ROW ни дава масив от всички номера на редове в диапазона, в нашия случай {4;5;6;7}. Трябва да "изместим" тези номера с общия брой редове минус 1, така че първият елемент в масива да стане номер на последния ред. За да намерим общия брой редове, използваме функцията ROWS иСлед това прибавяме по 3 към всеки елемент на първоначалния масив, за да направим необходимото преместване: {4;5;6;7} + 3 = {7;8;9;10}.

    Номерът на колоната се изчислява по подобен начин: {2,3,4}+3-1 = {4,5,6}

    От горните масиви от номера на редове и колони функцията ADDRESS събира масив от адреси на клетки, но връща само първия, съответстващ на последната клетка в обхвата.

    Същият резултат може да се постигне и чрез избиране на максималните стойности от масивите на номерата на редовете и колоните. Това обаче работи само във формула за масиви, която изисква натискане на Ctrl + Shift + Enter, за да бъде завършена правилно:

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

    Как да получите пълния адрес на именуван обхват

    За да върнете пълния адрес на именуван диапазон, трябва просто да обедините двете формули от предишните примери и да вмъкнете оператора за диапазон (:) между тях.

    АДРЕС(РЕД( обхват ), КОЛОНА( обхват )) & ":" & ADDRESS(ROW( обхват ) + РЕДОВЕ( обхват )-1, КОЛОНА( обхват ) + КОЛОНИ( обхват )-1)

    За да работи за нашия примерен набор от данни, заменяме общото "range" с истинското име на диапазона "Sales":

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

    И да получите пълния адрес на обхвата като абсолютен справка $B$4:$D$7:

    Връщане на адреса на обхвата като относително (без знака $, например B4:D7), задайте аргумента abs_num в двете функции ADDRESS на 4:

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

    Естествено, същите промени могат да се направят в отделните формули за първата и последната клетка и резултатът ще изглежда по подобен начин:

    Как да получите адреса на именуван диапазон в Excel 365 и Excel 2021

    За разлика от традиционното поведение "една формула - една клетка" в по-старите версии, в новия Excel всяка формула, която потенциално може да върне няколко стойности, прави това автоматично. Такова поведение се нарича преливане.

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

    =АДРЕС(РЕД(Продажби), КОЛОНА(Продажби))

    За да получите адреса на първа клетка само трябва да активирате имплицитното пресичане, което се задейства по подразбиране в Excel 2019 и по-стари версии. За тази цел поставете символа @ (оператор за имплицитно пресичане) преди имената на диапазоните:

    =ADDRESS(@ROW(Sales), @COLUMN(Sales))

    По подобен начин можете да коригирате и други формули.

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

    =ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)

    За да получите адрес на именуван обхват :

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

    Резултатите са показани на снимката по-долу:

    Съвет: Когато отваряте работен лист с формули, създадени в по-стара версия в динамичен масив на Excel, Excel автоматично вмъква оператор за подразбиращо се пресичане.

    Ето как връщате адрес на клетка в Excel. За да разгледате по-отблизо всички формули, разгледани в този урок, можете да изтеглите нашата примерна работна книга по-долу. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!

    Практическа работна тетрадка за изтегляне

    Функция ADDRESS на Excel - примери за формули (.xlsx файл)

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.