Функция ДВССЫЛ в Microsoft Excel
Функция ДВССЫЛ в Microsoft Excel
Одной из встроенных функций программы Excel является ДВССЫЛ. Её задача состоит в том, чтобы возвращать в элемент листа, где она расположена, содержимое ячейки, на которую указана в ней в виде аргумента ссылка в текстовом формате.
Казалось бы, что ничего особенного в этом нет, так как отобразить содержимое одной ячейки в другой можно и более простыми способами. Но, как оказывается, с использованием данного оператора связаны некоторые нюансы, которые делают его уникальным. В некоторых случаях данная формула способна решать такие задачи, с которыми другими способами просто не справиться или это будет гораздо сложнее сделать. Давайте узнаем подробнее, что собой представляет оператор ДВССЫЛ и как его можно использовать на практике.
Применение формулы ДВССЫЛ
Само наименование данного оператора ДВССЫЛ расшифровывается, как «Двойная ссылка». Собственно, это и указывает на его предназначение – выводить данные посредством указанной ссылки из одной ячейки в другую. Причем, в отличие от большинства других функций, работающих со ссылками, она должна быть указана в текстовом формате, то есть, выделена с обеих сторон кавычками.
Данный оператор относится к категории функций «Ссылки и массивы» и имеет следующий синтаксис:
Таким образом, формула имеет всего два аргумента.
Аргумент «Ссылка на ячейку» представлен в виде ссылки на элемент листа, данные содержащиеся в котором нужно отобразить. При этом указанная ссылка должна иметь текстовый вид, то есть, быть «обернута» кавычками.
Аргумент «A1» не является обязательным и в подавляющем большинстве случаев его вообще не нужно указывать. Он может иметь два значения «ИСТИНА» и «ЛОЖЬ». В первом случае оператор определяет ссылки в стиле «A1», а именно такой стиль включен в Excel по умолчанию. Если значение аргумента не указывать вовсе, то оно будет считаться именно как «ИСТИНА». Во втором случае ссылки определяются в стиле «R1C1». Данный стиль ссылок нужно специально включать в настройках Эксель.
Если говорить просто, то ДВССЫЛ является своеобразным эквивалентом ссылки одной ячейки на другую после знака «равно». Например, в большинстве случаев выражение
будет эквивалентно выражению
Но в отличие от выражения «=A1» оператор ДВССЫЛ привязывается не к конкретной ячейке, а к координатам элемента на листе.
Рассмотрим, что это означает на простейшем примере. В ячейках B8 и B9 соответственно размещена записанная через «=» формула и функция ДВССЫЛ. Обе формулы ссылаются на элемент B4 и выводят его содержимое на лист. Естественно это содержимое одинаковое.
Добавляем в таблицу ещё один пустой элемент. Как видим, строки сдвинулись. В формуле с применением «равно» значение осталось прежним, так как она ссылается на конечную ячейку, пусть даже её координаты и изменились, а вот данные выводимые оператором ДВССЫЛ поменялись. Это связано с тем, что он ссылается не на элемент листа, а на координаты. После добавления строки адрес B4 содержит другой элемент листа. Его содержимое теперь формула и выводит на лист.
Данный оператор способен выводить в другую ячейку не только числа, но и текст, результат вычисления формул и любые другие значения, которые расположены в выбранном элементе листа. Но на практике данная функция редко когда применяется самостоятельно, а гораздо чаще бывает составной частью сложных формул.
Нужно отметить, что оператор применим для ссылок на другие листы и даже на содержимое других книг Excel, но в этом случае они должны быть запущены.
Теперь давайте рассмотрим конкретные примеры применения оператора.
Пример 1: одиночное применение оператора
Для начала рассмотрим простейший пример, в котором функция ДВССЫЛ выступает самостоятельно, чтобы вы могли понять суть её работы.
Имеем произвольную таблицу. Стоит задача отобразить данные первой ячейки первого столбца в первый элемент отдельной колонки при помощи изучаемой формулы.
- Выделяем первый пустой элемент столбца, куда планируем вставлять формулу. Щелкаем по значку «Вставить функцию».
В поле «A1», так как мы работает в обычном типе координат, можно поставить значение «ИСТИНА», а можно оставить его вообще пустым, что мы и сделаем. Это будут равнозначные действия.
Пример 2: использование оператора в комплексной формуле
А теперь давайте посмотрим на пример гораздо более частого применения оператора ДВССЫЛ, когда он является составной частью комплексной формулы.
Имеем помесячную таблицу доходов предприятия. Нам нужно подсчитать сумму дохода за определенный период времени, например март – май или июнь – ноябрь. Конечно, для этого можно воспользоваться формулой простого суммирования, но в этом случае при необходимости подсчета общего результата за каждый период нам все время придется менять эту формулу. А вот при использовании функции ДВССЫЛ можно будет производить изменение суммированного диапазона, просто в отдельных ячейках указав соответствующий месяц. Попробуем использовать данный вариант на практике сначала для вычисления суммы за период с марта по май. При этом будет использована формула с комбинацией операторов СУММ и ДВССЫЛ.
- Прежде всего, в отдельных элементах на листе вносим наименования месяцев начала и конца периода, за который будет производиться расчет, соответственно «Март» и «Май».
В целом количество аргументов может достигать значения 255. Но все эти аргументы являются однородными. Они представляют собой число или координаты ячейки, в которой это число содержится. Также они могут выступать в виде встроенной формулы, которая рассчитывает нужное число или указывает на адрес элемента листа, где оно размещается. Именно в этом качестве встроенной функции и будет использоваться нами оператор ДВССЫЛ в данном случае.
Как видим, несмотря на то, что функцию ДВССЫЛ нельзя назвать одной из наиболее популярных у пользователей, тем не менее, она помогает решить задачи различной сложности в Excel гораздо проще, чем это можно было бы сделать при помощи других инструментов. Более всего данный оператор полезен в составе сложных формул, в которых он является составной частью выражения. Но все-таки нужно отметить, что все возможности оператора ДВССЫЛ довольно тяжелы для понимания. Это как раз и объясняет малую популярность данной полезной функции у пользователей.
Мы рады, что смогли помочь Вам в решении проблемы.
Помимо этой статьи, на сайте еще 12369 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Как в таблицах Excel использовать функцию ДВССЫЛ
Чтобы сделать формулу более гибкой, для создания ссылки на диапазон вы можете воспользоваться функцией ДВССЫЛ. Эта редко используемая функция принимает текстовый аргумент, который напоминает ссылку на диапазон, а затем преобразует его в фактическую ссылку на диапазон. Когда вы поймете, как работает эта функция, вы сможете применять ее для создания более мощных интерактивных электронных таблиц.
Косвенное указание строк
На рис. 124.1 показан пример использования функции ДВССЫЛ. Формула Е5 будет следующей:
=СУММ(ДВССЫЛ(«B»&E2&»:B»&E3))
Рис. 124.1. Для суммирования предоставленных пользователем строк применяется функция
Обратите внимание, что в аргументе функции ДВССЫЛ указан оператор конкатенации. Он позволяет создать ссылку на диапазон, используя значения в ячейках Е2 и Е3. Таким образом, если Е2 содержит 2, а Е3 содержит 4, ссылка на диапазон получается идентичной этой строке: «В2:В4» .
Функция ДВССЫЛ преобразует строку в фактическую ссылку на диапазон, которая затем передается функции СУММ. В сущности, формула возвращает: =СУММ(В2:В4) . При изменении значений в Е2 и Е3 формула обновляется и отображает суммы указанных строк.
Косвенное указание названий листов
На рис. 124.2 продемонстрирован другой пример — на этот раз применятся ссылка на лист. Столбец А листа Итого содержит текст, который соответствует другим листам книги. Столбец В содержит формулы, которые ссылаются на эти пункты текста. Например, формула в ячейке В2 следующая:
=СУММ(ДВССЫЛ(A2&»!F1:F10″)) .
Рис. 124.2. Столбец А листа Итого содержит текст, который соответствует другим листам книги
Эта формула объединяет текст в А2 со ссылкой на диапазон. Функция ДВССЫЛ вычисляет результат и преобразует его в фактическую ссылку на диапазон. Результат эквивалентен следующей формуле:
=СУММ(Север!F1:F10) .
Формула копируется вниз по столбцу. Каждая формула возвращает сумму диапазона F1:F10 соответствующего листа.
Создание неизменной ссылки на ячейку
Другое применение функции ДВССЫЛ состоит в том, чтобы создать такую ссылку на ячейку, которая никогда не изменяется. Для примера рассмотрим формулу, которая суммирует значения в первых 12 строках столбца А: =СУММ(А1:А12) .
Если вставить новую строку 1, Excel изменит формулу на такую: =СУММ(А2:А13) . Другими словами, формула подстраивается так, чтобы по-прежнему ссылаться на исходные данные (и она уже не суммирует первые 12 строк столбца А).
Чтобы предотвратить Excel от изменения ссылок на ячейки, используйте функцию ДВССЫЛ: =СУММ(ДВССЫЛ(«А1:А12»)) . Эта формула всегда возвращает сумму первых 12 строк в столбце А.
Функция 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 студентам по трем предметам как показано ниже:
Зададим для следующих ячеек названия:
- 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) ;
- Нажмите ОК
Теперь, если вы выберите в первом выпадающем списке, например, страну “Россия”, то во втором выпадающем списке появятся только те города, которые относятся к этой стране. Такая же ситуация, если вы выберите страну “США” из первого выпадающего списка.
Еще больше полезных приемов в работе со списками данных и функциями в Excel вы узнаете в практическом курсе “От новичка до мастера Excel“. Успей зарегистрироваться по ссылке!
Функция ДВССЫЛ() в 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) и скопировав ее в нужное количество ячеек, получим только четные записи из исходной таблицы. Формула в ячейке H 12 эквивалентна =ДВССЫЛ(«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. Т.к. это не ссылка, то функция вернет ошибку.
Функция ДВССЫЛ Excel
= Мир MS Excel/Статьи об Excel
- 1
- 2
- 3
Приёмы работы с книгами, листами, диапазонами, ячейками [6] |
Приёмы работы с формулами [13] |
Настройки Excel [3] |
Инструменты Excel [4] |
Интеграция Excel с другими приложениями [4] |
Форматирование [1] |
Выпадающие списки [2] |
Примечания [1] |
Сводные таблицы [1] |
Гиперссылки [1] |
Excel и интернет [1] |
Excel для Windows и Excel для Mac OS [2] |
Что мы знаем о функции ДВССЫЛ()?
Название ДВССЫЛ означает Двойная ссылка, то есть ссылка на ссылку. Эта функция позволяет получить значение ячейки, имя (адрес) которой является аргументом функции ДВССЫЛ(). Например, формула =ДВССЫЛ("A1") вернёт содержимое ячейки А1, а формула =ДВССЫЛ(A1) вернёт содержимое ячейки, адрес которой находится в ячейке А1. Аналогичный результат дадут формулы =ДВССЫЛ("R1C1") и =ДВССЫЛ(R1C1), если Excel настроен на применение стиля ссылок R1C1.
Небольшое отступление. Excel в зависимости от настроек работает с одним из двух стилей ссылок: A1 или R1C1. В первом случае столбцы обозначаются буквами латинского алфавита, соответственно, адрес ячейки выглядит как А1, D10 и т.д. Во втором случае столбцы, так же как и строки, обозначаются числами, а адрес выглядит, например, так: R1C1, R10C4 (строка10 столбец4), R[-1]C (ячейка в предыдущей строке и в том же столбце относительно активной).
Большинство пользователей предпочитают использовать стиль A1, но для некоторых задач стиль R1C1 является более удобным.
Изменить используемый стиль ссылок можно в Параметрах Excel — Формулы — флажок Стиль ссылок R1C1.
Второй, необязательный, аргумент функции ДВССЫЛ(), который может быть равен 0 или 1 (ЛОЖЬ или ИСТИНА), как раз определяет стиль используемой ссылки. 1 соответствует стилю A1 (принимается по умолчанию), а 0 — типу R1C1
Самое интересное заключается в том, что функция ДВССЫЛ() позволяет менять стиль ссылок в формуле, не изменяя настройки Excel, например, использовать в формулах стиль ссылок R1C1, в то время как Excel настроен на стиль A1.
Рассмотрим несколько примеров.
Пример1.
Предположим, нам нужно подсчитывать сумму с накоплением для столбца с данными (см. рисунок).
Одним из вариантов формулы является =СУММ(B1;A2). Но у этой формулы есть недостаток: при удалении строки формула ломается и возвращает ошибку #ССЫЛКА! Как сделать так, чтобы при удалении строки формула по-прежнему ссылалась на предыдущую ячейку? На помощь приходит ДВССЫЛ в формуле =СУММ(ДВССЫЛ("R[-1]C";0);A2). В данной формуле R[-1]C — это ссылка на ячейку, которая находится на строку выше от активной ячейки и в том же столбце. А второй аргумент функции ДВССЫЛ(), равный 0, как раз и позволяет использовать этот стиль ссылок в формуле, не изменяя общие настройки Excel.
Пример2.
Достаточно часто функция ДВССЫЛ() используется, когда нужно брать данные с разных листов в зависимости от значения ячейки, в которой содержится имя листа.
Предположим, есть некие данные за несколько лет по месяцам. Данные за год располагаются на листе с соответствующим именем. В приложенном файле-примере это листы 2014, 2015 и 2016.
На листе Отчёт мы хотим получить данные с выбранного листа. Выбор осуществляется с помощью выпадающего списка в ячейке B1. Структура таблиц на всех листах одинакова (см. рисунок)
В этом случае формула на листе Отчёт будет выглядеть так =ДВССЫЛ($B$1&"!RC";0), где в ячейке $B$1 содержится год, адрес RC означает, что мы получим значение из тех же строки и столбца, что и активная ячейка, а второй аргумент 0, как мы уже знаем, позволяет использовать стиль ссылок R1C1. Причём эта формула легко копируется как вниз, так и вправо на всю таблицу.
Кроме этого, предположим, на листах 2015 и 2016 мы хотим получить разницу показателей по сравнению с тем же периодом предыдущего года.
С этой задачей успешно справится формула =B4-ДВССЫЛ($B$1-1&"!RC[-2]";0). В данном случае мы берём значения с листа, год которого на 1 меньше, чем у текущего, из ячейки, находящейся на той же строке, но на два столбца левее активной, и вычитаем его из данных за текущий год. Формула также копируется вниз и вправо.
В заключении надо добавить, что функция ДВССЫЛ() является волатильной, поэтому не стоит увлекаться ей на больших объёмах