Зміст
У навчальному посібнику дається короткий вступ до синтаксису функції АДРЕСА і показується, як її використовувати для повернення адреси комірки Excel і не тільки.
Для створення посилання на комірку в Excel можна ввести координати стовпця і рядка вручну. Альтернативно можна отримати адресу комірки Excel з номерів рядка і стовпця, переданих функції АДРЕСА. Практично безглуздий сам по собі, в поєднанні з іншими функціями цей прийом може бути єдиним рішенням в ситуаціях, коли немає можливості послатися на комірку безпосередньо.
Функція АДРЕСА Excel - синтаксис та основні застосування
Функція АДРЕСА призначена для отримання адреси комірки в 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 або ІСТИНА або пропущено - повертає адресу комірки у стилі посилання А1, де стовпці - літери, а рядки - цифри.
- 0 або FALSE - повертає адресу комірки в стилі посилань R1C1, де рядки і стовпці представлені числами.
лист_текст - ім'я аркуша для включення у зовнішнє посилання. Ім'я аркуша подається у вигляді текстового рядка і береться в лапки, наприклад, "Аркуш2". Якщо його не вказати, то ім'я аркуша не використовується, а адреса за замовчуванням вказує на поточний аркуш.
Наприклад:
=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, "Лист2") | Аркуш 2! | Абсолютне посилання на інший аркуш |
=ADDRESS(1,2,4, "Лист2") | Аркуш 2! Б1 | Відносне посилання на інший аркуш |
Як використовувати функцію АДРЕСА в Excel - приклади формул
Наведені нижче приклади показують, як використовувати функцію АДРЕСА всередині великих формул для виконання більш складних завдань.
Повернути значення комірки в заданому рядку та стовпчику
Якщо ваша мета - отримати значення з конкретної комірки на основі номерів її рядків і стовпців, використовуйте функцію АДРЕСА разом з функцією НЕПРЯМА:
INDIRECT(ADDRESS(row_num, column_num))Функція АДРЕСА виводить адресу комірки у вигляді тексту, а функція НЕПРЯМА перетворює цей текст у звичайне посилання і повертає значення з відповідної комірки.
Наприклад, щоб отримати значення комірки на основі номера рядка в E1 і номера стовпця в E2, використовуйте цю формулу:
=INDIRECT(ADDRESS(E1,E2))
Отримати адресу комірки з найбільшим або найменшим значенням
У цьому прикладі ми спочатку знайдемо найбільше і найменше значення в діапазоні B2:B7 за допомогою функцій MAX і MIN і виведемо ці значення в спеціальні комірки:
Камера Е2: =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))
Якщо ви не хочете, щоб найбільше і найменше значення знаходилися в окремих комірках, ви можете вкласти функцію МАКС/МІН в перший аргумент функції СРЗНАЧ. Наприклад:
Комірка з найбільшим значенням:
=ADDRESS(MATCH(MAX(B2:B7),B:B,0), COLUMN(B2))
Комірка з найменшим значенням:
=ADDRESS(MATCH(MIN(B2:B7),B:B,0), COLUMN(B2))
Як працюють ці формули
Для знаходження номера рядка використовується функція МАТЧ(значення_пошуку, масив_пошуку, [тип_відповідності]), яка повертає відносну позицію значення_пошуку в масиві_пошуку. У нашій формулі значення_пошуку - це число, що повертається функцією МАКС або МИН, а масив_пошуку - весь стовпець. Отже, відносна позиція значення_пошуку в масиві в точності збігається з номером рядка на листі.
Для знаходження номера стовпця використовується функція КОЛОМЕТР. Звичайно, ніщо не заважає набрати номер безпосередньо у формулі, але КОЛОМЕТР позбавляє від необхідності ручного підрахунку в разі, якщо шуканий стовпець знаходиться в середині аркуша.
Отримати літеру стовпця з номера стовпця
Щоб перетворити будь-яке задане число в букву стовпчика, використовуйте функцію ADDRESS всередині SUBSTITUTE:
ЗАМІНА(АДРЕСА(1, номер_колонки ,4), "1","")Як приклад, знайдемо літеру стовпчика, що відповідає номеру в А2:
=SUBSTITUTE(ADDRESS(1,A2,4), "1","")
Дивлячись на наведені нижче результати, можна сказати, що перший стовпчик на аркуші - А, що є очевидним; 10-й стовпчик - J, 50-й стовпчик - AX, а 100-й стовпчик - CV:
Як працює ця формула
Для початку налаштуйте функцію АДРЕСА так, щоб вона повертала відносне посилання на першу комірку в цільовому стовпці:
- Для номера рядка використовуйте 1.
- Для номера стовпця вкажіть посилання на комірку, що містить номер, у нашому прикладі - А2.
- Для аргументу abs_num введіть 4.
В результаті ADDRESS(1,A2,4) поверне значення A1.
Щоб позбутися координати рядка, оберніть вищенаведену формулу у функцію ПІДСТАНОВКА і замініть "1" на порожній рядок (""). Готово!
Отримати адресу іменованого діапазону
Щоб знайти адресу іменованого діапазону в Excel, спочатку потрібно отримати посилання на першу та останню комірку, а потім з'єднати їх разом. Це працює дещо по-різному в додинамічному Excel (2019 і старіші версії) та в Excel з динамічним масивом (Office 365 і Excel 2021). Нижче наведено приклади для Excel 2019 - Excel 2007. Інструкції для Excel 365 і Excel 2021 тут.
Як отримати адресу першої комірки в діапазоні
Щоб повернути посилання на першу комірку в іменованому діапазоні, використовуйте цю загальну формулу:
ADDRESS(ROW() діапазон ),COLUMN( діапазон ))Якщо припустити, що діапазон має назву "Продажі", то реальна формула виглядає наступним чином:
=ADDRESS(ROW(Продажі), COLUMN(Продажі))
І повертає адресу верхньої лівої комірки в діапазоні:
У цій формулі функції СТРОКА і СТАВКА повертають масив всіх номерів рядків і стовпців діапазону відповідно. На основі цих номерів функція АДРЕСА будує масив адрес комірок. Але оскільки формула введена в одну комірку, то на екран виводиться тільки перший елемент масиву, що відповідає першій комірці діапазону.
Як отримати адресу останньої комірки в діапазоні
Для знаходження адреси останньої комірки в іменованому діапазоні використовується така загальна формула:
ADDRESS(ROW() діапазон )+ROWS( діапазон )-1,COLUMN( діапазон )+COLUMNS( діапазон )-1)У застосуванні до нашого асортименту під назвою "Продажі" формула набуває наступного вигляду:
=АДРЕСА(РЯДОК(Продажі) + РЯДОК(Продажі)-1, Стовпчик(Продажі) + Стовпчик(Продажі)-1)
І повертає посилання на нижню праву комірку діапазону:
Цього разу нам знадобляться дещо складніші обчислення для визначення номера рядка. Як і в попередньому прикладі, функція ROW дає нам масив усіх номерів рядків у діапазоні, в нашому випадку {4;5;6;7}. Нам потрібно "зсунути" ці числа на загальну кількість рядків мінус 1, щоб перший елемент масиву став останнім номером рядка. Щоб знайти загальну кількість рядків, ми використовуємо функцію ROWS івіднімаємо від його результату 1: (4-1=3). Потім до кожного елементу початкового масиву додаємо 3, щоб зробити необхідний зсув: {4;5;6;7} + 3 = {7;8;9;10}.
Номер стовпчика розраховується аналогічно: {2,3,4}+3-1 = {4,5,6}.
З наведених вище масивів номерів рядків і стовпців функція АДРЕСА збирає масив адрес комірок, але повертає тільки першу, що відповідає останній комірці в діапазоні.
Такого ж результату можна досягти, вибравши максимальні значення з масивів номерів рядків і стовпців. Однак це працює тільки в формулі масиву, для коректного заповнення якої потрібно натиснути Ctrl + Shift + Enter:
=ADDRESS(MAX(ROW(Sales)), MAX(COLUMN(Sales)))
Як отримати повну адресу іменованого діапазону
Щоб повернути повну адресу іменованого діапазону, достатньо звести дві формули з попередніх прикладів і вставити між ними оператор діапазону (:).
ADDRESS(ROW() діапазон ), COLUMN( діапазон )) & ":" & ADDRESS(ROW( діапазон ) + ROWS( діапазон )-1, COLUMN( діапазон ) + COLUMNS( діапазон )-1)Для того, щоб він працював для нашого вибіркового набору даних, ми замінимо загальну назву "діапазон" на реальну назву діапазону "Продажі":
=АДРЕСА(РЯДОК(Продажі), Стовпчик(Продажі)) & ":" & АДРЕСА(РЯДОК(Продажі) + РЯДОК(Продажі)-1, Стовпчик(Продажі) + Стовпчик(Продажі)-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 будь-яка формула, яка потенційно може повернути кілька значень, робить це автоматично. Така поведінка називається розливанням (spilling).
Наприклад, замість того, щоб повернути адресу першої комірки, наведена нижче формула виводить адреси кожної комірки в іменованому діапазоні:
=ADDRESS(ROW(Продажі), COLUMN(Продажі))
Для того, щоб отримати адресу перша клітина тільки потрібно включити неявний перетин, який спрацьовує за замовчуванням в Excel 2019 і старіших версіях. Для цього перед іменами діапазонів потрібно поставити символ @ (оператор неявного перетину):
=ADDRESS(@ROWORD(Продажі), @COLUMN(Продажі))
Аналогічним чином можна зафіксувати й інші формули.
Щоб отримати остання комірка в діапазоні:
=ADDRESS(@ROWN(Продажі) + ROWS(Продажі)-1, @COLUMN(Продажі) + COLUMNS(Продажі)-1)
Для того, щоб отримати адреса іменованого діапазону :
=ADDRESS(@ROWN(Sales), @COLUMN(Sales)) & ":" & ADDRESS(@ROWN(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
Нижче наведено скріншот, який демонструє результати:
Порада. При відкритті аркуша з формулами, створеними в старій версії в динамічному масиві Excel, неявний оператор перетину вставляється Excel автоматично.
Ось так ви повертаєте адресу комірки в Excel. Щоб більш детально розглянути всі формули, розглянуті в цьому уроці, ви можете завантажити наш зразок робочого зошита нижче. Дякую за прочитання і сподіваюся побачити вас на нашому блозі наступного тижня!
Практичний посібник для завантаження
Функція АДРЕСА Excel - приклади формул (файл .xlsx)