Что такое динамическая ссылка в excel

Допустим мы работает с рабочей книгой Excel, которая содержит множество листов. В старых версиях программы Excel максимальное количество созданных листов в книге достигало – 255, а в новых версиях листы не ограничены по количеству, ограничиваются только размером оперативной памяти компьютера. Нам необходимо получить значения ячейки с другого листа данной рабочей книги.

Пример функции ДВССЫЛ

Нам известно имя листа (Март) и оно введено в отдельную ячейку B1. Решить данную задачу легко опираясь на формулу, которая содержит 2 простые функции:

  1. ДВССЫЛ.
  2. СЦЕПИТЬ.

Для примера изобразим эту ситуацию и ее решение на рисунках:

Аргумент Март.

На этом листе отображаются значения определенных ячеей с других листов книги Excel.

Чтобы отобразить первое значение из листа «Март» и его ячейки C3 в ячейку B2 главного листа введите формулу:

В результате мы получили значение ячейки C3 из листа «Март»:

СЦЕПИТЬ.

Можно так же в аргументах функции СЦЕПИТЬ указать не только ссылку на ячейку с именем листа, но и ссылку на ячейку, которая в своем значении содержит имя ячейки этого листа. Тогда целый адрес можно динамически изменять при необходимости по названиям листов и адресов их ячеек. Чтобы получить такой эффект необходимо немного модифицировать нашу формулу:

  1. Добавьте новую строку между первой и второй. Для этого выделите целую строку 2 и нажмите комбинацию горячих клавиш CTRL+SHIFT+=. Или щелкните по заголовку второй строки правой кнопкой мышки, а потом из появившегося контекстного меню выберите опцию «Вставить».
  2. Для ячейки B2 введите значение C3.
  3. В ячейке B3 измените формулу, а точнее аргументы ее функции СЦЕПИТЬ:

Теперь формула работает в полном динамическом режиме:

ДВССЫЛ.

Конечно же все возможности этой формулы нельзя описать в одной статье. Главная цель этого урока продемонстрировать каким способом можно динамически изменять ссылки на ячейки, даже на другие листы и книги.



Разбор принципа действия формулы динамической ссылки на лист Excel:

Функция ДВССЫЛ позволяет преобразовать текстовое значение в ссылку. При этом в первом ее аргументе указана функция СЦЕПИТЬ. Она позволяет собрать несколько разных текстов в одну динамическую ссылку используя несколько аргументов внутри функции. Во втором не обязательном аргументе ДВССЫЛ мы имеем возможность указывать номером стиль адресации:

  • 1-классический (например, А1);
  • 0-нумерированый по строкам и столбцам (например, R1С1).

Вернемся к функции СЦЕПИТЬ – предназначена для сложения нескольких частей текста в одну текстовую строку. В этом примере функция СЦЕПИТЬ собирает нам конструкцию ссылки с трех частей текста (в данном случаи). Каждая часть текстовой строки указывается в отдельном аргументе. Функция СЦЕПИТЬ позволяет создавать максимально до 255 аргументов.

  1. Имя листа (Март).
  2. Знак восклицания (!) обязательный символ для создания адреса указывающего на другой лист.
  3. Необходимая ячейка (C3).

Вместо имени листа и ячейки мы указываем B1 и B2 что позволяет нам в формуле динамически менять адрес ссылок и соответственно возвращаемое формулой значение.

Полезный совет! Для многих пользователей Excel часто удобнее использовать в место функции СЦЕПИТЬ символ амперсанд (&). Тогда наша формула будет содержать только одну функцию:

Амперсанд.

Данный метод более быстрый и особенно подойдет, когда нужно сложить текстовую строку более чем из 255 частей. Но первый вариант более читабельный.

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 автоматически изменяет ссылки на ячейки при вставке новых или удалении существующих строк или столбцов на листе. Чтобы этого не произошло, вы можете использовать функцию ДВССЫЛ для работы с конкретными адресами ячеек, которые в любом случае должны оставаться неизменными.

Чтобы проиллюстрировать разницу, сделайте следующее:

  1. Введите любое значение в любую ячейку, например, число 555 в ячейку A1.
  2. Обратитесь к A1 из двух других ячеек тремя различными способами: =A1, =ДВССЫЛ(«A1») и ДВССЫЛ(С1), где в С1 записан адрес «А1».
  3. Вставьте новую строку над строкой 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, ДВССЫЛ может вызвать ошибку, если вы неправильно используете аргументы функции. Вот список наиболее типичных ошибок и проблем:

Ошибка #ССЫЛКА! 

Чаще всего функция ДВССЫЛ возвращает ошибку #ССЫЛКА!  в следующих случаях:

  1. Аргумент ссылка_на_ячейку не является допустимой ссылкой Excel. Если вы пытаетесь передать функции текст, который не может обозначать ссылку на ячейку (например, «A1B0»), то формула приведет к ошибке #ССЫЛКА!. Во избежание возможных проблем проверьте аргументы функции ДВССЫЛ .
  2. Превышен предел размера диапазона. Если аргумент ссылка_на_ячейку вашей формулы ДВССЫЛ ссылается на диапазон ячеек за пределами строки  1 048 576 или столбца  16 384, вы также получите ошибку #ССЫЛКА в Excel 2007 и новее. Более ранние версии Excel игнорируют превышение этого лимита и действительно возвращают некоторое значение, хотя часто не то, что вы ожидаете.
  3. Используемый в формуле лист или рабочая книга закрыты.Если ваша формула с ДВССЫЛ адресуется на другую книгу или лист Excel, то эта другая книга или электронная таблица должны быть открыты, иначе ДВССЫЛ возвращает ошибку #ССЫЛКА! . Впрочем, это требование характерно для всех формул, которые ссылаются на другие рабочие книги Excel.

Ошибка #ИМЯ? 

Это самый очевидный случай, подразумевающий, что в названии функции есть какая-то ошибка.

Ошибка из-за несовпадения региональных настроек.

Также распространенная проблема заключается не в названии функции ДВССЫЛ, а в различных региональных настройках для разделителя списка

В европейских странах запятая зарезервирована как десятичный символ, а в качестве разделителя списка используется точка с запятой.

В стандартной конфигурации Windows для Северной Америки и некоторых других стран разделителем списка по умолчанию является запятая. 

В результате при копировании формулы между двумя разными языковыми стандартами Excel вы можете получить сообщение об ошибке « Мы обнаружили проблему с этой формулой… », поскольку разделитель списка, используемый в формуле, отличается от того, что установлен на вашем компьютере. Если вы столкнулись с этой ошибкой при копировании какой-либо НЕПРЯМОЙ формулы из этого руководства в Excel, просто замените все запятые (,) точками с запятой (;) (либо наоборот). В обычных формулах Excel эта проблема, естественно, не возникнет. Там Excel сам поменяет разделители исходя из ваших текущих региональных настроек.

Чтобы проверить, какие разделитель списка и десятичный знак установлены на вашем компьютере, откройте панель управления и перейдите в раздел «Регион и язык» > «Дополнительные настройки».

Надеемся, что это руководство пролило свет для вас на использование ДВССЫЛ в Excel. Теперь, когда вы знаете ее сильные стороны и ограничения, пришло время попробовать и посмотреть, как функция ДВССЫЛ может упростить ваши задачи в Excel. Спасибо за чтение!

Вот еще несколько статей по той же теме:

Как удалить сразу несколько гиперссылок В этой короткой статье я покажу вам, как можно быстро удалить сразу все нежелательные гиперссылки с рабочего листа Excel и предотвратить их появление в будущем. Решение работает во всех версиях Excel,…
Как использовать функцию ГИПЕРССЫЛКА В статье объясняются основы функции ГИПЕРССЫЛКА в Excel и приводятся несколько советов и примеров формул для ее наиболее эффективного использования. Существует множество способов создать гиперссылку в Excel. Чтобы сделать ссылку на…
Гиперссылка в Excel: как сделать, изменить, удалить В статье разъясняется, как сделать гиперссылку в Excel, используя 3 разных метода. Вы узнаете, как вставлять, изменять и удалять гиперссылки на рабочих листах, а также исправлять неработающие ссылки. Гиперссылки широко используются…
Как сделать зависимый выпадающий список в Excel? Одной из наиболее полезных функций проверки данных является возможность создания выпадающего списка, который позволяет выбирать значение из предварительно определенного перечня. Но как только вы начнете применять это в своих таблицах,…

Динамические гиперссылки между таблицами

Если вы хотя бы в общих чертах знакомы с функцией ВПР (VLOOKUP) (если нет, то сначала бегом сюда), то должны понимать, что эта и другие похожие на неё функции (ПРОСМОТРХ, ИНДЕКС и ПОИСКПОЗ, ВЫБОР и т.д.) всегда выдают в качестве результата значение — число, текст или дату, которые мы ищем в заданной таблице.

Но что, если вместо значения нам хочется получить живую гиперссылку, щёлкнув по которой мы могли бы мгновенно перепрыгнуть к найденному совпадению в другой таблице, чтобы посмотреть на него в общем контексте?

Предположим, что в качестве исходных данных у нас есть большая таблица по заказам для наших клиентов. Для удобства (хотя это и не обязательно) я преобразовал таблицу в динамическую «умную» сочетанием клавиш Ctrl+T и дал на вкладке Конструктор (Design) ей имя таблЗаказы:

Таблица заказов

На отдельном листе Сводная я построил сводную таблицу (хотя не обязательно это должна быть именно сводная — подойдёт любая таблица в принципе), где по исходным данным считается динамика продаж по месяцам для каждого клиента:

Сводная таблица

Добавим в таблицу заказов столбец с формулой, которая ищет название клиента для текущего заказа на листе Сводная. Используем для этого классическую связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH):

Ищем название компании

Теперь завернём нашу формулу в функцию ЯЧЕЙКА (CELL), которую попросим вывести нам адрес найденной ячейки:

Определяем адрес каждого вхождения

И, наконец, вложим всё получившееся в функцию ГИПЕРССЫЛКА (HYPERLINK), которая в Microsoft Excel умеет создавать живую гиперссылку по заданному пути (адресу). Единственное, что неочевидно — придется приклеить к полученному адресу знак «решётки» (#) в начале, чтобы ссылка корректно воспринималась Excel как внутренняя (с листа на лист):

Преобразуем в гиперссылку

Теперь при щелчке мышью по любой из ссылок мы моментально перескочим на на ячейку с названием компании на листе со сводной таблицей.

Улучшение 1. Переход к нужному столбцу

Чтобы было совсем хорошо, немного усовершенствуем нашу формулу, чтобы переход происходил не названию клиента, а к конкретному числовому значению именно в том столбце-месяце, когда выполнен соответствующий заказ. Для этого придётся вспомнить, что функция ИНДЕКС (INDEX) в Excel очень многоплановая и может использоваться, в том числе, и в формате:

=ИНДЕКС( Двумерный_диапазон; Номер_строки; Номер_столбца )

То есть в качестве первого аргумента мы можем указать не столбец с названиями компаний в сводной, а всю область данных сводной таблицы, а в качестве третьего аргумента дописать номер нужного нам столбца. Его легко можно вычислить функцией МЕСЯЦ (MONTH), возвращающей номер месяца для даты сделки:

Добавляем переход к столбцу

Улучшение 2. Красивый символ ссылки

Второй аргумент функции ГИПЕРССЫЛКА — текст, который отображаться в ячейке со ссылкой — можно сделать посимпатичнее, если использовать вместо банальных знаков «>>» нестандартные символы из шрифтов Windings, Webdings и им подобных. Для этого можно использовать функцию СИМВОЛ (CHAR), которая умеет отображать символы по их коду.

Так, например, символ с кодом 56 в шрифте Webdings даст нам красивую двойную стрелку для гиперссылки:

Добавляем красивый значок ссылки

Улучшение 3. Подсветка текущей строки и активной ячейки

Ну, и для окончательной победы красоты над здравым смыслом можно прикрутить к нашему файлу еще и упрощенный вариант подсветки текущей строки и той ячейки, на которую мы переходим по ссылке. Для этого потребуется простенький макрос, который мы повесим на обработку события изменения выделения на листе Сводная.

Для этого щёлкнем правой кнопкой мыши по ярлычку листа Сводная и выберем команду Просмотреть код (View code). В открывшееся окно редактора Visual Basic вставим следующий код:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Cells.Interior.ColorIndex = -4142
    Cells(ActiveCell.Row, 1).Resize(1, 14).Interior.ColorIndex = 6
    ActiveCell.Interior.ColorIndex = 44
End Sub

Как легко сообразить, здесь мы сначала убираем заливку со всего листа, а затем заливаем желтым (код цвета 6) всю строку в сводной, а потом оранжевым (код 44) текущую ячейку.

Теперь при выделении любой ячейки внутри сводной (не важно — вручную или в результате перехода по нашей гиперссылке) будет подсвечиваться вся строка и ячейка с нужным нам месяцем:

Подсветка ячейки и строки перехода по ссылке

Красота :)

P.S. Только не забудьте сохранить файл в формате с поддержкой макросов (xlsm или xlsb).

Ссылки по теме

  • Создание внешних и внутренних ссылок функцией ГИПЕРССЫЛКА (HYPERLINK)
  • Создание писем функцией ГИПЕРССЫЛКА

Скачать пример рабочей книги

Загрузите образец книги

В этом руководстве будет показано, как создавать динамические гиперссылки в Excel Sheet.

Динамическая гиперссылка с использованием функции ГИПЕРССЫЛКА

Динамические гиперссылки — это гиперссылки, которые меняются в зависимости от значений ячеек.

В приведенном ниже примере мы создадим динамическую гиперссылку на ячейку на основе результата функции ПОИСКПОЗ.

Здесь мы ищем «Джеймс» в листе ‘Данные’ и ссылку на соответствующую строку. Давайте разделим функцию на две части, чтобы было легче понять:

Функция ГИПЕРССЫЛКА

Функция ГИПЕРССЫЛКА позволяет вам создать ссылку на точку местоположения в той же книге, другой книге или внешний URL-адрес. Его синтаксис:

Следующий пример будет динамически ссылаться на ячейка B3 в листе «Данные‘.

1 = ГИПЕРССЫЛКА («#» & «Data! B» & C3, «Щелкните здесь»)

В приведенном выше примере «Ряд #Столбец ‘содержит номер строки для‘link_location«Аргумент. Он был рассчитан с помощью функции MATCH следующим образом:

1 = ПОИСКПОЗ (B3; Данные! B3: B10,0) +2

Примечание. Чтобы получить требуемый номер строки, было добавлено количество строк над выбранным диапазоном (2).

Вы поможете развитию сайта, поделившись страницей с друзьями

Предположим, у вас есть данные в одном и том же формате на нескольких листах или книгах, и вам необходимо динамически переносить данные из этих листов или книг на другой лист. Функция КОСВЕННО может помочь вам быстро сделать это.

Связывание ячеек на другом листе динамически
Ссылки на ячейки в другой книге динамически


Связывание ячеек на другом листе динамически

Предположим, есть четыре рабочих листа, содержащих разные продажи за квартал для четырех продавцов, и вы хотите создать сводный рабочий лист, чтобы динамически получать квартальные продажи на основе соответствующего продавца. Чтобы заставить его работать, может помочь следующая формула.

Общая формула

=INDIRECT(«‘»&sheet_name&»‘!Cell to return data from«)

1. Как показано на скриншоте ниже, во-первых, вам нужно создать сводный рабочий лист, введя имена листов отдельно в разные ячейки, затем выберите пустую ячейку, скопируйте в нее формулу ниже и нажмите Enter .

=INDIRECT(«‘»&B3&»‘!C3»)

Заметки: В коде:

  • B3 это ячейка, содержащая имя листа, из которого вы будете извлекать данные;
  • C3 это адрес ячейки на конкретном листе, данные которого вы извлечете;
  • Чтобы предотвратить возврат значения ошибки, если либо B5 (ячейка с именем листа), либо C3 (ячейка, в которую вы будете извлекать данные) пуста, пожалуйста, заключите формулу INDIRECT с функцией IF, отображаемой ниже:
    = ЕСЛИ (ИЛИ (B3 = «», C3 = «»), «», КОСВЕННО ($ B $ 3 & «! C3»))
  • Если в именах ваших листов нет пробелов, вы можете напрямую использовать эту формулу
    = КОСВЕННО (B3 & «! C3»)

2. Затем перетащите его Ручка заполнения вниз, чтобы применить формулу к другим ячейкам. Теперь вы вернули все продажи за первый квартал из конкретных таблиц.

3. Продолжайте тянуть все продажи других кварталов по мере необходимости. И не забудьте изменить ссылку на ячейку в формуле.


Ссылки на ячейки в другой книге динамически

В этом разделе говорится о динамических ссылках на ячейки в другой книге в Excel.

Общая формула

=INDIRECT(«‘[» & Book name & «]» & Sheet name & «‘!» & Cell address)

Как показано на скриншоте ниже, данные, которые вы хотите вернуть, находятся в столбце E рабочего листа. «Тотальная распродажа» в отдельной книге под названием «Файл продаж». Пожалуйста, сделайте следующее шаг за шагом, чтобы сделать это.

1. Во-первых, давайте заполним информацию о книге (включая имя книги, имя рабочего листа и ссылочные ячейки), из которых вы будете извлекать данные на основе этой информации в текущую книгу.

2. Выберите пустую ячейку, скопируйте в нее приведенную ниже формулу и нажмите Enter .

=INDIRECT(«‘[«&$B$3&»]»&$C$3&»‘!»&D3)

Заметки:

  • B3 содержит имя книги, из которой вы хотите извлечь данные;
  • C3 имя листа;
  • D3 это ячейка, из которой вы будете извлекать данные;
  • Наблюдения и советы этой статьи мы подготовили на основании опыта команды #REF! значение ошибки будет возвращено, если указанная книга закрыта;
  • Чтобы избежать #REF! значение ошибки, пожалуйста, заключите формулу КОСВЕННО с функцией ЕСЛИОШИБКА следующим образом:
    = ЕСЛИОШИБКА (КОСВЕННАЯ («‘[» & $ B $ 3 & «]» & $ C $ 3 & «‘!» & D3), «»)

3. Затем перетащите маркер заполнения вниз, чтобы применить формулу к другим ячейкам.

Наконечник: Если вы не хотите, чтобы возвращаемое значение превращалось в ошибку после закрытия указанной книги, вы можете напрямую указать имя книги, имя рабочего листа и адрес ячейки в формуле следующим образом:
=INDIRECT(‘[SalesFile.xlxs]Total sales’!E3,»»)


Связанная функция

КОСВЕННАЯ функция
Функция Microsoft Excel INDIRECT преобразует текстовую строку в действительную ссылку.


Лучшие инструменты для работы в офисе

Kutools for Excel — Помогает вам выделиться из толпы

Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.

  • Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
  • Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
  • Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
  • 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.

Лента Excel (с Kutools for Excel установлены)


Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.

Снимок экрана Excel (с установленной вкладкой Office)

Комментарии (1)


Оценок пока нет. Оцените первым!

Гиперссылки — это быстрый способ перехода Excel к нужной точке данных в той же книге, другой книге или внешнему URL-адресу. Хотя гиперссылки в основном являются статическими, вот способ, которым вы можете воспользоваться для создания динамических гиперссылок.

Под динамическими гиперссылками я подразумеваю ссылки, которые меняются в зависимости от выбора (или любого другого действия пользователя).

Предположим, у меня есть набор данных, как показано ниже:

Это исходные данные, и у меня есть сводная таблица, в которой есть раскрывающиеся списки, где человек может выбрать месяц. Идея состоит в том, чтобы обновить гиперссылку выбранными элементами, чтобы при нажатии на гиперссылку пользователь переходил в нужную ячейку. Что-то, как показано ниже

Здесь для создания динамических гиперссылок в Excel

  1. Создайте раскрывающийся список проверки данных в ячейке B3 с источником в качестве названия всех месяцев на вкладке «Данные». [Узнайте, как создать раскрывающийся список в Excel]
  2. Используйте следующую формулу в ячейке C3

= ГИПЕРССЫЛКА ("#" & "Data! B" & (MATCH (B3, Data! $ B $ 3: $ B $ 26,0) +2), "Щелкните здесь, чтобы просмотреть данные")

  1. Вот и все!! Ваша динамическая гиперссылка готова

Как это работает

  • # указывает формуле ссылаться на ту же книгу
  • Data! B — это ссылка на имя листа и имя столбца
  • MATCH (B3, Data! $ B $ 3: $ B $ 26,0) дает позицию соответствующего месяца в списке. К нему добавляется 2, поскольку с третьей строки начинаются 2 данных. Например, в случае января 2012 года формула соответствия возвращает 1, а добавление двух — 3. Следовательно, она относится к B3.

Это удивительный прием, который может очень пригодиться при создании панелей мониторинга Excel.

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

Нужна дополнительная помощь?

Понравилась статья? Поделить с друзьями:
  • Что такое диапозон excel
  • Что такое диапазоны в excel 2010
  • Что такое диапазон ячейки в excel определение
  • Что такое диапазон ячеек как обозначается диапазон ячеек в excel
  • Что такое диапазон ячеек в табличном процессоре ms excel