Вчера в марафоне 30 функций Excel за 30 дней мы находили элементы массива при помощи функции MATCH (ПОИСКПОЗ) и обнаружили, что она отлично работает в команде с другими функциями, такими как VLOOKUP (ВПР) и INDEX (ИНДЕКС).
20-й день нашего марафона мы посвятим изучению функции ADDRESS (АДРЕС). Она возвращает адрес ячейки в текстовом формате, используя номер строки и столбца. Нужен ли нам этот адрес? Можно ли сделать то же самое с помощью других функций?
Давайте обратимся к сведениям по функции ADDRESS (АДРЕС) и изучим примеры работы с ней. Если у Вас есть дополнительная информация или примеры, пожалуйста, делитесь ими в комментариях.
- Функция 20: ADDRESS (АДРЕС)
- Как можно использовать функцию ADDRESS (АДРЕС)?
- Синтаксис ADDRESS (АДРЕС)
- Ловушки ADDRESS (АДРЕС)
- Пример 1: Получаем адрес ячейки по номеру строки и столбца
- Абсолютная или относительная
- A1 или R1C1
- Название листа
- Пример 2: Находим значение ячейки, используя номер строки и столбца
- Пример 3: Возвращаем адрес ячейки с максимальным значением
Функция 20: ADDRESS (АДРЕС)
Функция ADDRESS (АДРЕС) возвращает ссылку на ячейку в виде текста, основываясь на номере строки и столбца. Она может возвращать абсолютный или относительный адрес в стиле ссылок A1 или R1C1. К тому же в результат может быть включено имя листа.
Как можно использовать функцию ADDRESS (АДРЕС)?
Функция ADDRESS (АДРЕС) может возвратить адрес ячейки или работать в сочетании с другими функциями, чтобы:
- Получить адрес ячейки, зная номер строки и столбца.
- Найти значение ячейки, зная номер строки и столбца.
- Возвратить адрес ячейки с самым большим значением.
Синтаксис ADDRESS (АДРЕС)
Функция ADDRESS (АДРЕС) имеет вот такой синтаксис:
ADDRESS(row_num,column_num,[abs_num],[a1],[sheet_text])
АДРЕС(номер_строки;номер_столбца;[тип_ссылки];[а1];[имя_листа])
- abs_num (тип_ссылки) – если равно 1 или вообще не указано, то функция возвратит абсолютный адрес ($A$1). Чтобы получить относительный адрес (A1), используйте значение 4. Остальные варианты: 2=A$1, 3=$A1.
- a1 – если TRUE (ИСТИНА) или вообще не указано, функция возвращает ссылку в стиле A1, если FALSE (ЛОЖЬ), то в стиле R1C1.
- sheet_text (имя_листа) – имя листа может быть указано, если Вы желаете видеть его в возвращаемом функцией результате.
Ловушки ADDRESS (АДРЕС)
Функция ADDRESS (АДРЕС) возвращает лишь адрес ячейки в виде текстовой строки. Если Вам нужно значение ячейки, используйте её в качестве аргумента функции INDIRECT (ДВССЫЛ) или примените одну из альтернативных формул, показанных в примере 2.
Пример 1: Получаем адрес ячейки по номеру строки и столбца
При помощи функции ADDRESS (АДРЕС) Вы можете получить адрес ячейки в виде текста, используя номер строки и столбца. Если Вы введёте только эти два аргумента, результатом будет абсолютный адрес, записанный в стиле ссылок A1.
=ADDRESS($C$2,$C$3)
=АДРЕС($C$2;$C$3)
Абсолютная или относительная
Если не указывать значение аргумента abs_num (тип_ссылки) в формуле, то результатом будет абсолютная ссылка.
Чтобы увидеть адрес в виде относительной ссылки, можно подставить в качестве аргумента abs_num (тип_ссылки) значение 4.
=ADDRESS($C$2,$C$3,4)
=АДРЕС($C$2;$C$3;4)
A1 или R1C1
Чтобы задать стиль ссылок R1C1, вместо принятого по умолчанию стиля A1, Вы должны указать значение FALSE (ЛОЖЬ) для аргумента а1.
=ADDRESS($C$2,$C$3,1,FALSE)
=АДРЕС($C$2;$C$3;1;ЛОЖЬ)
Название листа
Последний аргумент – это имя листа. Если Вам необходимо это имя в полученном результате, укажите его в качестве аргумента sheet_text (имя_листа).
=ADDRESS($C$2,$C$3,1,TRUE,"Ex02")
=АДРЕС($C$2;$C$3;1;ИСТИНА;"Ex02")
Пример 2: Находим значение ячейки, используя номер строки и столбца
Функция ADDRESS (АДРЕС) возвращает адрес ячейки в виде текста, а не как действующую ссылку. Если Вам нужно получить значение ячейки, можно использовать результат, возвращаемый функцией ADDRESS (АДРЕС), как аргумент для INDIRECT (ДВССЫЛ). Мы изучим функцию INDIRECT (ДВССЫЛ) позже в рамках марафона 30 функций Excel за 30 дней.
=INDIRECT(ADDRESS(C2,C3))
=ДВССЫЛ(АДРЕС(C2;C3))
Функция INDIRECT (ДВССЫЛ) может работать и без функции ADDRESS (АДРЕС). Вот как можно, используя оператор конкатенации «&«, слепить нужный адрес в стиле R1C1 и в результате получить значение ячейки:
=INDIRECT("R"&C2&"C"&C3,FALSE)
=ДВССЫЛ("R"&C2&"C"&C3;ЛОЖЬ)
Функция INDEX (ИНДЕКС) также может вернуть значение ячейки, если указан номер строки и столбца:
=INDEX(1:5000,C2,C3)
=ИНДЕКС(1:5000;C2;C3)
1:5000 – это первые 5000 строк листа Excel.
Пример 3: Возвращаем адрес ячейки с максимальным значением
В этом примере мы найдём ячейку с максимальным значением и используем функцию ADDRESS (АДРЕС), чтобы получить её адрес.
Функция MAX (МАКС) находит максимальное число в столбце C.
=MAX(C3:C8)
=МАКС(C3:C8)
Далее в игру вступает функция ADDRESS (АДРЕС) в сочетании с MATCH (ПОИСКПОЗ), которая находит номер строки, и COLUMN (СТОЛБЕЦ), которая определяет номер столбца.
=ADDRESS(MATCH(F3,C:C,0),COLUMN(C2))
=АДРЕС(ПОИСКПОЗ(F3;C:C;0);СТОЛБЕЦ(C2))
Урок подготовлен для Вас командой сайта office-guru.ru
Источник: http://blog.contextures.com/archives/2011/01/21/30-excel-functions-in-30-days-20-address/
Перевел: Антон Андронов
Правила перепечатки
Еще больше уроков по Microsoft Excel