Функция INDIRECT (ДВССЫЛ) в Excel используется когда у вас есть ссылки в виде текста, и вы хотите получить значения из этих ссылок.
Содержание
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Дополнительная информация
- Примеры использования функции ДВССЫЛ в Excel
- Пример 1. Используем ссылку на ячейку для получения значения
- Пример 2. Получаем данные по ссылке на ячейку
- Пример 3. Используем комбинацию текстового и числового значений в функции INDIRECT (ДВССЫЛ)
- Пример 4. Ссылаемся на диапазон ячеек с помощью функции INDIRECT (ДВССЫЛ)
- Пример 5. Ссылаемся на именованный диапазон значений с использованием функции INDIRECT (ДВССЫЛ)
- Пример 6. Создаем зависимый выпадающий список с помощью INDIRECT (ДВССЫЛ)
Что возвращает функция
Функция возвращает ссылку, заданную текстовой строкой.
Синтаксис
=INDIRECT(ref_text, [a1]) — английская версия
=ДВССЫЛ(ссылка_на_текст;[a1]) — русская версия
Аргументы функции
- ref_text (ссылка_на_текст) — текстовая строка, которая содержит в себе ссылку на ячейку или именованный диапазон;
- [a1] — логическое значение, которое определяет тип ссылки используемой в аргументе ref_text (ссылка_на_текст). Значения аргумента могут быть TRUE (ссылка указана в формате «А1») или FALSE (ссылка указана в формате «R1C1»). Если не указать этот аргумент, то Excel автоматически определит его значение как TRUE.
Дополнительная информация
- Функция INDIRECT (ДВССЫЛ) это волатильная функция (используйте с осторожностью);
- Она пересчитывает значения каждый раз, когда вы открываете Excel файл, и каждый раз когда вычисление запускается на рабочем листе Excel;
- Так как волатильные функции постоянно обновляются и производят вычисления, это, в свою очередь, замедляет работу вашего Excel файла.
- Аргумент текстовой ссылки может выглядеть как:
— ссылка на ячейку, которая содержит ссылку на ячейку в формате «A1» или «R1C1».
— ссылка на ячейку в двойных кавычках.
— именованный диапазон, возвращающий ссылку
Примеры использования функции ДВССЫЛ в Excel
Пример 1. Используем ссылку на ячейку для получения значения
Функция ДВССЫЛ получает ссылку на ячейку как исходные данные и возвращает значение ячейки по этой ссылке (как показано в примере ниже):
Формула в ячейке С1:
=INDIRECT(“A1”) — английская версия
=ДВССЫЛ(«A1») — русская версия
Функция получает ссылку на ячейку (в двойных кавычках) и возвращает значение этой ячейки, которая равна “123”.
Вы можете спросить — почему бы нам просто не использовать «=A1» вместо использования функции INDIRECT (ДВССЫЛ)?
И вот почему…
Если в данном случае вы введете в ячейку С1 формулу “=A1” или “=$A$1”, то она выдаст вам тот же результат, что находится в ячейке А1. Но если вы вставите в таблице строку выше, вы можете заметить, что ссылка на ячейку будет автоматически изменена.
Функция очень полезна, если вы хотите заблокировать ссылку на ячейку таким образом, чтобы она не изменялась при вставке строк / столбцов в рабочий лист.
Пример 2. Получаем данные по ссылке на ячейку
Также, с помощью функции вы можете извлечь значения из ячейки, ссылка на которую хранится в самой ячейке.
На примере выше, ячейка «А1» содержит в себе число “123”.
Ячейка «С1» ссылается на ячейку «А1».
Теперь, используя с помощью функции вы можете указать ячейку С1 как аргумент функции, который выведет по итогу значение ячейки А1.
Важно. Вам не нужно использовать кавычки в ячейке С1, значение ссылки на ячейку должно быть указано в текстовом формате.
Пример 3. Используем комбинацию текстового и числового значений в функции INDIRECT (ДВССЫЛ)
Вы можете создать ссылку на ячейку используя комбинацию текстовых и числовых значений.
Например, если в ячейке С1 указано число “2”, то используя формулу =INDIRECT(“A”&C1) или =ДВССЫЛ(«A»&C1) вы получите ссылку на значение ячейки «А2».
Практическое применение этого способа актуально, когда вы хотите динамически ссылаться на ячейки на основе значения в какой-либо другой ячейке.
Больше лайфхаков в нашем Telegram Подписаться
Пример 4. Ссылаемся на диапазон ячеек с помощью функции INDIRECT (ДВССЫЛ)
С помощью функции вы можете ссылаться на диапазон ячеек.
Например, =INDIRECT(“A1:A5”) или =ДВССЫЛ(«A1:A5») будет ссылаться на данные из диапазона ячеек «A1:A5».
Используя функцию SUM (СУММ) и INDIRECT (ДВССЫЛ) вместе, вы можете рассчитать сумму, а также максимальные и минимальные значения диапазона.
Пример 5. Ссылаемся на именованный диапазон значений с использованием функции INDIRECT (ДВССЫЛ)
Если вы создали именованный диапазон в Excel, вы можете обратиться к нему с помощью функции INDIRECT (ДВССЫЛ).
Например, представим что у вас есть оценки по 5 студентам по трем предметам как показано ниже:
Зададим для следующих ячеек названия:
- B2:B6: Математика
- C2:C6: Физика
- D2:D6: Химия
Для того чтобы задать название любому диапазону значений, достаточно выбрать ячейки и присвоить им название в соответствующем боксе:
После этого вы можете обратиться к указанным диапазонам с помощью формулы:
=INDIRECT(“Именованный диапазон”) — английская версия
=ДВССЫЛ(“Именованный диапазон”) — русская версия
Например, если вы хотите узнать средний балл среди студентов по математике — используйте следующую формулу:
=AVERAGE(INDIRECT(“Математика”)) — английская версия
=СРЗНАЧ(ДВССЫЛ(«Математика»)) — русская версия
Если имя диапазона указано в ячейке («F2» в приведенном ниже примере указан как “Матем”), вы можете использовать ссылку на ячейку прямо в формуле. В следующем примере показано, как вычислять среднее значение с использованием именных диапазонов.
Пример 6. Создаем зависимый выпадающий список с помощью INDIRECT (ДВССЫЛ)
C помощью этой функции вы можете создавать зависимый выпадающий список.
Например, предположим, что у вас есть две колонки с названиями «Россия» и «США», в строках указаны города этих стран, как указано на примере ниже:
Для того, чтобы создать зависимый выпадающий список вам нужно создать два именованных диапазона для ячеек «A2:A5» с именем “Россия” и для ячеек «B2:B5» с названием “США”.
Теперь, в ячейке «D2» создайте выпадающий список для «России» и «США». Так мы создадим первый выпадающий список, в котором пользователь сможет выбрать одну из двух стран.
Теперь, для создания зависимого выпадающего списка:
- Выделите ячейку E2 (или любую другую ячейку, в которой вы хотите сделать зависимый выпадающий список);
- Кликните по вкладке “Data” -> “Data Validation”;
- На вкладке “Настройки” в разделе “Allow” выберите List;
- В разделе “Source” укажите ссылку: =INDIRECT($D$2) или =ДВССЫЛ($D$2);
- Нажмите ОК
Теперь, если вы выберите в первом выпадающем списке, например, страну «Россия», то во втором выпадающем списке появятся только те города, которые относятся к этой стране. Такая же ситуация, если вы выберите страну «США» из первого выпадающего списка.
На первый взгляд (особенно при чтении справки) функция ДВССЫЛ (INDIRECT) выглядит простой и даже ненужной. Ее суть в том, чтобы превращать текст похожий на ссылку — в полноценную ссылку. Т.е. если нам нужно сослаться на ячейку А1, то мы можем либо привычно сделать прямую ссылку (ввести знак равно в D1, щелкнуть мышью по А1 и нажать Enter), а можем использовать ДВССЫЛ для той же цели:
Обратите внимание, что аргумент функции — ссылка на А1 — введен в кавычках, поэтому что, по сути, является здесь текстом.
«Ну ОК», — скажете вы. «И что тут полезного?».
Но не судите по первому впечатлению — оно обманчиво. Эта функция может выручить вас в большом количестве ситуаций.
Пример 1. Транспонирование
Классика жанра: нужно превратить вертикальный диа
пазон в горизонтальный (транспонировать). Само-собой, можно использовать специальную вставку или функцию ТРАНСП (TRANSPOSE) в формуле массива, но можно обойтись и нашей ДВССЫЛ:
Логика проста: чтобы получить адрес очередной ячейки, мы склеиваем спецсимволом «&» букву «А» и номер столбца текущей ячейки, который выдает нам функция СТОЛБЕЦ (COLUMN).
Обратную процедуру лучше проделать немного по-другому. Поскольку на этот раз нам нужно формировать ссылку на ячейки B2, C2, D2 и т.д., то удобнее использовать режим ссылок R1C1 вместо классического «морского боя». В этом режиме наши ячейки будут отличаться только номером столбца: B2=R1C2, C2=R1C3, D2=R1C4 и т.д.
Тут на помощь приходит второй необязательный аргумент функции ДВССЫЛ. Если он равен ЛОЖЬ (FALSE), то можно задавать адрес ссылки в режиме R1C1. Таким образом, мы можем легко транспонировать горизонтальный диапазон обратно в вертикальный:
Пример 2. Суммирование по интервалу
Мы уже разбирали один способ суммирования по окну (диапазону) заданного размера на листе с помощью функции СМЕЩ (OFFSET). Подобную задачу можно решить и с помощью ДВССЫЛ. Если нам нужно суммировать данные только из определенного диапазона-периода, то можно склеить его из кусочков и превратить затем в полноценную ссылку, которую и вставить внутрь функции СУММ (SUM):
Пример 3. Выпадающий список по умной таблице
Иногда Microsoft Excel не воспринимает имена и столбцы умных таблиц как полноценные ссылки. Так, например, при попытке создать выпадающий список (вкладка Данные — Проверка данных) на основе столбца Сотрудники из умной таблицы Люди мы получим ошибку:
Если же «обернуть» ссылку нашей функцией ДВССЫЛ, то Excel преспокойно ее примет и наш выпадающий список будет динамически обновляться при дописывании новых сотрудников в конец умной таблицы:
Пример 4. Несбиваемые ссылки
Как известно, Excel автоматически корректирует адреса ссылок в формулах при вставке или удалении строк-столбцов на лист. В большинстве случаев это правильно и удобно, но не всегда. Допустим, что нам нужно перенести имена из справочника по сотрудникам в отчет:
Если ставить обычные ссылки (в первую зеленую ячейку ввести =B2 и скопировать вниз), то потом при удалении, например, Даши мы получим в соответствующей ей зеленой ячейке ошибку #ССЫЛКА! (#REF!). В случае применения для создания ссылок функции ДВССЫЛ такой проблемы не будет.
Пример 5. Сбор данных с нескольких листов
Предположим, что у нас есть 5 листов с однотипными отчетами от разных сотрудников (Михаил, Елена, Иван, Сергей, Дмитрий):
Допустим, что форма, размеры, положение и последовательность товаров и месяцев во всех таблицах одинаковые — различаются только числа.
Собрать данные со всех листов (не просуммировать, а положить друг под друга «стопочкой») можно всего одной формулой:
Как видите, идея та же: мы склеиваем ссылку на нужную ячейку заданного листа, а ДВССЫЛ превращает ее в «живую». Для удобства, над таблицей я добавил буквы столбцов (B,C,D), а справа — номера строк, которые нужно взять с каждого листа.
Подводные камни
При использовании ДВССЫЛ (INDIRECT) нужно помнить про ее слабые места:
- Если вы делаете ссылку в другой файл (склеивая имя файла в квадратных скобках, имя листа и адрес ячейки), то она работает только пока исходный файл открыт. Если его закрыть, то получим ошибку #ССЫЛКА!
- С помощью ДВССЫЛ нельзя сделать ссылку на динамический именованный диапазон. На статический — без проблем.
- ДВССЫЛ является волатильной (volatile) или «летучей» функцией, т.е. она пересчитывается при любом изменении любой ячейки листа, а не только влияющих ячеек, как у обычных функций. Это плохо отражается на быстродействии и на больших таблицах ДВССЫЛ лучше не увлекаться.
Ссылки по теме
- Как создать динамический диапазон с автоподстройкой размеров
- Суммирование по диапазону-окну на листе функцией СМЕЩ (OFFSET)
Содержание
- Функция ДВССЫЛ
- Описание
- Синтаксис
- Пример
- Функция INDIRECT (ДВССЫЛ) в Excel. Как использовать?
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Дополнительная информация
- Примеры использования функции ДВССЫЛ в Excel
- Пример 1. Используем ссылку на ячейку для получения значения
- Пример 2. Получаем данные по ссылке на ячейку
- Пример 3. Используем комбинацию текстового и числового значений в функции INDIRECT (ДВССЫЛ)
- Пример 4. Ссылаемся на диапазон ячеек с помощью функции INDIRECT (ДВССЫЛ)
- Пример 5. Ссылаемся на именованный диапазон значений с использованием функции INDIRECT (ДВССЫЛ)
- Пример 6. Создаем зависимый выпадающий список с помощью INDIRECT (ДВССЫЛ)
- Excel. Примеры использования функции ДВССЫЛ (INDIRECT)
Функция ДВССЫЛ
В этой статье описаны синтаксис формулы и использование функции ДВССЫЛ в Microsoft Excel.
Описание
Возвращает ссылку, заданную текстовой строкой. Ссылки немедленно вычисляются для вывода их содержимого. Функция ДВССЫЛ используется, если требуется изменить ссылку на ячейку в формуле без изменения самой формулы.
Синтаксис
Аргументы функции ДВССЫЛ описаны ниже.
Ссылка_на_текст — обязательный аргумент. Ссылка на ячейку, которая содержит ссылку в стиле А1 или R1C1, имя, определенное как ссылка, или ссылку на ячейку в виде текстовой строки. Если значение аргумента «ссылка_на_текст» не является допустимой ссылкой, функция ДВССЫЛ возвращает значение ошибки #ССЫЛКА!.
Если значение аргумента «ссылка_на_ячейку» является ссылкой на другую книгу (внешней ссылкой), другая книга должна быть открыта. В противном случае функция ДВССЫЛ возвращает значение ошибки #ССЫЛКА!. Примечание.Поддержка внешних ссылок в Excel Web App отсутствует.
Если значение аргумента «ссылка_на_текст» является ссылкой на диапазон ячеек, превышающий предельное число строк 1 048 576 или столбцов 16 384 (XFD), функция ДВССЫЛ возвращает значение ошибки #ССЫЛКА!.
Примечание. Этот результат отличается от результата, получаемого в более ранних версиях приложения Excel, чем Microsoft Office Excel 2007, в которых превышение предела игнорируется и возвращается значение.
A1 — необязательный аргумент. Логическое значение, определяющее тип ссылки, содержащейся в ячейке «ссылка_на_текст».
Если аргумент «a1» имеет значение ИСТИНА или опущен, «ссылка_на_ячейку» интерпретируется как ссылка в стиле A1.
Если аргумент «a1» имеет значение ЛОЖЬ, «ссылка_на_ячейку» интерпретируется как ссылка в стиле R1C1.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Источник
Функция INDIRECT (ДВССЫЛ) в Excel. Как использовать?
Функция INDIRECT (ДВССЫЛ) в Excel используется когда у вас есть ссылки в виде текста, и вы хотите получить значения из этих ссылок.
Что возвращает функция
Функция возвращает ссылку, заданную текстовой строкой.
Синтаксис
=INDIRECT(ref_text, [a1]) — английская версия
=ДВССЫЛ(ссылка_на_текст;[a1]) — русская версия
Аргументы функции
- ref_text (ссылка_на_текст) — текстовая строка, которая содержит в себе ссылку на ячейку или именованный диапазон;
- [a1] — логическое значение, которое определяет тип ссылки используемой в аргументе ref_text (ссылка_на_текст). Значения аргумента могут быть TRUE (ссылка указана в формате «А1») или FALSE (ссылка указана в формате «R1C1»). Если не указать этот аргумент, то Excel автоматически определит его значение как TRUE.
Дополнительная информация
- Функция INDIRECT (ДВССЫЛ) это волатильная функция (используйте с осторожностью);
- Она пересчитывает значения каждый раз, когда вы открываете Excel файл, и каждый раз когда вычисление запускается на рабочем листе Excel;
- Так как волатильные функции постоянно обновляются и производят вычисления, это, в свою очередь, замедляет работу вашего Excel файла.
- Аргумент текстовой ссылки может выглядеть как:
— ссылка на ячейку, которая содержит ссылку на ячейку в формате «A1» или «R1C1».
— ссылка на ячейку в двойных кавычках.
— именованный диапазон, возвращающий ссылку
Примеры использования функции ДВССЫЛ в Excel
Пример 1. Используем ссылку на ячейку для получения значения
Функция ДВССЫЛ получает ссылку на ячейку как исходные данные и возвращает значение ячейки по этой ссылке (как показано в примере ниже):
Формула в ячейке С1:
=INDIRECT(“A1”) — английская версия
=ДВССЫЛ(«A1») — русская версия
Функция получает ссылку на ячейку (в двойных кавычках) и возвращает значение этой ячейки, которая равна “123”.
Вы можете спросить — почему бы нам просто не использовать «=A1» вместо использования функции INDIRECT (ДВССЫЛ) ?
Если в данном случае вы введете в ячейку С1 формулу “=A1” или “=$A$1”, то она выдаст вам тот же результат, что находится в ячейке А1. Но если вы вставите в таблице строку выше, вы можете заметить, что ссылка на ячейку будет автоматически изменена.
Функция очень полезна, если вы хотите заблокировать ссылку на ячейку таким образом, чтобы она не изменялась при вставке строк / столбцов в рабочий лист.
Пример 2. Получаем данные по ссылке на ячейку
Также, с помощью функции вы можете извлечь значения из ячейки, ссылка на которую хранится в самой ячейке.
На примере выше, ячейка «А1» содержит в себе число “123”.
Ячейка «С1» ссылается на ячейку «А1».
Теперь, используя с помощью функции вы можете указать ячейку С1 как аргумент функции, который выведет по итогу значение ячейки А1.
Важно. Вам не нужно использовать кавычки в ячейке С1, значение ссылки на ячейку должно быть указано в текстовом формате.
Пример 3. Используем комбинацию текстового и числового значений в функции INDIRECT (ДВССЫЛ)
Вы можете создать ссылку на ячейку используя комбинацию текстовых и числовых значений.
Например, если в ячейке С1 указано число “2”, то используя формулу =INDIRECT(“A”&C1) или =ДВССЫЛ(«A»&C1) вы получите ссылку на значение ячейки «А2».
Практическое применение этого способа актуально, когда вы хотите динамически ссылаться на ячейки на основе значения в какой-либо другой ячейке.
Пример 4. Ссылаемся на диапазон ячеек с помощью функции INDIRECT (ДВССЫЛ)
С помощью функции вы можете ссылаться на диапазон ячеек.
Например, =INDIRECT(“A1:A5”) или =ДВССЫЛ(«A1:A5») будет ссылаться на данные из диапазона ячеек «A1:A5».
Используя функцию SUM (СУММ) и INDIRECT (ДВССЫЛ) вместе, вы можете рассчитать сумму, а также максимальные и минимальные значения диапазона.
Пример 5. Ссылаемся на именованный диапазон значений с использованием функции INDIRECT (ДВССЫЛ)
Если вы создали именованный диапазон в Excel, вы можете обратиться к нему с помощью функции INDIRECT (ДВССЫЛ) .
Например, представим что у вас есть оценки по 5 студентам по трем предметам как показано ниже:
Зададим для следующих ячеек названия:
Для того чтобы задать название любому диапазону значений, достаточно выбрать ячейки и присвоить им название в соответствующем боксе:
После этого вы можете обратиться к указанным диапазонам с помощью формулы:
=INDIRECT(“Именованный диапазон”) — английская версия
=ДВССЫЛ(“Именованный диапазон”) — русская версия
Например, если вы хотите узнать средний балл среди студентов по математике — используйте следующую формулу:
=AVERAGE(INDIRECT(“Математика”)) — английская версия
=СРЗНАЧ(ДВССЫЛ(«Математика»)) — русская версия
Если имя диапазона указано в ячейке («F2» в приведенном ниже примере указан как “Матем”), вы можете использовать ссылку на ячейку прямо в формуле. В следующем примере показано, как вычислять среднее значение с использованием именных диапазонов.
Пример 6. Создаем зависимый выпадающий список с помощью INDIRECT (ДВССЫЛ)
C помощью этой функции вы можете создавать зависимый выпадающий список.
Например, предположим, что у вас есть две колонки с названиями «Россия» и «США», в строках указаны города этих стран, как указано на примере ниже:
Для того, чтобы создать зависимый выпадающий список вам нужно создать два именованных диапазона для ячеек «A2:A5» с именем “Россия” и для ячеек «B2:B5» с названием “США”.
Теперь, в ячейке «D2» создайте выпадающий список для «России» и «США». Так мы создадим первый выпадающий список, в котором пользователь сможет выбрать одну из двух стран.
Теперь, для создания зависимого выпадающего списка:
- Выделите ячейку E2 (или любую другую ячейку, в которой вы хотите сделать зависимый выпадающий список);
- Кликните по вкладке “Data” -> “Data Validation”;
- На вкладке “Настройки” в разделе “Allow” выберите List;
- В разделе “Source” укажите ссылку: =INDIRECT($D$2) или =ДВССЫЛ($D$2) ;
- Нажмите ОК
Теперь, если вы выберите в первом выпадающем списке, например, страну «Россия», то во втором выпадающем списке появятся только те города, которые относятся к этой стране. Такая же ситуация, если вы выберите страну «США» из первого выпадающего списка.
Источник
Excel. Примеры использования функции ДВССЫЛ (INDIRECT)
Функция ДВССЫЛ (INDIRECT) — одна из наиболее трудных в освоении функций Excel. Однако умение использовать ее позволит вам решать многие из задач, кажущихся вам сейчас неразрешимыми. По сути, если в формуле есть раздел ДВССЫЛ со ссылкой на ячейку, эта ссылка обрабатывается как содержимое соответствующей ячейки. [1] Например (рис. 1), в ячейке С4 я ввел формулу =ДВССЫЛ(А4), и Excel возвратил значение, равное 6. Excel возвращает именно это значение, поскольку ссылка на А4 немедленно заменяется текстовой строкой В4. Следовательно, формула обрабатывается как =В4, что дает нам 6. По аналогии, если ввести в ячейке С5 формулу =ДВССЫЛ(А5), Excel вернет значение ячейки В5, то есть 9.
Рис. 1. Простой пример функции ДВССЫЛ
Скачать заметку в формате Word или pdf, также доступны примеры и Задание_3 в формате Excel2013
1. Формулы моей электронной таблицы часто содержат ссылки на ячейки, диапазоны или на то и на другое вместе. Можно ли не изменять ссылки в формулах, а поместить их в отдельные ячейки, чтобы редактировать ссылки на ячейки и диапазоны, не затрагивая при этом формулы?
В диапазоне ячеек В4:Н16 (рис. 2) приведены данные о ежемесячных продажах шести товаров за 12 месяцев. Сейчас я подсчитаю общие продажи каждого товара за месяцы со 2 по 12. Простейший способ подсчитать это — скопировать формулу СУММ(С6:С16) из ячейки С18 в диапазон D18:H18. Предположим, вам потребовалось изменить месяцы, по которым производится подсчет. Скажем, вы решите подсчитать общие продажи за месяцы 3–12. Можно изменить формулу в ячейке С18 на СУММ(С7:С16) и затем скопировать ее в диапазон D18:H18. Однако может быть не всегда удобно, поскольку вам приходится копировать формулу из ячейки С18 в диапазон D18:H18, и, не просматривая формул, никто не узнает, какие строки суммируются.
Рис. 2. Функция ДВССЫЛ позволяет изменять ссылки на ячейки в формулах, не изменяя сами формулы
Функция ДВССЫЛ предлагает другое решение. Я указал в ячейках D2 и Е2 номера начальной и конечной суммируемых строк. Теперь, при использовании функции ДВССЫЛ, мне достаточно изменить значения в ячейках D2 и Е2, чтобы конечная сумма обновилась, включив только те строки, которые мы хотим. Кроме того, значения ячеек D2 и Е2 наглядно показывают, какие строки (месяцы) суммируются! Все, что мне требуется, — скопировать из ячейки С18 в диапазон D18:H18 формулу =СУММ(ДВССЫЛ(C$3&$D$2&»:»&C$3&$E$2)). Каждая ссылка на ячейку в этой формуле обрабатывается как содержимое соответствующей ячейки. С$3 обрабатывается как С, $D$2 — как 6, а $Е$2 — как 16. Используя символ конкатенации — & (сцепления), Excel обрабатывает эту формулу как СУММ(С6:С16), что нам и требуется. Формула в ячейке D18 обрабатывается как СУММ(D6:D16), что также дает нужный нам результат. Конечно, если нам захочется просуммировать продажи, скажем, с 4 по 6 месяц, мы просто введем 8 в ячейку D2 и 10 в ячейку Е2. После этого формула в ячейке С18 вернет 33 + 82 + 75 = 190.
2. В ячейке В1 книги Excel, начиная с Лист1 и заканчивая Лист7 (рис. 3) содержатся данные о продажах товара за месяц. Есть ли какой-нибудь простой способ написать и скопировать формулу, которая выводила бы данные о продажах этого товара за каждый месяц на одном листе?
Рис. 3. Данные о продажах товара за 1–7 месяц, выведенные с помощью функции ДВССЫЛ
Предположим, Лист1 содержит данные о продажах за первый месяц, Лист2 — за второй и т.д. Пусть в первом месяце продажи равны 1. Например, вы хотите вывести продажи за все месяцы на одном листе. Нудный способ — подсчитать продажи за первый месяц с помощью формулы =Лист1!В1 продажи за второй месяц с помощью формулы =Лист2!В1 и т.д. Если ваши данных охватывают 100 месяцев, такое решение грозит грандиозной головной болью. Гораздо более изящный способ — вывести данные о продажах за первый месяц в ячейке С4 листа Лист1 с помощью формулы =ДВССЫЛ($A$4&B4&»!B1″), Excel обработает $A$4 как «Лист», В4 — как 1, и «!B1» — как строку текста !В1. Формула целиком будет обработана как =Лист1!В1, то есть покажет данные о продажах за первый месяц, содержащиеся в ячейке В1 листа Лист1. Скопировав эту формулу в диапазон С5:С10, вы отобразите содержимое ячейки В1 листов со 2 по 7. Обратите внимание: при копировании формулы из ячейки С4 в ячейку С5 ссылка на В4 заменяется ссылкой на В5, и формула в ячейке С5 возвращает значение ячейки Лист2!В1 и т.д.
3. Предположим, я суммирую значения из диапазона А5:А10 посредством формулы СУММ(А5:А10). Если вставить где-нибудь между 5 и 10 строками пустую строку, формула автоматически изменится на СУММ(А5:А11). Можно ли написать формулу, которая при вставке пустой строки между 5 и 10 строками все равно суммировала бы значения из диапазона А5:А10?
Рис. 4 иллюстрирует несколько способов сложения чисел из диапазона А5:А10. В ячейке А12 я ввел обычную формулу СУММ(А5:А10). Аналогичным образом формула СУММ($А$5:$А$10) в ячейке С9 тоже возвращает значение 33. Тем не менее, если вставить строку между 5 и 10 строками, обе формулы попытаются сложить ячейки диапазона А5:А11.
Функция ДВССЫЛ (INDIRECT) предоставляет, как минимум, два способа сложения значений из диапазона А5:А10. В ячейке D9 я ввел формулу =СУММ(ДВССЫЛ(«A5:A10»)). Excel обрабатывает ДВССЫЛ(«A5:A10») как строку текста «A5:A10», и поэтому, даже если я добавлю строку в электронную таблицу, формула по-прежнему будет суммировать значения из диапазона А5:А10.
Рис. 4. Несколько способов сложения значений ячеек из диапазона А5:А10; под значением суммы написана формула
Еще один вариант сложения значений из диапазона А5:А10 при помощи функции ДВССЫЛ – формула =СУММ(ДВССЫЛ(«A»&C4&»:A»&D4)), которую я ввел в ячейке С5. Excel обрабатывает ссылку на С3 как 5, а ссылку на D3 — как 10, в результате чего формула преобразуется в СУММ(А5:А10). Вставка пустой строки между 5 и 10 строками никак не скажется на формуле, поскольку ссылка на С3 по-прежнему будет обрабатываться как 5, а ссылка на D3 — как 10. На рис. 5 показаны результаты суммирования, выполненные посредством наших четырех формул после того, как ниже 7-й строки была добавлена пустая строка.
Рис. 5. Результаты, возвращенные формулами СУММ после того, как ниже строки 7 была вставлена пустая строка
Обратите внимание: классические формулы СУММ, не включающие оператор ДВССЫЛ, автоматически изменились и суммируют значения из диапазона А5:А11, по-прежнему возвращая значение 33. Две формулы СУММ, включающие оператор ДВССЫЛ, суммируют значения из диапазона А5:А10, в результате при вычислениях теряется число 2 (оно теперь находится в ячейке A11). Формулы СУММ, содержащие оператор ДВССЫЛ, возвращают значение 31.
Контрольные задания (с ответами)
1. Функция АДРЕС возвращает адрес ячейки, сопоставленный со строкой и столбцом. Например, формула АДРЕС(3;4) возвращает $D$3. Что вернет формула =ДВССЫЛ(АДРЕС(3;4))?
2. Лист Задание_2 содержит данные о продажах пяти товаров в четырех регионах. С помощью функции ДВССЫЛ создайте формулы, которые позволят легко суммировать общие продажи любых последовательно пронумерованных товаров, например Товар 1—Товар 3, Товар 2—Товар 5 и т.д.
3. Книга Excel Задание_3 содержит шесть листов. На листе Лист1 записаны данные о продажах товаров за первый месяц. Эти данные всегда указываются в диапазоне Е5:Н5. Используя функцию ДВССЫЛ, составьте таблицу с информацией о продажах каждого товара по месяцам на отдельном листе.
Ответы
1. Формула =ДВССЫЛ(АДРЕС(3;4)) вернет значение ячейки $D$3.
2. Фрагмент формулы ДВССЫЛ(«B»&B8+1&»:»&»E»&B9+1) возвращает диапазон В3:Е5:
3. В ячейке Е9 записана формула =ДВССЫЛ($B$8&$D9&»!»&E$7&5), которая возвращает значение ячейки Лист1!Е5:
Возможно, вас также заинтересует:
[1] При написании заметки использованы материалы книги Уэйн Л. Винстон. Microsoft Excel. Анализ данных и построение бизнес-моделей, глава 22.
Источник
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции ДВССЫЛ в Microsoft Excel.
Описание
Возвращает ссылку, заданную текстовой строкой. Ссылки немедленно вычисляются для вывода их содержимого. Функция ДВССЫЛ используется, если требуется изменить ссылку на ячейку в формуле без изменения самой формулы.
Синтаксис
ДВССЫЛ(ссылка_на_текст;[a1])
Аргументы функции ДВССЫЛ описаны ниже.
-
Ссылка_на_текст — обязательный аргумент. Ссылка на ячейку, которая содержит ссылку в стиле А1 или R1C1, имя, определенное как ссылка, или ссылку на ячейку в виде текстовой строки. Если значение аргумента «ссылка_на_текст» не является допустимой ссылкой, функция ДВССЫЛ возвращает значение ошибки #ССЫЛКА!.
-
Если значение аргумента «ссылка_на_ячейку» является ссылкой на другую книгу (внешней ссылкой), другая книга должна быть открыта. В противном случае функция ДВССЫЛ возвращает значение ошибки #ССЫЛКА!. Примечание.Поддержка внешних ссылок в Excel Web App отсутствует.
-
Если значение аргумента «ссылка_на_текст» является ссылкой на диапазон ячеек, превышающий предельное число строк 1 048 576 или столбцов 16 384 (XFD), функция ДВССЫЛ возвращает значение ошибки #ССЫЛКА!.
Примечание. Этот результат отличается от результата, получаемого в более ранних версиях приложения Excel, чем Microsoft Office Excel 2007, в которых превышение предела игнорируется и возвращается значение.
-
-
A1 — необязательный аргумент. Логическое значение, определяющее тип ссылки, содержащейся в ячейке «ссылка_на_текст».
-
Если аргумент «a1» имеет значение ИСТИНА или опущен, «ссылка_на_ячейку» интерпретируется как ссылка в стиле A1.
-
Если аргумент «a1» имеет значение ЛОЖЬ, «ссылка_на_ячейку» интерпретируется как ссылка в стиле R1C1.
-
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
B2 |
1,333 |
|
B3 |
45 |
|
Владимир |
10 |
|
5 |
62 |
|
Формула |
Описание |
Результат |
‘=ДВССЫЛ(A2) |
Значение ссылки в ячейке A2. Ссылка на ячейку B2, содержащая значение 1,333. |
1,333 |
‘=ДВССЫЛ(A3) |
Значение ссылки в ячейке A3. Ссылка на ячейку B3, содержащая значение 45. |
45 |
‘=ДВССЫЛ(A4) |
Поскольку для ячейки B4 определено имя «Владимир», ссылка на это имя указывает на ячейку B4, содержащую значение 10. |
10 |
‘=ДВССЫЛ(«B» и A5) |
Объединяет «B» со значением в ячейке A5, т. е. 5. Она, в свою очередь, ссылается на ячейку B5, содержащую значение 62. |
62 |
Нужна дополнительная помощь?
Функция
ДВССЫЛ()
, английский вариант INDIRECT(),
возвращает
ссылку на ячейку(и), заданную текстовой строкой
. Например, формула =
ДВССЫЛ(«Лист1!B3»)
эквивалентна формуле =
Лист1!B3
. Мощь этой функции состоит в том, что саму ссылку (
Лист1!B3
) также можно изменять формулами, ведь для
ДВССЫЛ()
это просто текстовая строка! С помощью этой функции можно транспонировать таблицы, выводить значения только из четных/ нечетных строк, складывать цифры числа и многое другое.
Функция
ДВССЫЛ()
имеет простой синтаксис.
Синтаксис функции
ДВССЫЛ(
ссылка_на_ячейку
;a1
)
Ссылка_на_ячейку
— это текстовая строка в формате ссылки (т.е. указаны столбец и строка): =
ДВССЫЛ(«B3»)
или
=
ДВССЫЛ(«Лист1!B3»)
или
=ДВССЫЛ(«[Книга1.xlsx]Лист1!B3»)
. Первая формула эквивалентна формуле =
B3
, вторая — =
Лист1!B3
, третья =
[Книга1.xlsx]
Лист1!B3
Если какая-либо ячейка (например,
А1
)
содержит текстовую строку в формате ссылки (например,
Лист1!B3
), то в
ДВССЫЛ()
можно указать ссылку на эту ячейку =
ДВССЫЛ(А1)
Эта запись будет эквивалентна
=
ДВССЫЛ(«Лист1!B3»)
, которая в свою очередь будет эквивалентна =
Лист1!B3
.
Зачем все это нужно — читайте ниже (см. раздел решение задач).
Второй аргумент
а1
— это логическое значение (ИСТИНА или ЛОЖЬ), указывающее, какого типа ссылка содержится в аргументе
Ссылка_на_ячейку
.
-
Если
a1
имеет значение ИСТИНА или опущена, то ссылка_на_ячейку интерпретируется как ссылка в стиле A1. -
Если
a1
имеет значение ЛОЖЬ, то ссылка_на_ячейку интерпретируется как ссылка в стиле R1C1.
Примечание
: Формат ссылки =
Лист1!B3
называется ссылкой в стиле А1, когда явно указывается адрес ячейки. Формат ссылки в стиле R1C1 — это относительная ссылка на ячейку (относительная относительно ячейки с формулой). Например, если в ячейке
С5
имеется формула =R[-1]C, то это ссылка на ячейку
С4
. Чтобы записывать ссылки в стиле R1C1 необходимо переключить EXCEL в режим работы со ссылками в стиле R1C1 (
).
Если
ссылка_на_ячейку
не является допустимой ссылкой, то функция
ДВССЫЛ()
возвращает значение ошибки #ССЫЛКА!
Рассмотрим несколько задач
Задача1 — Формируем ссылки на листы
Пусть на листах
Лист1
,
Лист2
,
Лист3
и
Лист4
в одних и тех же ячейках находятся однотипные данные (Продажи товаров за квартал) См.
файл примера
.
Сформируем итоговую таблицу
Продажи за год
на другом листе. В этой таблице будут присутствовать данные с 4-х листов.
Для удобства в строке 9 на листе, где будет итоговая таблица, пронумеруем столбцы
С, D, E, F
как 1, 2, 3, 4 в соответствии с
номером квартала
и пронумеруем строки таблицы (см. столбец А).
Чтобы вывести данные с других листов используем формулу
=ДВССЫЛ(«Лист»&C$9&»!B»&$A10+3)
Такая запись возможна, т.к. все листы имеют однотипные названия:
Лист1
,
Лист2
,
Лист3
и
Лист4
, и все таблицы на этих листах имеют одинаковую структуру (одинаковое количество строк и столбцов, наименования товаров, также должны совпадать).
Вышеуказанная формула в ячейке
С12
эквивалентна формуле
=ДВССЫЛ(«Лист1!B4»)
, формула в ячейке
D12
эквивалентна
=ДВССЫЛ(«Лист2!B4»)
, т.е. ссылается на другой лист! Весь смысл использования функции
ДВССЫЛ()
состоит в том, чтобы написать формулу в ячейке
С12
и затем ее скопировать в другие ячейки (вправо и вниз), например с помощью
Маркера заполнения
. Теперь данные с 4-х различных листов сведены в 1 таблицу!
Примечание
: Обратите внимание на использование в формуле
смешанных ссылок
(
C$9 и
$A12).
Задача2 — ссылки на четные/ нечетные строки
C помощью
ДВССЫЛ()
можно вывести только четные или нечетные строки из исходной таблицы. В качестве исходной используем предыдущую таблицу
Продажи за год
.
Записав формулу
=ДВССЫЛ(СИМВОЛ(65+H$26)&$A12*2+11)
и скопировав ее в нужное количество ячеек, получим только четные записи из исходной таблицы. Формула в ячейке
H
12
эквивалентна
=ДВССЫЛ(«B13»)
Примечание
: С помощью функции
СИМВОЛ()
можно вывести любой символ, зная его код.
=СИМВОЛ(65)
выведет букву
А
(английскую),
=СИМВОЛ(66)
выведет
В
,
=СИМВОЛ(68)
выведет
D
.
C помощью формулы
=ДВССЫЛ(СИМВОЛ(65+N$26)&$A12*2+10)
можно вывести только нечетные строки, а с помощью формулы
=ДВССЫЛ(СИМВОЛ(65+B$26)&$A28+11)
вообще произвольные строки, номера которых заданы в столбце
А
.
Задача3 — транспонирование таблиц/ векторов
С помощью нижеуказанной формулы можно транспонировать исходную таблицу (
подробнее читайте здесь
):
=ДВССЫЛ(АДРЕС(СТОЛБЕЦ(C12)+СТРОКА($B$11)-СТОЛБЕЦ($B$11);СТРОКА(C12)-СТРОКА($B$11)+СТОЛБЕЦ($B$11))
О транспонировании таблиц можно
прочитать в этом разделе
.
Примечание
: О других применениях функции
ДВССЫЛ()
можно прочитать в статьях, список которых расположен ниже.
Задача 4 — использование с именами
Создадим несколько
имен
.
Имена
Имя1
и
Имя4
— это
именованные диапазоны
, т.е. эти имена возвращают ссылки.
Имя
И
мя2 —
это
константа массива
, т.е. массив чисел, а не ссылка.
Также массив значений будет возвращать функция
СМЕЩ()
. см.
Имя5
.
Имя
Имя3
— это
именованная формула
, которая возвращает число, а не ссылку.
Создадим табличку, в которой укажем эти имена. Постараемся найти сумму значений, которые вернут эти имена, использовав формулу
=СУММ(ДВССЫЛ(A2))
.
Как видим, работают только те формулы, которые ссылаются на ячейки содержащие
Имя1
и
Имя4
. Только эти имена ссылаются на диапазоны ячеек. Если вспомним синтаксис функции
ДВССЫЛ()
, то в качестве первого аргумента можно использовать »
текстовую строку в формате ссылки», а не числовые массивы.
Формула
=СУММ(ДВССЫЛ(A2))
эквивалентна
=СУММ(ДВССЫЛ(«имя1»))
Вместо «имя1» подставляется ссылка =Имена!$A$14:$A$17 (
текстовая строка в формате ссылки
), которая успешно разрешается функцией
ДВССЫЛ()
. В итоге функция
ДВССЫЛ()
возвращает массив {1:2:3:4} из диапазона
$A$14:$A$17
, который затем суммируется.
В случае с
Имя2
все по-другому.
Формула
=СУММ(ДВССЫЛ(A3))
эквивалентна
=СУММ(ДВССЫЛ(«имя2»))
Вместо «имя2» подставляется массив
{10:20}, который не является текстовой строкой и не может быть обработан функцией
ДВССЫЛ()
. Поэтому она возвращает ошибку.
Аналогичный результат получим для имен:
Имя3
и
Имя5
.
В чем разница между
=СУММ(ДВССЫЛ(имя5))
и
=СУММ(ДВССЫЛ(«имя5»))
? Когда мы записываем
=СУММ(ДВССЫЛ(«имя5»))
мы говорим функции
ДВССЫЛ()
работать с
имя5
как с адресом. Это сработает, если
имя5
содержит »
Имена!$A$14:$A$17″ или что-то в этом роде. Но,
имя5
указывает на формулу, которая возвращает значения из диапазона
Имена!$A$14:$A$17. Т.к. это не
ссылка, то функция вернет ошибку.
Skip to content
В этой статье объясняется синтаксис функции ДВССЫЛ, основные способы ее использования и приводится ряд примеров формул, демонстрирующих использование ДВССЫЛ в Excel.
В Microsoft Excel существует множество функций, некоторые из которых просты для понимания, другие требуют длительного обучения. При этом первые используются чаще, чем вторые. И тем не менее, функция Excel ДВССЫЛ (INDIRECT на английском) является единственной в своем роде. Эта функция Excel не выполняет никаких вычислений, не оценивает никаких условий не ищет значения.
Итак, что такое функция ДВССЫЛ (INDIRECT) в Excel и для чего ее можно использовать? Это очень хороший вопрос, и, надеюсь, вы получите исчерпывающий ответ через несколько минут, когда закончите чтение.
Функция ДВССЫЛ в Excel — синтаксис и основные способы использования
ДВССЫЛ используется для создания косвенных ссылок на ячейки, диапазоны, другие листы или книги. Другими словами, она получает нужный адрес и позволяет вам при помощи формулы создать из него динамическую ссылку на ячейку или диапазон вместо их прямого указания. В результате вы можете изменить ссылку в формуле, не изменяя саму формулу. Более того, эти косвенные ссылки не изменятся при вставке на лист новых строк или столбцов или при удалении уже существующих.
Все это может быть проще понять на примере. Однако чтобы написать формулу, пусть даже самую простую, нужно знать аргументы функции, верно? Итак, давайте сначала кратко рассмотрим синтаксис Excel ДВССЫЛ.
Функция ДВССЫЛ в Excel возвращает ссылку на ячейку, используя текстовую строку. Она имеет два аргумента, первый является обязательным, а второй – нет:
ДВССЫЛ(ссылка_на_ячейку; [a1])
ссылка_на_ячейку – это адрес нужной ячейки в виде текстовой строки, либо названия именованного диапазона.
a1 — логическое значение, указывающее, какой тип ссылки содержится в первом аргументе:
- Если значение ИСТИНА или опущено, то используется ссылка на ячейку в стиле A1.
- Если ЛОЖЬ, то возвращается ссылка в виде R1C1.
Таким образом, ДВССЫЛ возвращает либо ссылку на ячейку, либо ссылку на диапазон.
Хотя тип ссылки R1C1 может быть полезен в определенных ситуациях, вам, вероятно, удобнее использовать привычные ссылки типа A1. В любом случае, почти все формулы в этом руководстве будут использовать ссылки A1, и поэтому мы будем просто опускать второй аргумент в функции.
Как работает функция ДВССЫЛ
Чтобы получить представление о работе функции, давайте создадим простую формулу, которая демонстрирует, как можно применить ДВССЫЛ в Excel.
Предположим, у вас есть число 5 в ячейке A1 и текст «A1» в ячейке C1. Теперь поместите формулу =ДВССЫЛ(C1) в любую другую ячейку и посмотрите, что произойдет:
- Функция ДВССЫЛ обращается к значению в ячейке C1. Там в виде текстовой строки записан адрес «A1».
- Функция ДВССЫЛ направляется по этому адресу в ячейку A1, откуда извлекает записанное в ней значение, то есть число 555.
Итак, в этом примере функция ДВССЫЛ преобразует текстовую строку в ссылку на ячейку.
Аналогичным образом можно получить ссылку на диапазон. Для этого просто нужно функции ДВССЫЛ указать два адреса – начальный и конечный. Вы видите это на скриншоте ниже.
Формула ДВССЫЛ(C1&»:»&C2) извлекает адреса из указанных ячеек и превращается в =ДВССЫЛ(«A1:A5»).
В итоге мы получаем ссылку =A1:A5
Если вы считаете, что это все еще имеет очень мало практического смысла, пожалуйста, читайте дальше, и я продемонстрирую вам еще несколько примеров, которые раскрывают реальную силу функции Excel ДВССЫЛ и более подробно показывают, как она работает.
Как использовать ДВССЫЛ в Excel — примеры формул
Как показано в приведенном выше примере, вы можете использовать функцию ДВССЫЛ, чтобы записать адрес ячейки как обычную текстовую строку и получить в результате значение этой ячейки. Однако этот простой пример — не более чем намек на возможности ДВССЫЛ.
При работе с реальными данными мы можем превратить любой текст в ссылку, включая очень сложные комбинации, которые вы создаете, используя значения других ячеек и результаты, возвращаемые другими формулами Excel. Но не будем торопиться и пойдем от простого к сложному.
Создание косвенных ссылок из значений ячеек
Как вы помните, функция ДВССЫЛ в Excel позволяет использовать стили ссылок A1 и R1C1. Обычно вы не можете использовать оба стиля на одном листе одновременно. Вы можете переключаться между двумя типами ссылок только с помощью опции «Файл» > «Параметры» > «Формулы» > R1C1 . По этой причине пользователи Excel редко рассматривают использование R1C1 в качестве альтернативного подхода к созданию ссылок.
В формуле ДВССЫЛ вы можете использовать любой тип ссылки на одном и том же листе, если хотите. Прежде чем мы двинемся дальше, давайте более подробно рассмотрим разницу между стилями ссылок A1 и R1C1.
Стиль A1 — это обычный и привычный всем нам тип адресации в Excel, который указывает сначала столбец, за которым следует номер строки. Например, B2 обозначает ячейку на пересечении столбца B и строки 2.
Стиль R1C1 является обозначает координаты ячейки наоборот – за строками следуют столбцы, и к этому нужно привыкнуть:) Например, R5C1 относится к ячейке A5, которая находится в строке 5, столбце 1 на листе. Если после буквы не следует какая-либо цифра, значит, вы имеете в виду ту же строку или столбец, в которых записана сама формула.
А теперь давайте сравним на простом примере, как функция ДВССЫЛ обрабатывает адреса вида A1 и R1C1:
Как вы видите на скриншоте выше, две разные формулы возвращают один и тот же результат. Вы уже поняли, почему?
- Формула в ячейке D1: =ДВССЫЛ(C1)
Это самый простой вариант. Формула обращается к ячейке C1, извлекает ее значение — текстовую строку «A2» , преобразует ее в ссылку на ячейку, переходит к ячейке A2 и возвращает ее значение, равное 456.
- Формула в ячейке D3: =ДВССЫЛ(C3;ЛОЖЬ)
ЛОЖЬ во втором аргументе указывает, что указанное значение (C3) следует рассматривать как ссылку на ячейку в формате R1C1, т. е. сначала идет номер строки, за которым следует номер столбца. Таким образом, наша формула ДВССЫЛ интерпретирует значение в ячейке C3 (R2C1) как ссылку на ячейку на пересечении строки 2 и столбца 1, которая как раз и является ячейкой A2.
Создание ссылок из значений ячеек и текста
Аналогично тому, как мы создавали ссылки из значений ячеек , вы можете комбинировать текстовую строку и ссылку на ячейку с адресом прямо в формуле ДВССЫЛ, соединив их вместе при помощи оператора конкатенации (&).
В следующем примере формула =ДВССЫЛ(«А»&C1) возвращает значение из ячейки А1 на основе следующей логической цепочки:
Функция ДВССЫЛ объединяет элементы в первом аргументе ссылка_на_ячейку — текст «А» и значение из ячейки C1. Значение в C1 – это число 1, что в результате формирует адрес А1. Формула переходит к ячейке А1 и возвращает ее значение – 555.
Использование функции ДВССЫЛ с именованными диапазонами
Помимо создания ссылок на ячейки из текстовых строк, вы можете заставить функцию Excel ДВССЫЛ создавать ссылки на именованные диапазоны.
Предположим, у вас есть следующие именованные диапазоны на вашем листе:
- Яблоки – С2:E2
- Лимоны — C3: E3
- Апельсины – C4:E4 и так далее по каждому товару.
Чтобы создать динамическую ссылку Excel на любой из указанных выше диапазонов с цифрами продаж, просто запишите его имя, скажем, в H1, и обратитесь к этой ячейке при помощи формулы =ДВССЫЛ(H1).
А теперь вы можете сделать еще один шаг и вложить эту формулу в другие функции Excel. Например, попробуем вычислить сумму и среднее значений в заданном именованном диапазоне или найти максимальную и минимальную сумму продаж в нём, как это сделано на скриншоте ниже:
- =СУММ(ДВССЫЛ (H1))
- =СРЗНАЧ(ДВССЫЛ (H1))
- =МАКС(ДВССЫЛ (H1))
- =МИН(ДВССЫЛ (H1))
Теперь, когда вы получили общее представление о том, как работает функция ДВССЫЛ в Excel, мы можем поэкспериментировать с более серьёзными формулами.
ДВССЫЛ для ссылки на другой рабочий лист
Полезность функции Excel ДВССЫЛ не ограничивается созданием «динамических» ссылок на ячейки. Вы также можете использовать ее для формирования ссылки на другие листы.
Предположим, у вас есть важные данные на листе 1, и вы хотите получить эти данные на листе 2. На скриншоте ниже показано, как можно справиться с этой задачей.
Нам поможет формула:
=ДВССЫЛ(«‘»&A2&»‘!»&B2&C2)
Давайте разбираться, как работает эта формула.
Как вы знаете, обычным способом сослаться на другой лист в Excel является указание имени этого листа, за которым следуют восклицательный знак и ссылка на ячейку или диапазон, например Лист1!A1:С10. Так как имя листа часто содержит пробелы, вам лучше заключить его (имя, а не пробел в одинарные кавычки, чтобы предотвратить возможную ошибку, например,
‘Лист 1!’$A$1 или для диапазона – ‘Лист 1!’$A$1:$С$10 .
Наша задача – сформировать нужный текст и передать его функции ДВССЫЛ. Все, что вам нужно сделать, это:
- записать имя листа в одну ячейку,
- букву столбца – в другую,
- номер строки – в третью,
- объединить всё это в одну текстовую строку,
- передать этот адрес функции ДВССЫЛ.
Помните, что в текстовой строке вы должны заключать каждый элемент, кроме номера строки, в двойные кавычки и затем связать все элементы в единое целое с помощью оператора объединения (&).
С учетом вышеизложенного получаем шаблон ДВССЫЛ для создания ссылки на другой лист:
ДВССЫЛ («‘» & имялиста & «‘!» & имя столбца нужной ячейки & номер строки нужной ячейки )
Возвращаясь к нашему примеру, вы помещаете имя листа в ячейку A2 и вводите адреса столбца и строки в B2 и С2, как показано на скриншоте выше. В результате вы получите следующую формулу:
ДВССЫЛ(«‘»&A2&»‘!»&B2&C2)
Кроме того, обратите внимание, что если вы копируете формулу в несколько ячеек, вам необходимо зафиксировать ссылку на имя листа, используя абсолютные ссылки на ячейки, например $A$2.
Замечание.
- Если какая-либо из ячеек, содержащих имя листа и адреса ячеек (A2, B2 и c2 в приведенной выше формуле), будет пуста, ваша формула вернет ошибку. Чтобы предотвратить это, вы можете обернуть функцию ДВССЫЛ в функцию ЕСЛИ :
ЕСЛИ(ИЛИ(A2=»»;B2=»»;C2-“”); «»; ДВССЫЛ(«‘»&A2&»‘!»&B2&C2)
- Чтобы формула ДВССЫЛ, ссылающаяся на другой лист, работала правильно, указанный лист должен быть открыт в Экселе, иначе формула вернет ошибку #ССЫЛКА. Чтобы не видеть сообщение об ошибке, которое может портить вид вашей таблицы, вы можете использовать функцию ЕСЛИОШИБКА, которая будет отображать пустую строку при любой возникшей ошибке:
ЕСЛИОШИБКА(ДВССЫЛ(«‘»&A2&»‘!»&B2&C2); «»)
Формула ДВССЫЛ для ссылки на другую книгу Excel
Формула, которая создает ссылку на другую книгу Excel, основана на том же подходе, что и обычная ссылка на другую электронную таблицу. Вам просто нужно указать имя книги дополнительно к имени листа и адресу ячейки.
Чтобы упростить задачу, давайте начнем с создания ссылки на другую книгу обычным способом (апострофы добавляются, если имена вашей книги и/или листа содержат пробелы):
‘[Имя_книги.xlsx]Имя_листа’!Арес_ячейки
Но, чтобы формула была универсальной, лучше апострофы добавлять всегда – лишними не будут .
Предполагая, что название книги находится в ячейке A2, имя листа — в B2, а адрес ячейки — в C2 и D2, мы получаем следующую формулу:
=ДВССЫЛ(«‘[«&$A$2&».xlsx]»&$B$2&»‘!»&C2&D2)
Поскольку вы не хотите, чтобы ячейки, содержащие имена книг и листов, изменялись при копировании формулы в другие ячейки, вы можете зафиксировать их, используя абсолютные ссылки на ячейки – $A$2 и $B$2 соответственно.
Если адреса ячеек заменить их значениями, то мы получим такой промежуточный результат:
=ДВССЫЛ(«‘[INDIRECT.xlsx]Продажи’!D3»)
Ну а итоговый результат вы видите на скриншоте ниже.
Hbc6
И теперь вы можете легко создать собственную динамическую ссылку на другую книгу Excel, используя следующий шаблон:
=ДВССЫЛ(«‘[» & Название книги & «]» & Имя листа & «‘!» & Адрес ячейки )
Примечание. Рабочая книга, на которую ссылается ваша формула, всегда должна быть открыта, иначе функция ДВССЫЛ выдаст ошибку #ССЫЛКА. Как обычно, функция ЕСЛИОШИБКА может помочь вам избежать этого:
=ЕСЛИОШИБКА(ДВССЫЛ(«‘[«&$A$2&».xlsx]»&$B$2&»‘!»&C2&D2); «»)
Использование функции Excel ДВССЫЛ чтобы зафиксировать ссылку на ячейку
Обычно Microsoft Excel автоматически изменяет ссылки на ячейки при вставке новых или удалении существующих строк или столбцов на листе. Чтобы этого не произошло, вы можете использовать функцию ДВССЫЛ для работы с конкретными адресами ячеек, которые в любом случае должны оставаться неизменными.
Чтобы проиллюстрировать разницу, сделайте следующее:
- Введите любое значение в любую ячейку, например, число 555 в ячейку A1.
- Обратитесь к A1 из двух других ячеек тремя различными способами: =A1, =ДВССЫЛ(«A1») и ДВССЫЛ(С1), где в С1 записан адрес «А1».
- Вставьте новую строку над строкой 1.
Видите, что происходит? Ячейка с логическим оператором =А1 по-прежнему возвращает 555, потому что ее формула была автоматически изменена на =A2 после вставки строки. Ячейки с формулой ДВССЫЛ теперь возвращают нули, потому что формулы в них не изменились при вставке новой строки и они по-прежнему ссылаются на ячейку A1, которая в настоящее время пуста:
После этой демонстрации у вас может сложиться впечатление, что функция ДВССЫЛ больше мешает, чем помогает. Ладно, попробуем по-другому.
Предположим, вы хотите просуммировать значения в ячейках A2:A5, и вы можете легко сделать это с помощью функции СУММ:
=СУММ(A2:A5)
Однако вы хотите, чтобы формула оставалась неизменной, независимо от того, сколько строк было удалено или вставлено. Самое очевидное решение — использование абсолютных ссылок — не поможет. Чтобы убедиться, введите формулу =СУММ($A$2:$A$5) в какую-нибудь ячейку, вставьте новую строку, скажем, в строку 3, и увидите формулу, преобразованную в =СУММ($A$2:$A$6).
Конечно, такая любезность Microsoft Excel в большинстве случаев будет работать нормально. Тем не менее, могут быть сценарии, когда вы не хотите, чтобы формула менялась автоматически. Например, нам нужна сумма только первых четырех значений из таблицы.
Решение состоит в использовании функции ДВССЫЛ, например:
=СУММ(ДВССЫЛ(«A2:A5»))
Поскольку Excel воспринимает «A1: A5» как простую текстовую строку, а не как ссылку на диапазон, он не будет вносить никаких изменений при вставке или удалении строки (строк), а также при их сортировке.
Использование ДВССЫЛ с другими функциями Excel
Помимо СУММ, ДВССЫЛ часто используется с другими функциями Excel, такими как СТРОКА, СТОЛБEЦ, АДРЕС, ВПР, СУММЕСЛИ и т. д.
Пример 1. Функции ДВССЫЛ и СТРОКА
Довольно часто функция СТРОКА используется в Excel для возврата массива значений. Например, вы можете использовать следующую формулу массива (помните, что для этого нужно нажать Ctrl + Shift + Enter
), чтобы вернуть среднее значение трех наименьших чисел в диапазоне B2:B13
{=СРЗНАЧ(НАИМЕНЬШИЙ(B2:B13;СТРОКА(1:3)))}
Однако, если вы вставите новую строку в свой рабочий лист где-нибудь между строками 1 и 3, диапазон в функции СТРОКА изменится на СТРОКА(1:4), и формула вернет среднее значение четырёх наименьших чисел вместо трёх.
Чтобы этого не произошло, вставьте ДВССЫЛ в функцию СТРОКА, и ваша формула массива всегда будет оставаться правильной, независимо от того, сколько строк будет вставлено или удалено:
={СРЗНАЧ(НАИМЕНЬШИЙ(B2:B13;СТРОКА(ДВССЫЛ(«1:3»))))}
Аналогично, если нам нужно найти сумму трёх наибольших значений, можно использовать ДВССЫЛ вместе с функцией СУММПРОИЗВ.
Вот пример:
={СУММПРОИЗВ(НАИБОЛЬШИЙ(B2:B13;СТРОКА(ДВССЫЛ(«1:3»))))}
А чтобы указать переменное количество значений, которое мы хотим сосчитать, можно это число вынести в отдельную ячейку. К примеру, в С1 запишем цифру 3. Тогда формулу можно изменить таким образом:
={СУММПРОИЗВ(НАИБОЛЬШИЙ(B2:B13;СТРОКА(ДВССЫЛ(«1:»&C1))))}
Согласитесь, что получается достаточно гибкий расчёт.
Пример 2. Функции ДВССЫЛ и АДРЕС
Вы можете использовать Excel ДВССЫЛ вместе с функцией АДРЕС, чтобы получить значение в определенной ячейке на лету.
Как вы помните, функция АДРЕС используется в Excel для получения адреса ячейки по номерам строк и столбцов. Например, формула =АДРЕС(1;3) возвращает текстовую строку «$C$1», поскольку C1 — это ячейка на пересечении 1-й строки и 3-го столбца.
Чтобы создать ссылку на ячейку, вы просто встраиваете функцию АДРЕС в формулу ДВССЫЛ, например:
=ДВССЫЛ(АДРЕС(1;3))
Конечно, эта несложная формула лишь демонстрирует технику. Более сложные примеры использования функций ДВССЫЛ И АДРЕС в Excel см. в статье Как преобразовать строки в столбцы в Excel .
И вот еще несколько примеров формул в которых используется функция ДВССЫЛ, и которые могут оказаться полезными:
- ВПР и ДВССЫЛ — как динамически извлекать данные из разных таблиц (см. пример 2).
- Excel ДВССЫЛ и СЧЁТЕСЛИ — как использовать функцию СЧЁТЕСЛИ в несмежном диапазоне или нескольких выбранных ячейках.
Использование ДВССЫЛ для создания выпадающих списков
Вы можете использовать функцию Excel ДВССЫЛ с инструментом проверки данных для создания каскадных выпадающих списков. Они показывают различные варианты выбора в зависимости от того, какое значение пользователь указал в предыдущем выпадающем списке.
Простой зависимый раскрывающийся список сделать очень просто. Все, что требуется, — это несколько именованных диапазонов для хранения элементов раскрывающегося списка.
В ячейке А1 вы создаете простой выпадающий список с названиями имеющихся именованных диапазонов. Для второго зависимого выпадающего списка в ячейке В2 вы используете простую формулу =ДВССЫЛ(A1), где A1 — это ячейка, в которой выбрано имя нужного именованного диапазона.
К примеру, выбрав в первом списке второй квартал, во втором списке мы видим месяцы этого квартала.
Рис9
Чтобы сделать более сложные трехуровневые меню или раскрывающиеся списки с многоуровневыми записями, вам понадобится немного более сложная формула ДВССЫЛ в сочетании с вложенной функцией ПОДСТАВИТЬ.
Подробное пошаговое руководство по использованию ДВССЫЛ с проверкой данных Excel смотрите в этом руководстве: Как создать зависимый раскрывающийся список в Excel.
Функция ДВССЫЛ Excel — возможные ошибки и проблемы
Как показано в приведенных выше примерах, функция ДВССЫЛ весьма полезна при работе со ссылками на ячейки и диапазоны. Однако не все пользователи Excel охотно принимают этот подход, в основном потому, что постоянное использование ДВССЫЛ приводит к отсутствию прозрачности формул Excel и несколько затрудняет их понимание. Функцию ДВССЫЛ сложно просмотреть и проанализировать ее работу, поскольку ячейка, на которую она ссылается, не является конечным местоположением значения, используемого в формуле. Это действительно довольно запутанно, особенно при работе с большими сложными формулами.
В дополнение к сказанному выше, как и любая другая функция Excel, ДВССЫЛ может вызвать ошибку, если вы неправильно используете аргументы функции. Вот список наиболее типичных ошибок и проблем:
Ошибка #ССЫЛКА!
Чаще всего функция ДВССЫЛ возвращает ошибку #ССЫЛКА! в следующих случаях:
- Аргумент ссылка_на_ячейку не является допустимой ссылкой Excel. Если вы пытаетесь передать функции текст, который не может обозначать ссылку на ячейку (например, «A1B0»), то формула приведет к ошибке #ССЫЛКА!. Во избежание возможных проблем проверьте аргументы функции ДВССЫЛ .
- Превышен предел размера диапазона. Если аргумент ссылка_на_ячейку вашей формулы ДВССЫЛ ссылается на диапазон ячеек за пределами строки 1 048 576 или столбца 16 384, вы также получите ошибку #ССЫЛКА в Excel 2007 и новее. Более ранние версии Excel игнорируют превышение этого лимита и действительно возвращают некоторое значение, хотя часто не то, что вы ожидаете.
- Используемый в формуле лист или рабочая книга закрыты.Если ваша формула с ДВССЫЛ адресуется на другую книгу или лист Excel, то эта другая книга или электронная таблица должны быть открыты, иначе ДВССЫЛ возвращает ошибку #ССЫЛКА! . Впрочем, это требование характерно для всех формул, которые ссылаются на другие рабочие книги Excel.
Ошибка #ИМЯ?
Это самый очевидный случай, подразумевающий, что в названии функции есть какая-то ошибка.
Ошибка из-за несовпадения региональных настроек.
Также распространенная проблема заключается не в названии функции ДВССЫЛ, а в различных региональных настройках для разделителя списка.
В европейских странах запятая зарезервирована как десятичный символ, а в качестве разделителя списка используется точка с запятой.
В стандартной конфигурации Windows для Северной Америки и некоторых других стран разделителем списка по умолчанию является запятая.
В результате при копировании формулы между двумя разными языковыми стандартами Excel вы можете получить сообщение об ошибке « Мы обнаружили проблему с этой формулой… », поскольку разделитель списка, используемый в формуле, отличается от того, что установлен на вашем компьютере. Если вы столкнулись с этой ошибкой при копировании какой-либо НЕПРЯМОЙ формулы из этого руководства в Excel, просто замените все запятые (,) точками с запятой (;) (либо наоборот). В обычных формулах Excel эта проблема, естественно, не возникнет. Там Excel сам поменяет разделители исходя из ваших текущих региональных настроек.
Чтобы проверить, какие разделитель списка и десятичный знак установлены на вашем компьютере, откройте панель управления и перейдите в раздел «Регион и язык» > «Дополнительные настройки».
Надеемся, что это руководство пролило свет для вас на использование ДВССЫЛ в Excel. Теперь, когда вы знаете ее сильные стороны и ограничения, пришло время попробовать и посмотреть, как функция ДВССЫЛ может упростить ваши задачи в Excel. Спасибо за чтение!
Вот еще несколько статей по той же теме:
Функция ДВССЫЛ() в MS EXCEL
Функция ДВССЫЛ() , английский вариант INDIRECT(), возвращает ссылку на ячейку(и), заданную текстовой строкой . Например, формула = ДВССЫЛ(“Лист1!B3”) эквивалентна формуле = Лист1!B3 . Мощь этой функции состоит в том, что саму ссылку ( Лист1!B3 ) также можно изменять формулами, ведь для ДВССЫЛ() это просто текстовая строка! С помощью этой функции можно транспонировать таблицы, выводить значения только из четных/ нечетных строк, складывать цифры числа и многое другое.
Функция ДВССЫЛ() имеет простой синтаксис.
Синтаксис функции
ДВССЫЛ( ссылка_на_ячейку ;a1 )
Ссылка_на_ячейку — это текстовая строка в формате ссылки (т.е. указаны столбец и строка): = ДВССЫЛ(“B3”) или = ДВССЫЛ(“Лист1!B3”) или =ДВССЫЛ(“[Книга1.xlsx]Лист1!B3”) . Первая формула эквивалентна формуле = B3 , вторая – = Лист1!B3 , третья = [Книга1.xlsx] Лист1!B3 Если какая-либо ячейка (например, А1) содержит текстовую строку в формате ссылки (например, Лист1!B3 ), то в ДВССЫЛ() можно указать ссылку на эту ячейку = ДВССЫЛ(А1) Эта запись будет эквивалентна = ДВССЫЛ(“Лист1!B3”) , которая в свою очередь будет эквивалентна = Лист1!B3 . Зачем все это нужно – читайте ниже (см. раздел решение задач).
Второй аргумент а1 — это логическое значение (ИСТИНА или ЛОЖЬ), указывающее, какого типа ссылка содержится в аргументе Ссылка_на_ячейку .
- Если a1 имеет значение ИСТИНА или опущена, то ссылка_на_ячейку интерпретируется как ссылка в стиле A1.
- Если a1 имеет значение ЛОЖЬ, то ссылка_на_ячейку интерпретируется как ссылка в стиле R1C1.
Примечание: Формат ссылки = Лист1!B3 называется ссылкой в стиле А1, когда явно указывается адрес ячейки. Формат ссылки в стиле R1C1 – это относительная ссылка на ячейку (относительная относительно ячейки с формулой). Например, если в ячейке С5 имеется формула =R[-1]C, то это ссылка на ячейку С4. Чтобы записывать ссылки в стиле R1C1 необходимо переключить EXCEL в режим работы со ссылками в стиле R1C1 ( Кнопка Офис/ Параметры Excel/ Формулы/ Работа с формулами ).
Если ссылка_на_ячейку не является допустимой ссылкой, то функция ДВССЫЛ() возвращает значение ошибки #ССЫЛКА!
Рассмотрим несколько задач
Задача1 – Формируем ссылки на листы
Пусть на листах Лист1, Лист2, Лист3 и Лист4 в одних и тех же ячейках находятся однотипные данные (Продажи товаров за квартал) См. файл примера .
Сформируем итоговую таблицу Продажи за год на другом листе. В этой таблице будут присутствовать данные с 4-х листов.
Для удобства в строке 9 на листе, где будет итоговая таблица, пронумеруем столбцы С, D, E, F как 1, 2, 3, 4 в соответствии с номером квартала и пронумеруем строки таблицы (см. столбец А).
Чтобы вывести данные с других листов используем формулу =ДВССЫЛ(“Лист”&C$9&”!B”&$A10+3)
Такая запись возможна, т.к. все листы имеют однотипные названия: Лист1, Лист2, Лист3 и Лист4, и все таблицы на этих листах имеют одинаковую структуру (одинаковое количество строк и столбцов, наименования товаров, также должны совпадать).
Вышеуказанная формула в ячейке С12 эквивалентна формуле =ДВССЫЛ(“Лист1!B4”) , формула в ячейке D12 эквивалентна =ДВССЫЛ(“Лист2!B4”) , т.е. ссылается на другой лист! Весь смысл использования функции ДВССЫЛ() состоит в том, чтобы написать формулу в ячейке С12 и затем ее скопировать в другие ячейки (вправо и вниз), например с помощью Маркера заполнения. Теперь данные с 4-х различных листов сведены в 1 таблицу!
Примечание: Обратите внимание на использование в формуле смешанных ссылок ( C$9 и $A12).
Задача2 – ссылки на четные/ нечетные строки
C помощью ДВССЫЛ() можно вывести только четные или нечетные строки из исходной таблицы. В качестве исходной используем предыдущую таблицу Продажи за год.
Записав формулу =ДВССЫЛ(СИМВОЛ(65+H$26)&$A12*2+11) и скопировав ее в нужное количество ячеек, получим только четные записи из исходной таблицы. Формула в ячейке H12 эквивалентна =ДВССЫЛ(“B13”)
Примечание: С помощью функции СИМВОЛ() можно вывести любой символ, зная его код. =СИМВОЛ(65) выведет букву А (английскую), =СИМВОЛ(66) выведет В, =СИМВОЛ(68) выведет D.
C помощью формулы =ДВССЫЛ(СИМВОЛ(65+N$26)&$A12*2+10) можно вывести только нечетные строки, а с помощью формулы =ДВССЫЛ(СИМВОЛ(65+B$26)&$A28+11) вообще произвольные строки, номера которых заданы в столбце А.
Задача3 – транспонирование таблиц/ векторов
С помощью нижеуказанной формулы можно транспонировать исходную таблицу (подробнее читайте здесь):
О транспонировании таблиц можно прочитать в этом разделе.
Примечание: О других применениях функции ДВССЫЛ() можно прочитать в статьях, список которых расположен ниже.
Задача 4 – использование с именами
Имена Имя1 и Имя4 – это именованные диапазоны, т.е. эти имена возвращают ссылки.
Имя Имя2 – это константа массива, т.е. массив чисел, а не ссылка.
Также массив значений будет возвращать функция СМЕЩ() . см. Имя5.
Имя Имя3 – это именованная формула, которая возвращает число, а не ссылку.
Создадим табличку, в которой укажем эти имена. Постараемся найти сумму значений, которые вернут эти имена, использовав формулу =СУММ(ДВССЫЛ(A2)) .
Как видим, работают только те формулы, которые ссылаются на ячейки содержащие Имя1 и Имя4. Только эти имена ссылаются на диапазоны ячеек. Если вспомним синтаксис функции ДВССЫЛ() , то в качестве первого аргумента можно использовать ” текстовую строку в формате ссылки”, а не числовые массивы.
Формула =СУММ(ДВССЫЛ(A2)) эквивалентна =СУММ(ДВССЫЛ(“имя1”)) Вместо “имя1” подставляется ссылка =Имена!$A$14:$A$17 ( текстовая строка в формате ссылки ), которая успешно разрешается функцией ДВССЫЛ() . В итоге функция ДВССЫЛ() возвращает массив <1:2:3:4>из диапазона $A$14:$A$17 , который затем суммируется.
В случае с Имя2 все по-другому. Формула =СУММ(ДВССЫЛ(A3)) эквивалентна =СУММ(ДВССЫЛ(“имя2”)) Вместо “имя2” подставляется массив <10_20>, который не является текстовой строкой и не может быть обработан функцией ДВССЫЛ() . Поэтому она возвращает ошибку.
Аналогичный результат получим для имен: Имя3 и Имя5.
В чем разница между =СУММ(ДВССЫЛ(имя5)) и =СУММ(ДВССЫЛ(“имя5”)) ? Когда мы записываем =СУММ(ДВССЫЛ(“имя5”)) мы говорим функции ДВССЫЛ() работать с имя5 как с адресом. Это сработает, если имя5 содержит ” Имена!$A$14:$A$17″ или что-то в этом роде. Но, имя5 указывает на формулу, которая возвращает значения из диапазона Имена!$A$14:$A$17. Т.к. это не ссылка, то функция вернет ошибку.
Разбор функции ДВССЫЛ (INDIRECT) на примерах
На первый взгляд (особенно при чтении справки) функция ДВССЫЛ (INDIRECT) выглядит простой и даже ненужной. Ее суть в том, чтобы превращать текст похожий на ссылку – в полноценную ссылку. Т.е. если нам нужно сослаться на ячейку А1, то мы можем либо привычно сделать прямую ссылку (ввести знак равно в D1, щелкнуть мышью по А1 и нажать Enter), а можем использовать ДВССЫЛ для той же цели:
Обратите внимание, что аргумент функции – ссылка на А1 – введен в кавычках, поэтому что, по сути, является здесь текстом.
“Ну ОК”, – скажете вы. “И что тут полезного?”.
Но не судите по первому впечатлению – оно обманчиво. Эта функция может выручить вас в большом количестве ситуаций.
Пример 1. Транспонирование
пазон в горизонтальный (транспонировать). Само-собой, можно использовать специальную вставку или функцию ТРАНСП (TRANSPOSE) в формуле массива, но можно обойтись и нашей ДВССЫЛ:
Логика проста: чтобы получить адрес очередной ячейки, мы склеиваем спецсимволом “&” букву “А” и номер столбца текущей ячейки, который выдает нам функция СТОЛБЕЦ (COLUMN) .
Обратную процедуру лучше проделать немного по-другому. Поскольку на этот раз нам нужно формировать ссылку на ячейки B2, C2, D2 и т.д., то удобнее использовать режим ссылок R1C1 вместо классического “морского боя”. В этом режиме наши ячейки будут отличаться только номером столбца: B2=R1C 2 , C2=R1C 3 , D2=R1C 4 и т.д.
Тут на помощь приходит второй необязательный аргумент функции ДВССЫЛ. Если он равен ЛОЖЬ (FALSE) , то можно задавать адрес ссылки в режиме R1C1. Таким образом, мы можем легко транспонировать горизонтальный диапазон обратно в вертикальный:
Пример 2. Суммирование по интервалу
Мы уже разбирали один способ суммирования по окну (диапазону) заданного размера на листе с помощью функции СМЕЩ (OFFSET) . Подобную задачу можно решить и с помощью ДВССЫЛ. Если нам нужно суммировать данные только из определенного диапазона-периода, то можно склеить его из кусочков и превратить затем в полноценную ссылку, которую и вставить внутрь функции СУММ (SUM) :
Пример 3. Выпадающий список по умной таблице
Иногда Microsoft Excel не воспринимает имена и столбцы умных таблиц как полноценные ссылки. Так, например, при попытке создать выпадающий список (вкладка Данные – Проверка данных) на основе столбца Сотрудники из умной таблицы Люди мы получим ошибку:
Если же “обернуть” ссылку нашей функцией ДВССЫЛ, то Excel преспокойно ее примет и наш выпадающий список будет динамически обновляться при дописывании новых сотрудников в конец умной таблицы:
Пример 4. Несбиваемые ссылки
Как известно, Excel автоматически корректирует адреса ссылок в формулах при вставке или удалении строк-столбцов на лист. В большинстве случаев это правильно и удобно, но не всегда. Допустим, что нам нужно перенести имена из справочника по сотрудникам в отчет:
Если ставить обычные ссылки (в первую зеленую ячейку ввести =B2 и скопировать вниз), то потом при удалении, например, Даши мы получим в соответствующей ей зеленой ячейке ошибку #ССЫЛКА! (#REF!). В случае применения для создания ссылок функции ДВССЫЛ такой проблемы не будет.
Пример 5. Сбор данных с нескольких листов
Предположим, что у нас есть 5 листов с однотипными отчетами от разных сотрудников (Михаил, Елена, Иван, Сергей, Дмитрий):
Допустим, что форма, размеры, положение и последовательность товаров и месяцев во всех таблицах одинаковые – различаются только числа.
Собрать данные со всех листов (не просуммировать, а положить друг под друга “стопочкой”) можно всего одной формулой:
Как видите, идея та же: мы склеиваем ссылку на нужную ячейку заданного листа, а ДВССЫЛ превращает ее в “живую”. Для удобства, над таблицей я добавил буквы столбцов (B,C,D), а справа – номера строк, которые нужно взять с каждого листа.
Подводные камни
При использовании ДВССЫЛ (INDIRECT) нужно помнить про ее слабые места:
- Если вы делаете ссылку в другой файл (склеивая имя файла в квадратных скобках, имя листа и адрес ячейки), то она работает только пока исходный файл открыт. Если его закрыть, то получим ошибку #ССЫЛКА!
- С помощью ДВССЫЛ нельзя сделать ссылку на динамический именованный диапазон. На статический – без проблем.
- ДВССЫЛ является волатильной (volatile) или “летучей” функцией, т.е. она пересчитывается при любом изменении любой ячейки листа, а не только влияющих ячеек, как у обычных функций. Это плохо отражается на быстродействии и на больших таблицах ДВССЫЛ лучше не увлекаться.
Функция ДВССЫЛ в Excel
Рассмотрим примеры использования функции ДВССЫЛ в Excel, которая позволяет преобразовывать текст из ячейки в ссылку.
Функция ДВССЫЛ чрезвычайно полезна тем, что при использовании данной функции есть возможность изменять ссылки на ячейки и диапазоны в формуле не изменяя при этом саму формулу.
Другими словами, введенная формула =B2 идентична формуле =ДВССЫЛ(“B2”), однако в первом варианте мы оперируем ссылкой, а во втором — текстом, который можно изменять.
Описание функции ДВССЫЛ
ДВССЫЛ(ссылка_на_ячейку; [a1])
Возвращает ссылку, заданную текстовой строкой.
- Ссылка на ячейку(обязательный аргумент) — ссылка в виде текста вида A1 или R1C1;
- A1(необязательный аргумент) — вид ссылки, в случае когда аргумент принимает значение ИСТИНА (или опущен), то ссылка трактуется как вид A1, когда принимает значение ЛОЖЬ, то как вид R1C1.
Примеры использования функции ДВССЫЛ
Пример 1. Ссылка на ячейку
Начнем с простой задачи, который мы уже частично разобрали.
Введем произвольное значение в ячейку A1, теперь чтобы сделать ссылку на ячейку введем формулу =ДВССЫЛ(“A1”), например, в ячейку A2:
Пример 2. Ссылка на другой лист
Немного усложним задачу, и применим формулу ДВССЫЛ для ссылки на другой лист.
Перейдем на любой другой лист книги и вводим формулу =ДВССЫЛ(“Пример_1!A1”), где лист Пример_1 — лист из первого примера:
Пример 3. Функции
Рассмотрим примеры с одновременным применением функции ДВССЫЛ и других функций.
Функция СУММ
Предположим, что у нас имеется таблицами с помесячными данными о продажах фруктов за 12 месяцев, и мы хотим просуммировать продажи накопленным итогом за переменное количество месяцев:
Функция СУММ с прямой ссылкой на диапазон решает эту задачу, например, можно применить формулу =СУММ(B2:B5) для подсчета продаж апельсинов.
Однако тогда при изменении периода нам придется менять и диапазон в исходной формуле.
Обойдем эту проблему записав диапазон в текстовом виде с использованием ссылок на другие ячейки — запишем формулу =СУММ(ДВССЫЛ(B15&2&”:”&B15&(1+$A16))), где ячейка A16 отвечает за номер периода:
Расписывая по шагам данную формулу, мы в конце получим формулу =СУММ(B2:B5), что нам и требовалось.
Функция ПОИСКПОЗ
Рассмотрим еще один пример. Предположим, что у нас есть результаты тестирования группы кандидатов и критерии их оценки:
Записываем в оценку кандидатов формулу =ДВССЫЛ(“G”&ПОИСКПОЗ(B2;$F$1:$F$6;1)), где с помощью функции ПОИСКПОЗ находим относительное положение оценки кандидата в критерии оценок, а функцией ДВССЫЛ подтягиваем полученную оценку для каждого кандидата.
Обратите внимание, что функция ДВССЫЛ не работает, если ссылка указывает на ячейку или диапазон в закрытой книге.
Подробно ознакомиться со всеми разобранными примерами — скачать пример.
Функция INDIRECT (ДВССЫЛ) в Excel. Как использовать?
Функция INDIRECT (ДВССЫЛ) в Excel используется когда у вас есть ссылки в виде текста, и вы хотите получить значения из этих ссылок.
Что возвращает функция
Функция возвращает ссылку, заданную текстовой строкой.
Синтаксис
=INDIRECT(ref_text, [a1]) – английская версия
=ДВССЫЛ(ссылка_на_текст;[a1]) – русская версия
Аргументы функции
- ref_text (ссылка_на_текст) – текстовая строка, которая содержит в себе ссылку на ячейку или именованный диапазон;
- [a1] – логическое значение, которое определяет тип ссылки используемой в аргументе ref_text (ссылка_на_текст). Значения аргумента могут быть TRUE (ссылка указана в формате “А1”) или FALSE (ссылка указана в формате “R1C1”). Если не указать этот аргумент, то Excel автоматически определит его значение как TRUE.
Дополнительная информация
- Функция INDIRECT (ДВССЫЛ) это волатильная функция (используйте с осторожностью);
- Она пересчитывает значения каждый раз, когда вы открываете Excel файл, и каждый раз когда вычисление запускается на рабочем листе Excel;
- Так как волатильные функции постоянно обновляются и производят вычисления, это, в свою очередь, замедляет работу вашего Excel файла.
- Аргумент текстовой ссылки может выглядеть как:
– ссылка на ячейку, которая содержит ссылку на ячейку в формате “A1” или “R1C1”.
– ссылка на ячейку в двойных кавычках.
– именованный диапазон, возвращающий ссылку
Примеры использования функции ДВССЫЛ в Excel
Пример 1. Используем ссылку на ячейку для получения значения
Функция ДВССЫЛ получает ссылку на ячейку как исходные данные и возвращает значение ячейки по этой ссылке (как показано в примере ниже):
Формула в ячейке С1:
=INDIRECT(“A1”) – английская версия
=ДВССЫЛ(“A1”) – русская версия
Функция получает ссылку на ячейку (в двойных кавычках) и возвращает значение этой ячейки, которая равна “123”.
Вы можете спросить – почему бы нам просто не использовать “=A1” вместо использования функции INDIRECT (ДВССЫЛ) ?
Если в данном случае вы введете в ячейку С1 формулу “=A1” или “=$A$1”, то она выдаст вам тот же результат, что находится в ячейке А1. Но если вы вставите в таблице строку выше, вы можете заметить, что ссылка на ячейку будет автоматически изменена.
Функция очень полезна, если вы хотите заблокировать ссылку на ячейку таким образом, чтобы она не изменялась при вставке строк / столбцов в рабочий лист.
Пример 2. Получаем данные по ссылке на ячейку
Также, с помощью функции вы можете извлечь значения из ячейки, ссылка на которую хранится в самой ячейке.
На примере выше, ячейка “А1” содержит в себе число “123”.
Ячейка “С1” ссылается на ячейку “А1”.
Теперь, используя с помощью функции вы можете указать ячейку С1 как аргумент функции, который выведет по итогу значение ячейки А1.
Важно. Вам не нужно использовать кавычки в ячейке С1, значение ссылки на ячейку должно быть указано в текстовом формате.
Пример 3. Используем комбинацию текстового и числового значений в функции INDIRECT (ДВССЫЛ)
Вы можете создать ссылку на ячейку используя комбинацию текстовых и числовых значений.
Например, если в ячейке С1 указано число “2”, то используя формулу =INDIRECT(“A”&C1) или =ДВССЫЛ(“A”&C1) вы получите ссылку на значение ячейки “А2”.
Практическое применение этого способа актуально, когда вы хотите динамически ссылаться на ячейки на основе значения в какой-либо другой ячейке.
Пример 4. Ссылаемся на диапазон ячеек с помощью функции INDIRECT (ДВССЫЛ)
С помощью функции вы можете ссылаться на диапазон ячеек.
Например, =INDIRECT(“A1:A5”) или =ДВССЫЛ(“A1:A5”) будет ссылаться на данные из диапазона ячеек “A1:A5”.
Используя функцию SUM (СУММ) и INDIRECT (ДВССЫЛ) вместе, вы можете рассчитать сумму, а также максимальные и минимальные значения диапазона.
Пример 5. Ссылаемся на именованный диапазон значений с использованием функции INDIRECT (ДВССЫЛ)
Если вы создали именованный диапазон в Excel, вы можете обратиться к нему с помощью функции INDIRECT (ДВССЫЛ) .
Например, представим что у вас есть оценки по 5 студентам по трем предметам как показано ниже:
Зададим для следующих ячеек названия:
Для того чтобы задать название любому диапазону значений, достаточно выбрать ячейки и присвоить им название в соответствующем боксе:
После этого вы можете обратиться к указанным диапазонам с помощью формулы:
=INDIRECT(“Именованный диапазон”) – английская версия
=ДВССЫЛ(“Именованный диапазон”) – русская версия
Например, если вы хотите узнать средний балл среди студентов по математике – используйте следующую формулу:
=AVERAGE(INDIRECT(“Математика”)) – английская версия
=СРЗНАЧ(ДВССЫЛ(“Математика”)) – русская версия
Если имя диапазона указано в ячейке (“F2” в приведенном ниже примере указан как “Матем”), вы можете использовать ссылку на ячейку прямо в формуле. В следующем примере показано, как вычислять среднее значение с использованием именных диапазонов.
Пример 6. Создаем зависимый выпадающий список с помощью INDIRECT (ДВССЫЛ)
C помощью этой функции вы можете создавать зависимый выпадающий список.
Например, предположим, что у вас есть две колонки с названиями “Россия” и “США”, в строках указаны города этих стран, как указано на примере ниже:
Для того, чтобы создать зависимый выпадающий список вам нужно создать два именованных диапазона для ячеек “A2:A5” с именем “Россия” и для ячеек “B2:B5” с названием “США”.
Теперь, в ячейке “D2” создайте выпадающий список для “России” и “США”. Так мы создадим первый выпадающий список, в котором пользователь сможет выбрать одну из двух стран.
Теперь, для создания зависимого выпадающего списка:
- Выделите ячейку E2 (или любую другую ячейку, в которой вы хотите сделать зависимый выпадающий список);
- Кликните по вкладке “Data” -> “Data Val >=INDIRECT($D$2) или =ДВССЫЛ($D$2) ;
- Нажмите ОК
Теперь, если вы выберите в первом выпадающем списке, например, страну “Россия”, то во втором выпадающем списке появятся только те города, которые относятся к этой стране. Такая же ситуация, если вы выберите страну “США” из первого выпадающего списка.
Возвращает относительное положение элемента в массиве или диапазоне ячеек
Возвращает ссылку на отдельную ячейку листа в виде текста
Ищет значение в первом столбце массива и возвращает значение из ячейки в найденной строке и указанном столбце
Выбирает значение из списка значений
Создает ссылку, открывающую документ, который находится на сервере сети, в интрасети или в Интернете
Выполняет поиск в первой строке массива и возвращает значение указанной ячейки
Извлекает данные реального времени из программ, поддерживающих автоматизацию COM
Использует индекс для выбора значения из ссылки или массива
Возвращает количество областей в ссылке
Ищет значения в ссылке или массиве
Возвращают данные, хранящиеся в отчете сводной таблицы
Ищет значения в векторе или массиве
Выполняет поиск в диапазоне или массиве и возвращает элемент, соответствующий первому совпадению Если совпадения не существует, то она может вернуть наиболее близкое (приблизительное) совпадение
Возвращает смещение ссылки относительно заданной ссылки
Сортировка содержимого диапазона или массива
Сортировка содержимого диапазона или массива на основе значений в соответствующем диапазоне или массиве
Возвращает номер столбца, на который указывает ссылка
Возвращает номер строки, определяемой ссылкой
Возвращает транспонированный массив
Возвращает список уникальных значений в списке или диапазоне
Возвращает формулу в заданной ссылке в виде текста
Фильтрация диапазона данных на основе за определенных критериев
Возвращает количество столбцов в ссылке
Возвращает количество строк в ссылке
Функция ДВССЫЛ (INDIRECT) — одна из наиболее трудных в освоении функций Excel. Однако умение использовать ее позволит вам решать многие из задач, кажущихся вам сейчас неразрешимыми. По сути, если в формуле есть раздел ДВССЫЛ со ссылкой на ячейку, эта ссылка обрабатывается как содержимое соответствующей ячейки. [1] Например (рис. 1), в ячейке С4 я ввел формулу =ДВССЫЛ(А4), и Excel возвратил значение, равное 6. Excel возвращает именно это значение, поскольку ссылка на А4 немедленно заменяется текстовой строкой В4. Следовательно, формула обрабатывается как =В4, что дает нам 6. По аналогии, если ввести в ячейке С5 формулу =ДВССЫЛ(А5), Excel вернет значение ячейки В5, то есть 9.
Рис. 1. Простой пример функции ДВССЫЛ
Скачать заметку в формате Word или pdf, также доступны примеры и Задание_3 в формате Excel2013
1. Формулы моей электронной таблицы часто содержат ссылки на ячейки, диапазоны или на то и на другое вместе. Можно ли не изменять ссылки в формулах, а поместить их в отдельные ячейки, чтобы редактировать ссылки на ячейки и диапазоны, не затрагивая при этом формулы?
В диапазоне ячеек В4:Н16 (рис. 2) приведены данные о ежемесячных продажах шести товаров за 12 месяцев. Сейчас я подсчитаю общие продажи каждого товара за месяцы со 2 по 12. Простейший способ подсчитать это — скопировать формулу СУММ(С6:С16) из ячейки С18 в диапазон D18:H18. Предположим, вам потребовалось изменить месяцы, по которым производится подсчет. Скажем, вы решите подсчитать общие продажи за месяцы 3–12. Можно изменить формулу в ячейке С18 на СУММ(С7:С16) и затем скопировать ее в диапазон D18:H18. Однако может быть не всегда удобно, поскольку вам приходится копировать формулу из ячейки С18 в диапазон D18:H18, и, не просматривая формул, никто не узнает, какие строки суммируются.
Рис. 2. Функция ДВССЫЛ позволяет изменять ссылки на ячейки в формулах, не изменяя сами формулы
Функция ДВССЫЛ предлагает другое решение. Я указал в ячейках D2 и Е2 номера начальной и конечной суммируемых строк. Теперь, при использовании функции ДВССЫЛ, мне достаточно изменить значения в ячейках D2 и Е2, чтобы конечная сумма обновилась, включив только те строки, которые мы хотим. Кроме того, значения ячеек D2 и Е2 наглядно показывают, какие строки (месяцы) суммируются! Все, что мне требуется, — скопировать из ячейки С18 в диапазон D18:H18 формулу =СУММ(ДВССЫЛ(C$3&$D$2&»:»&C$3&$E$2)). Каждая ссылка на ячейку в этой формуле обрабатывается как содержимое соответствующей ячейки. С$3 обрабатывается как С, $D$2 — как 6, а $Е$2 — как 16. Используя символ конкатенации — & (сцепления), Excel обрабатывает эту формулу как СУММ(С6:С16), что нам и требуется. Формула в ячейке D18 обрабатывается как СУММ(D6:D16), что также дает нужный нам результат. Конечно, если нам захочется просуммировать продажи, скажем, с 4 по 6 месяц, мы просто введем 8 в ячейку D2 и 10 в ячейку Е2. После этого формула в ячейке С18 вернет 33 + 82 + 75 = 190.
2. В ячейке В1 книги Excel, начиная с Лист1 и заканчивая Лист7 (рис. 3) содержатся данные о продажах товара за месяц. Есть ли какой-нибудь простой способ написать и скопировать формулу, которая выводила бы данные о продажах этого товара за каждый месяц на одном листе?
Рис. 3. Данные о продажах товара за 1–7 месяц, выведенные с помощью функции ДВССЫЛ
Предположим, Лист1 содержит данные о продажах за первый месяц, Лист2 — за второй и т.д. Пусть в первом месяце продажи равны 1. Например, вы хотите вывести продажи за все месяцы на одном листе. Нудный способ — подсчитать продажи за первый месяц с помощью формулы =Лист1!В1 продажи за второй месяц с помощью формулы =Лист2!В1 и т.д. Если ваши данных охватывают 100 месяцев, такое решение грозит грандиозной головной болью. Гораздо более изящный способ — вывести данные о продажах за первый месяц в ячейке С4 листа Лист1 с помощью формулы =ДВССЫЛ($A$4&B4&»!B1″), Excel обработает $A$4 как «Лист», В4 — как 1, и «!B1» — как строку текста !В1. Формула целиком будет обработана как =Лист1!В1, то есть покажет данные о продажах за первый месяц, содержащиеся в ячейке В1 листа Лист1. Скопировав эту формулу в диапазон С5:С10, вы отобразите содержимое ячейки В1 листов со 2 по 7. Обратите внимание: при копировании формулы из ячейки С4 в ячейку С5 ссылка на В4 заменяется ссылкой на В5, и формула в ячейке С5 возвращает значение ячейки Лист2!В1 и т.д.
3. Предположим, я суммирую значения из диапазона А5:А10 посредством формулы СУММ(А5:А10). Если вставить где-нибудь между 5 и 10 строками пустую строку, формула автоматически изменится на СУММ(А5:А11). Можно ли написать формулу, которая при вставке пустой строки между 5 и 10 строками все равно суммировала бы значения из диапазона А5:А10?
Рис. 4 иллюстрирует несколько способов сложения чисел из диапазона А5:А10. В ячейке А12 я ввел обычную формулу СУММ(А5:А10). Аналогичным образом формула СУММ($А$5:$А$10) в ячейке С9 тоже возвращает значение 33. Тем не менее, если вставить строку между 5 и 10 строками, обе формулы попытаются сложить ячейки диапазона А5:А11.
Функция ДВССЫЛ (INDIRECT) предоставляет, как минимум, два способа сложения значений из диапазона А5:А10. В ячейке D9 я ввел формулу =СУММ(ДВССЫЛ(«A5:A10»)). Excel обрабатывает ДВССЫЛ(«A5:A10») как строку текста «A5:A10», и поэтому, даже если я добавлю строку в электронную таблицу, формула по-прежнему будет суммировать значения из диапазона А5:А10.
Рис. 4. Несколько способов сложения значений ячеек из диапазона А5:А10; под значением суммы написана формула
Еще один вариант сложения значений из диапазона А5:А10 при помощи функции ДВССЫЛ – формула =СУММ(ДВССЫЛ(«A»&C4&»:A»&D4)), которую я ввел в ячейке С5. Excel обрабатывает ссылку на С3 как 5, а ссылку на D3 — как 10, в результате чего формула преобразуется в СУММ(А5:А10). Вставка пустой строки между 5 и 10 строками никак не скажется на формуле, поскольку ссылка на С3 по-прежнему будет обрабатываться как 5, а ссылка на D3 — как 10. На рис. 5 показаны результаты суммирования, выполненные посредством наших четырех формул после того, как ниже 7-й строки была добавлена пустая строка.
Рис. 5. Результаты, возвращенные формулами СУММ после того, как ниже строки 7 была вставлена пустая строка
Обратите внимание: классические формулы СУММ, не включающие оператор ДВССЫЛ, автоматически изменились и суммируют значения из диапазона А5:А11, по-прежнему возвращая значение 33. Две формулы СУММ, включающие оператор ДВССЫЛ, суммируют значения из диапазона А5:А10, в результате при вычислениях теряется число 2 (оно теперь находится в ячейке A11). Формулы СУММ, содержащие оператор ДВССЫЛ, возвращают значение 31.
Контрольные задания (с ответами)
1. Функция АДРЕС возвращает адрес ячейки, сопоставленный со строкой и столбцом. Например, формула АДРЕС(3;4) возвращает $D$3. Что вернет формула =ДВССЫЛ(АДРЕС(3;4))?
2. Лист Задание_2 содержит данные о продажах пяти товаров в четырех регионах. С помощью функции ДВССЫЛ создайте формулы, которые позволят легко суммировать общие продажи любых последовательно пронумерованных товаров, например Товар 1—Товар 3, Товар 2—Товар 5 и т.д.
3. Книга Excel Задание_3 содержит шесть листов. На листе Лист1 записаны данные о продажах товаров за первый месяц. Эти данные всегда указываются в диапазоне Е5:Н5. Используя функцию ДВССЫЛ, составьте таблицу с информацией о продажах каждого товара по месяцам на отдельном листе.
Ответы
1. Формула =ДВССЫЛ(АДРЕС(3;4)) вернет значение ячейки $D$3.
2. Фрагмент формулы ДВССЫЛ(«B»&B8+1&»:»&»E»&B9+1) возвращает диапазон В3:Е5:
3. В ячейке Е9 записана формула =ДВССЫЛ($B$8&$D9&»!»&E$7&5), которая возвращает значение ячейки Лист1!Е5:
Возможно, вас также заинтересует:
Excel. Использование ДВССЫЛ для транспонирования строк в столбцы с сохранением формул
Как обойти ограничение Excel и сделать выпадающий список зависимым
Excel. Сумма цифр целого числа
[1] При написании заметки использованы материалы книги Уэйн Л. Винстон. Microsoft Excel. Анализ данных и построение бизнес-моделей, глава 22.