Двссыл в excel сбор данных с нескольких листов

На первый взгляд (особенно при чтении справки) функция ДВССЫЛ (INDIRECT) выглядит простой и даже ненужной. Ее суть в том, чтобы превращать текст похожий на ссылку — в полноценную ссылку. Т.е. если нам нужно сослаться на ячейку А1, то мы можем либо привычно сделать прямую ссылку (ввести знак равно в D1, щелкнуть мышью по А1 и нажать Enter), а можем использовать ДВССЫЛ для той же цели:

Простой пример на ДВССЫЛ

Обратите внимание, что аргумент функции — ссылка на А1 — введен в кавычках, поэтому что, по сути, является здесь текстом.

«Ну ОК», — скажете вы. «И что тут полезного?». 

Но не судите по первому впечатлению — оно обманчиво. Эта функция может выручить вас в большом количестве ситуаций.

Пример 1. Транспонирование

Классика жанра: нужно превратить вертикальный диа

пазон в горизонтальный (транспонировать). Само-собой, можно использовать специальную вставку или функцию ТРАНСП (TRANSPOSE) в формуле массива, но можно обойтись и нашей ДВССЫЛ:

Транспонирование столбца в строку

Логика проста: чтобы получить адрес очередной ячейки, мы склеиваем спецсимволом «&» букву «А» и номер столбца текущей ячейки, который выдает нам функция СТОЛБЕЦ (COLUMN).

Обратную процедуру лучше проделать немного по-другому. Поскольку на этот раз нам нужно формировать ссылку на ячейки B2, C2, D2 и т.д., то удобнее использовать режим ссылок R1C1 вместо классического «морского боя». В этом режиме наши ячейки будут отличаться только номером столбца: B2=R1C2, C2=R1C3, D2=R1C4 и т.д.

Тут на помощь приходит второй необязательный аргумент функции ДВССЫЛ. Если он равен ЛОЖЬ (FALSE), то можно задавать адрес ссылки в режиме R1C1. Таким образом, мы можем легко транспонировать горизонтальный диапазон обратно в вертикальный:

ДВССЫЛ в режиме R1C1

Пример 2. Суммирование по интервалу

Мы уже разбирали один способ суммирования по окну (диапазону) заданного размера на листе с помощью функции СМЕЩ (OFFSET). Подобную задачу можно решить и с помощью ДВССЫЛ. Если нам нужно суммировать данные только из определенного диапазона-периода, то можно склеить его из кусочков и превратить затем в полноценную ссылку, которую и вставить внутрь функции СУММ (SUM):

Сумма по интервалу

Пример 3. Выпадающий список по умной таблице

Иногда Microsoft Excel не воспринимает имена и столбцы умных таблиц как полноценные ссылки. Так, например, при попытке создать выпадающий список (вкладка Данные — Проверка данных) на основе столбца Сотрудники из умной таблицы Люди мы получим ошибку:

Ошибка при создании вып.списка

Если же «обернуть» ссылку нашей функцией ДВССЫЛ, то Excel преспокойно ее примет и наш выпадающий список будет динамически обновляться при дописывании новых сотрудников в конец умной таблицы:

ДВССЫЛ для создания динамического выпадающего списка

Пример 4. Несбиваемые ссылки

Как известно, Excel автоматически корректирует адреса ссылок в формулах при вставке или удалении строк-столбцов на лист. В большинстве случаев это правильно и удобно, но не всегда. Допустим, что нам нужно перенести имена из справочника по сотрудникам в отчет:

Несбиваемые ссылки

Если ставить обычные ссылки (в первую зеленую ячейку ввести =B2 и скопировать вниз), то потом при удалении, например, Даши мы получим в соответствующей ей зеленой ячейке ошибку #ССЫЛКА! (#REF!). В случае применения для создания ссылок функции ДВССЫЛ такой проблемы не будет.

Пример 5. Сбор данных с нескольких листов

Предположим, что у нас есть 5 листов с однотипными отчетами от разных сотрудников (Михаил, Елена, Иван, Сергей, Дмитрий):

Отчеты для сборки

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

Собрать данные со всех листов (не просуммировать, а положить друг под друга «стопочкой») можно всего одной формулой:

Сборка данных функцией ДВССЫЛ

Как видите, идея та же: мы склеиваем ссылку на нужную ячейку заданного листа, а ДВССЫЛ превращает ее в «живую». Для удобства, над таблицей я добавил буквы столбцов (B,C,D), а справа — номера строк, которые нужно взять с каждого листа.

Подводные камни

При использовании ДВССЫЛ (INDIRECT) нужно помнить про ее слабые места:

  • Если вы делаете ссылку в другой файл (склеивая имя файла в квадратных скобках, имя листа и адрес ячейки), то она работает только пока исходный файл открыт. Если его закрыть, то получим ошибку #ССЫЛКА!
  • С помощью ДВССЫЛ нельзя сделать ссылку на динамический именованный диапазон. На статический — без проблем.
  • ДВССЫЛ является волатильной (volatile) или «летучей» функцией, т.е. она пересчитывается при любом изменении любой ячейки листа, а не только влияющих ячеек, как у обычных функций. Это плохо отражается на быстродействии и на больших таблицах ДВССЫЛ лучше не увлекаться.

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

  • Как создать динамический диапазон с автоподстройкой размеров
  • Суммирование по диапазону-окну на листе функцией СМЕЩ (OFFSET)

 

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? Одной из наиболее полезных функций проверки данных является возможность создания выпадающего списка, который позволяет выбирать значение из предварительно определенного перечня. Но как только вы начнете применять это в своих таблицах,…


Функция

ДВССЫЛ()

, английский вариант 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. Т.к. это не

ссылка, то функция вернет ошибку.

Функция ДВССЫЛ возвращает ссылку, которая задана текстовой строкой. К примеру, формула = ДВССЫЛ (А3) аналогична формуле = А3. Но для этой функции ссылка является просто текстовой строкой: ее можно изменять формулами.

Функция применяется для изменения ссылки на ячейку без изменения самой формулы, выведения значений лишь из четных/ нечетных строк, транспонирования таблиц и др.

Синтаксис функции с описанием

Аргументы:

  1. Ссылка на текст. Обязательный аргумент, содержащий ссылку на ячейку в формате текстовой строки. Например, =ДВССЫЛ («А1») или =ДВССЫЛ («Лист 2!А3»).
  2. А1 – логическое значение для определения типа ссылки. Необязательный аргумент. Если имеет значение ИСТИНА или опущен, то ссылка на текст воспринимается как ссылка типа А1 (адрес ячейки указан явно). Значение ЛОЖЬ – как ссылка в стиле R1C1 (ссылка на ячейку с формулой, отсылающей к другой ячейке).

Почему при работе функции ДВССЫЛ возникают ошибки:

  1. Значение аргумента «ссылка на ячейку» является недопустимой ссылкой – ошибка #ССЫЛКА!.
  2. Обязательный аргумент ссылается на другую книгу (является внешней ссылкой), которая недоступна (закрыта) – ошибка #ССЫЛКА!. При создании подобных формул внешний источник данных должен быть открыт.
  3. Значение обязательного аргумента ссылается на превышающий предел диапазон – ошибка #ССЫЛКА!. Функция может обработать до 1048576 строк или 16384 столбцов.



Функция ДВССЫЛ в Excel: примеры

Начнем с хрестоматийного примера, чтобы понять принцип работы функции.

Имеется таблица с данными:

Таблица с данными.

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

ДВССЫЛ.

Рассмотрим практическое применение функции. На листах 1, 2, 3, 4 и 5 в одних и тех же ячейках расположены однотипные данные (информация об образовании сотрудников фирмы за последние 5 лет).

2012-2013.

Нужно на основе имеющихся таблиц составить итоговую таблицу на отдельном листе, собрав данные с пяти листов. Сделаем это с помощью функции ДВССЫЛ.

Пример1.

Пишем формулу в ячейке В4 и копируем ее на всю таблицу (вниз и вправо). Данные с пяти различных листов собираются в итоговую таблицу.

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

Итоговая таблица.

Чтобы получить только нечетные записи, используем формулу:

Пример2.

Для выведения четных строк:

Результат.
Примечание. Функция СИМВОЛ возвращает символ по заданному коду. Код 65 выводит английскую букву A. 66 – B. 67 – С.

Допустим, у пользователя имеется несколько источников данных (в нашем примере – несколько отчетов). Нужно вывести количество сотрудников, основываясь на двух критериях: «Год» и «Образование». Для поиска определенного значения в базе данных подходит функция ВПР.

Чтобы функция сработала, все отчеты поместим на один лист.

Все отчеты.

Но ВПР информацию в таком виде не сможет переработать. Поэтому каждому отчету мы дали имя (создали именованные диапазоны). Отдельно сделали выпадающие списки: «Год», «Образование». В списке «Год» – названия именованных диапазонов.

Год.

Задача: при выборе года и образования в столбце «Количество» должно появляться число сотрудников.

Если мы используем только функцию ВПР, появится ошибка:

Ошибка НД.

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

Готово.

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

Функции ВПР и ДВССЫЛ в Excel

Теперь формула работает корректно. Для решения подобных задач нужно применять одновременно функции ВПР и ДВССЫЛ в Excel.

Предположим, нужно извлечь информацию в зависимости от заданного значения. То есть добиться динамической подстановки данных из разных таблиц. К примеру, указать количество сотрудников с незаконченным высшим образованием в 2015 и в 2016 году. Сделать так:

Выборка значений.

В отношении двух отчетов сработает комбинация функций ВПР и ЕСЛИ:

ВПР и ЕСЛИ.

Но для наших пяти отчетов применять функцию ЕСЛИ нецелесообразно. Чтобы возвратить диапазон поиска, лучше использовать ДВССЫЛ:

Пример3.

  • $A$12 – ссылка с образованием (можно выбирать из выпадающего списка);
  • $C11 – ячейка, в которой содержится первая часть названия листа с отчетом (все листы переименованы: «2012_отчет», 2013_отчет» и т.д.);
  • _отчет!A3:B10 – общая часть названия всех листов и диапазон с отчетом. Она соединяется со значением в ячейке С11 (&). В результате получается полное имя нужного диапазона.

Таким образом, эти две функции выполняют подобного рода задачи на отлично.

Функция ДВССЫЛ() в MS EXCEL

​Смотрите также​Function имяадр(ByVal s​ Range​ имею в виду:​ имя динамическое (использует​ что бы ссылка​ тоже не работает​ толкую…​ #ССЫЛКА!​В ячейке B3 измените​ т.е. она пересчитывается​ будет динамически обновляться​ Само-собой, можно использовать​ возвращает название книги​В случае с Имя2​ Формула в ячейке​ стиле R1C1 (Кнопка​Функция ДВССЫЛ(), английский вариант INDIRECT(),​

​ As String) As​

Синтаксис функции

​Dim wb As​

​Серега​​ функцию СМЕЩ) -​ была на первую.​ с закрытыми книгами?​из стандартного хелпа​Аргумент функции хранится​ формулу, а точнее​ при любом изменении​ при дописывании новых​ специальную вставку или​​ и листа в​​ все по-другому. Формула​H12​ Офис/ Параметры Excel/​ возвращает ссылку на​ String​ Workbook​: Всё работает, не​ ошибка. Есть ли​ И они в​ Если нет, то​ в Excel:​ в отдельной ячейке​

​ аргументы ее функции​​ любой ячейки листа,​​ сотрудников в конец​ функцию​ апострофах (‘), например,​ =СУММ(ДВССЫЛ(A3)) эквивалентна =СУММ(ДВССЫЛ(«имя2»))​ эквивалентна =ДВССЫЛ(«B13») ​​ Формулы/ Работа с​​ ячейку(и), заданную текстовой​

  • ​Dim finds As​​’Application.Volatile True​​ спорю, но:​ возможность обойти эту​ разных листах. Я​ какой функцией ее​ДВССЫЛ​
  • ​ в виде следующего​​ СЦЕПИТЬ:​​ а не только​ умной таблицы:​ТРАНСП (TRANSPOSE)​ ‘[_Определяем_имя_листа.xlsx]123456’!$A$1, что может​

​ Вместо «имя2» подставляется​​Примечание​ формулами).​ строкой. Например, формула​ Boolean​’ищем s в​я делаю таблицу​ ошибку?​ знаю что на​ можно заменить, чтобы​См. также​ текста: ‘\MARSDATA[ИмяФайла.xls]ЛИСТ1’!$A$1​​Теперь формула работает в​​ влияющих ячеек, как​Как известно, Excel автоматически​в формуле массива,​​ привести к ошибке​​ массив {10:20}, который​: С помощью функции​Если​ =ДВССЫЛ(«Лист1!B3») эквивалентна формуле =Лист1!B3.​Dim nm As​ именах книги откуда​ для пользователей, не​Посмотрите прикрепленный файл.​

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

Рассмотрим несколько задач

​ корректирует адреса ссылок​ но можно обойтись​

​ при определении имени​ не является текстовой​ СИМВОЛ() можно вывести​ссылка_на_ячейку​ Мощь этой функции​ Object​ вызвана функция​ совсем рубящих в​

​Серега​ сделать, но как?​ открывать другую книгу?​ текстовой строкой. Ссылки​ на сетевом общедоступном​Конечно же все возможности​

​ Это плохо отражается​ в формулах при​ и нашей​ листа;​​ строкой и не​​ любой символ, зная​не является допустимой​ состоит в том,​Dim rr As​If IsObject(Application.Caller) Then​

​ Экселе и им,​: Добрый день!​ У меня не​

​vikttur​ немедленно вычисляются для​ диске.​ этой формулы нельзя​ на быстродействии и​ вставке или удалении​ДВССЫЛ​Записав в ячейке​ может быть обработан​

​ его код. =СИМВОЛ(65)​​ ссылкой, то функция​​ что саму ссылку​ Range​​Set wb =​​ что вычислить сумму​Фугкция ДВССЫЛ позволяет​ получается.​: belka5, ну вы​ вывода их содержимого.​Если просто ввести​​ описать в одной​​ на больших таблицах​ строк-столбцов на лист.​:​В2​ функцией ДВССЫЛ(). Поэтому​ выведет букву А​ ДВССЫЛ() возвращает значение​ (Лист1!B3) также можно​

​Dim wb As​​ Application.Caller.Parent.Parent​ по другому имени,​ ссылаться на имена,​

​GIG_ant​ же проверили. Или​

​ Функция ДВССЫЛ используется,​ в ячейку =’\MARSDATA[ИмяФайла.xls]ЛИСТ1′!$A$1,​ статье. Главная цель​ ДВССЫЛ лучше не​ В большинстве случаев​Логика проста: чтобы получить​формулу =ЕСЛИОШИБКА(ПОИСК(«‘»;B1);0), получим,​

​ она возвращает ошибку.​ (английскую), =СИМВОЛ(66) выведет В, =СИМВОЛ(68)​ ошибки #ССЫЛКА!​ изменять формулами, ведь​ Workbook​Else​​ надо редактировать формулу​​ например​

​: где то что​​ не послушались совета?​ если требуется изменить​ то содержимое ячейки​ этого урока продемонстрировать​ увлекаться.​ это правильно и​ адрес очередной ячейки,​

​ что если название​Аналогичный результат получим​ выведет D.​Задача1 — Формируем ссылки​ для ДВССЫЛ() это просто текстовая​’Application.Volatile True​Set wb =​​ =СУММ(Динамика) например на​​=СУММ(ДВССЫЛ(C4)), где в​

​ есть и то​Выложите пример в​

​ ссылку на ячейку​ А1 в ИмяФайла.xls​ каким способом можно​Допустим мы работает с​

​ удобно, но не​
​ мы склеиваем спецсимволом​
​ листа – число,​

​ для имен: Имя3​C помощью формулы =ДВССЫЛ(СИМВОЛ(65+N$26)&$A12*2+10) можно​ на листы​

​ строка! С помощью​​’ищем s в​ Range(«A1»).Parent.Parent​ =СУММ(Статика). Формула на​ С4 стоит имя​

​ что надо? (в​ Вашей теме, только​

​ в формуле, не​

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

​ «&» букву «А»​ то результат =1,​ и Имя5. ​ вывести только нечетные​

​Пусть на листах Лист1,​ этой функции можно​ именах книги откуда​

​End If​ самом деле оч​ диапазона. Всё работает​ смысле пример)​

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

​ и номер столбца​ если текст, то​В чем разница между​ строки, а с​ Лист2, Лист3 и​ транспонировать таблицы, выводить​ вызвана функция​’проверяем что имя​ длинная и внутрь​ ОК, пока имя​Lord_Syrym​ по структуре к​Синтаксис​ ДВССЫЛ не проходит.​

​ на другие листы​ листов. В старых​ имена из справочника​ текущей ячейки, который​ 0;​ =СУММ(ДВССЫЛ(имя5)) и =СУММ(ДВССЫЛ(«имя5»)) ?​ помощью формулы =ДВССЫЛ(СИМВОЛ(65+B$26)&$A28+11) вообще​ Лист4 в одних​ значения только из​If IsObject(Application.Caller) Then​ есть​

​ их пущать не​ статичное, но если​: пример​ реальному файлу. Возможность​ДВССЫЛ(ссылка_на_ячейку;a1)​ Сначала я вроде​ и книги.​ версиях программы Excel​ по сотрудникам в​ выдает нам функция​
​Слегка модифицируем формулу в​ Когда мы записываем​ произвольные строки, номера​

​ и тех же​ четных/ нечетных строк,​Set wb =​finds = False​ хочу. Хотел вот​ имя динамическое (использует​Shurenok​ замены зависит от​Ссылка_на_ячейку — это​ мучался с этим​​ максимальное количество созданных​ отчет:​СТОЛБЕЦ (COLUMN)​ ячейке​ =СУММ(ДВССЫЛ(«имя5»)) мы говорим​ которых заданы в​

excel2.ru

Определение имени листа в MS EXCEL для использования в функции ДВССЫЛ()

​ ячейках находятся однотипные​ складывать цифры числа​ Application.Caller.Parent.Parent​For Each nm​ сделать через ДВССЫЛ,​ функцию СМЕЩ) -​: Я тоже столкнулся​ Ваших формул.​ ссылка на ячейку,​ первым апострофом -​Разбор принципа действия формулы​ листов в книге​Если ставить обычные ссылки​.​

​B3​ функции ДВССЫЛ() работать​ столбце​ данные (Продажи товаров​ и многое другое.​

​Else​​ In wb.Names​​ да не получаецца…​ ошибка. Есть ли​ с этой проблемой.​belka5​ которая содержит либо​ его Excel автоматически​ динамической ссылки на​ достигало – 255,​ (в первую зеленую​Обратную процедуру лучше проделать​для определения названия​

  • ​ с имя5 как​А​​ за квартал) См.​​Функция ДВССЫЛ() имеет простой синтаксис.​Set wb =​If nm.Name =​Серега​ возможность обойти эту​Двссыл/Indirect работает только​: Виктур, я проверила,​ ссылку в стиле​ ведь убирает. Пробовал​ лист Excel:​ а в новых​
  • ​ ячейку ввести =B2​ немного по-другому. Поскольку​ листа: =ПСТР(B1;ПОИСК(«]»;B1)+1;ДЛСТР(B1)-ПОИСК(«]»;B1)-5-B2);​ с адресом. Это​.​ файл примера.​ДВССЫЛ(ссылка_на_ячейку;a1)​
  • ​ Range(«A1»).Parent.Parent​ s Then​: Всё работает, не​ ошибку?​ в том случае,​ суммесли не работает​ А1, либо ссылку​ добавлять второй апостроф​Функция ДВССЫЛ позволяет преобразовать​ версиях листы не​
  • ​ и скопировать вниз),​​ на этот раз​​Теперь, записав вместо формулы​ сработает, если имя5​Задача3 — транспонирование таблиц/​Сформируем итоговую таблицу Продажи​Ссылка_на_ячейку​End If​
  • ​finds = True​ спорю, но:​​Посмотрите прикрепленный файл.​​ если книга (на​ с закрытой второй​

​ в стиле R1C1,​ — судя по​ текстовое значение в​ ограничены по количеству,​ то потом при​ нам нужно формировать​

​ =ДВССЫЛ(«лист2!A1″) формулу =ДВССЫЛ(B3&»!A1″),​
​ содержит «Имена!$A$14:$A$17» или​ векторов​ за год на​ — это текстовая строка​’проверяем что имя​Set rr =​​я делаю таблицу​​slan​

​ которую ведет ссылка​
​ книгой.​ либо имя, определенное​ проверке работы функции​​ ссылку. При этом​​ ограничиваются только размером​​ удалении, например, Даши​​ ссылку на ячейки​

excel2.ru

Разбор функции ДВССЫЛ (INDIRECT) на примерах

​ мы решим задачу:​ что-то в этом​С помощью нижеуказанной формулы​​ другом листе. В​​ в формате ссылки​ есть​ Evaluate(nm.RefersTo)​ для пользователей, не​: а есть необходимость​ через данную функцию)открыта.​Z​ как ссылка, либо​ в окне вычислений​ в первом ее​ оперативной памяти компьютера.​ мы получим в​ B2, C2, D2​ изменение имени Листа2​ роде. Но, имя5​ можно транспонировать исходную​ этой таблице будут​​ (т.е. указаны столбец​​finds = False​End If​

Простой пример на ДВССЫЛ

​ совсем рубящих в​ именно через двойную​ Решение нашел через​: Тяжелый нонче денек​ ссылку на ячейку​ функции (Зависимости формул​ аргументе указана функция​

​ Нам необходимо получить​ соответствующей ей зеленой​ и т.д., то​

​ не повлияет на​ указывает на формулу,​ таблицу (подробнее читайте​ присутствовать данные с​ и строка): =ДВССЫЛ(«B3»)​For Each nm​

Пример 1. Транспонирование

​Next​ Экселе и им,​

​ ссылку писать?​ функцию Indirect.ext. По​ для женщин Planet’ы…​ в виде текстовой​​ — вычислить формулу)​​ СЦЕПИТЬ. Она позволяет​ значения ячейки с​ ячейке ошибку #ССЫЛКА!​​ удобнее использовать режим​​ работоспособность формулы.​

Транспонирование столбца в строку

​ которая возвращает значения​ здесь): ​ 4-х листов.​ или =ДВССЫЛ(«Лист1!B3») или =ДВССЫЛ(«[Книга1.xlsx]Лист1!B3»). Первая​ In wb.Names​’назначаем адрес имени​ что вычислить сумму​​просто сумм(имя) не​​ умолчанию данной функции​

​ :-)​ строки. Если ссылка_на_ячейку​ ссылка в этом​ собрать несколько разных​ другого листа данной​ (#REF!). В случае​ ссылок R1C1 вместо​Внимание!​ из диапазона Имена!$A$14:$A$17.​=ДВССЫЛ(​Для удобства в строке​ формула эквивалентна формуле​If nm.Name =​If finds Then​ по другому имени,​

​ катит?​ нет в Excel,​Короче, 2 файла​​ не является допустимой​​ случае формируется правильно,​​ текстов в одну​​ рабочей книги.​ применения для создания​ классического «морского боя».​Иногда, когда открыто​ Т.к. это не​АДРЕС(СТОЛБЕЦ(C12)+СТРОКА($B$11)-СТОЛБЕЦ($B$11);​ 9 на листе,​

ДВССЫЛ в режиме R1C1

Пример 2. Суммирование по интервалу

​ =B3, вторая -​ s Then​имяадр = rr.Worksheet.Name​ надо редактировать формулу​slan​​ а скачать надстройку​​ (*.xls ) в​ ссылкой, то функция​ но все равно​​ динамическую ссылку используя​​Нам известно имя листа​ ссылок функции​ В этом режиме​ несколько книг, функция​ ссылка, то функция​СТРОКА(C12)-СТРОКА($B$11)+СТОЛБЕЦ($B$11))​ где будет итоговая​ =Лист1!B3, третья =[Книга1.xlsx]Лист1!B3 Если какая-либо​finds = True​​ & «!» &​​ =СУММ(Динамика) например на​

Сумма по интервалу

Пример 3. Выпадающий список по умной таблице

​: а есть необходимость​ можно тут .​ архив размером не​ ДВССЫЛ возвращает значение​ не работает. Может​ несколько аргументов внутри​ (Март) и оно​​ДВССЫЛ​​ наши ячейки будут​​ ЯЧЕЙКА() может работать​​ вернет ошибку.​​О транспонировании таблиц можно​​ таблица, пронумеруем столбцы​

Ошибка при создании вып.списка

​ ячейка (например,​Set rr =​​ rr.Address​​ =СУММ(Статика). Формула на​ именно через двойную​kim​ более 100, с​ ошибки #ССЫЛ!.​ кто-нибудь подскажет? Может​ функции. Во втором​

ДВССЫЛ для создания динамического выпадающего списка

Пример 4. Несбиваемые ссылки

​ введено в отдельную​такой проблемы не​ отличаться только номером​ некорректно. Для восстановления​При изменении имени листа,​ прочитать в этом​С, D, E, F​А1 ​ Evaluate(nm.RefersTo)​Else​ самом деле оч​ ссылку писать?​: Lord_Syrym, можно и​

Несбиваемые ссылки

​ подробной хотелкой что,​Если ссылка_на_ячейку является​ этот самый апостроф​ не обязательном аргументе​ ячейку B1. Решить​ будет.​ столбца: B2=R1C2, C2=R1C3,​ работоспособности формулы нужно​ все ссылки в​ разделе. ​ как 1, 2, 3,​содержит текстовую строку в​​End If​​имяадр = s​ длинная и внутрь​

Пример 5. Сбор данных с нескольких листов

​просто сумм(имя) не​ ВПРом, только вот​ как, почему, куда,​ ссылкой на другую​ как-то через амперсанд​ ДВССЫЛ мы имеем​

Отчеты для сборки

​ данную задачу легко​Предположим, что у нас​ D2=R1C4 и т.д.​ нажать клавишу​ формулах автоматически обновятся​Примечание​

​ 4 в соответствии​ формате ссылки (например, Лист1!B3),​Next​ & » не​ их пущать не​ катит?​

Сборка данных функцией ДВССЫЛ

​ непонятно: причем тут​ зачем… Да -​ рабочую книгу (внешней​ «подцеплять»? Или есть​ возможность указывать номером​​ опираясь на формулу,​​ есть 5 листов​Тут на помощь приходит​F9​ и будут продолжать​: О других применениях функции ДВССЫЛ() можно​ с номером квартала и​ то в ДВССЫЛ()​’назначаем адрес имени​

Подводные камни

​ определено»​​ хочу. Хотел вот​​Серега​ другая книга?​

  • ​ в своей стартовой​ ссылкой), другая рабочая​ другие способы формирования​ стиль адресации:​ которая содержит 2​ с однотипными отчетами​ второй необязательный аргумент​(Формулы/ Вычисления/ Пересчет).​ работать. Исключение составляет​ прочитать в статьях,​ пронумеруем строки таблицы​
  • ​ можно указать ссылку​If finds Then​End If​ сделать через ДВССЫЛ,​: Это слишком просто​
  • ​Lord_Syrym​ теме. Время пошло…​ книга должна быть​ ссылки на сетевые​1-классический (например, А1);​ простые функции:​ от разных сотрудников​ функции​ПРИМЕЧАНИЕ:​ функция ДВССЫЛ(), в​ список которых расположен​ (см. столбец А).​ на эту ячейку =ДВССЫЛ(А1) Эта​

planetaexcel.ru

Функция ДВССЫЛ и динамическая ссылка на лис Excel

​имяадр = rr.Worksheet.Name​End Function​ да не получаецца…​ :-)​: Спасибо shurenok, я​26694​ открытой. Если это​ файлы?​0-нумерированый по строкам и​ДВССЫЛ.​ (Михаил, Елена, Иван,​ДВССЫЛ​С помощью обычных​ которой имя листа​ ниже.​Чтобы вывести данные с​ запись будет эквивалентна =ДВССЫЛ(«Лист1!B3»),​

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

​ & «!» &​Sub test2()​slan​А если серьёзно​ скачал настройки. помогло.​alango​ не так, функция​Серегй​

  1. ​ столбцам (например, R1С1).​
  2. ​СЦЕПИТЬ.​

​ Сергей, Дмитрий):​. Если он равен​ формул (не VBA)​

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

​ может фигурировать в​Задача 4 — использование​ других листов используем​ которая в свою​

​ rr.Address​’просто тест​: зачем редактировать?​ — если меняешь​Насчет ВПР, Ким,​: И неужели так​

​ ДВССЫЛ возвратит значение​: Забыл еще добавить,​Вернемся к функции СЦЕПИТЬ​

СЦЕПИТЬ.

​Для примера изобразим эту​Допустим, что форма, размеры,​ЛОЖЬ (FALSE)​ невозможно определить имя​ текстовой форме ДВССЫЛ(«Лист1!A1»).​ с именами​ формулу =ДВССЫЛ(«Лист»&C$9&»!B»&$A10+3)​ очередь будет эквивалентна =Лист1!B3.​Else​Dim Newsheet As​список имен и​ текст в ячейке,​ у меня разные​ и не удалось​ ошибки #ССЫЛКА!.​ что любые большие​ – предназначена для​ ситуацию и ее​

  1. ​ положение и последовательность​, то можно задавать​активного листа​ В статье показано​Создадим несколько имен.​Такая запись возможна, т.к.​ Зачем все это​имяадр = s​ Worksheet​ список сумм(имя) создаете​ на которую ссылается​ названия статьей, поэтому​
  2. ​ «обмануть» этот баг?…​сергей​
  3. ​ формулы, сформированные потом​ сложения нескольких частей​ решение на рисунках:​ товаров и месяцев​

​ адрес ссылки в​и адрес​

ДВССЫЛ.

​ как использовать функцию​Имена Имя1 и Имя4​ все листы имеют​ нужно — читайте​ & » не​Dim nm As​ вы сами!​ ДВССЫЛ — получаешь​ он не работает.​ =`[​

​: до меня начинает​

​ с использованием функции​ текста в одну​На этом листе отображаются​

​ во всех таблицах​ режиме R1C1. Таким​активной ячейки​ ЯЧЕЙКА(), чтобы сохранить​ — это именованные​ однотипные названия: Лист1, Лист2, Лист3 и Лист4, и​ ниже (см. раздел​ определено»​ Object​спрячьте его подальше..​ сумму по другому​Tikr​Guest​ доходить — т.е.​ ДВССЫЛ с указанным​

  • ​ текстовую строку. В​
  • ​ значения определенных ячеей​ одинаковые — различаются​

​ образом, мы можем​.​ работоспособность формулы с​ диапазоны, т.е. эти​ все таблицы на​ решение задач).​End If​Dim i As​задача пользователя только​ имени. Еще и​: Привет всем​: можно использовать индекс​ именно эта функция​ выше аргументом работают,​ этом примере функция​ с других листов​

  1. ​ только числа.​
  2. ​ легко транспонировать горизонтальный​На первый взгляд (особенно​ функцией ДВССЫЛ().​ имена возвращают ссылки.​
  3. ​ этих листах имеют​

​Второй аргумент​End Function​ Long​ выбрать имя из​ с проверкой вводимых​Как можно сделать​ или суммпроизв, смотря​ не сможет работать​

​ когда окрыты соотв.​ СЦЕПИТЬ собирает нам​ книги Excel.​Собрать данные со всех​ диапазон обратно в​ при чтении справки)​Имя листа можно определить​Имя Имя2 — это​

Амперсанд.

​ одинаковую структуру (одинаковое​а1​Sub test2()​Dim str1 As​ выпадающего списка..​ значений — очень​ так чтобы двссыл​

exceltable.com

Функция ДВССЫЛ

​ что нужно​​ с закрытой книгой,правильно?​ файлы на сетевом​ конструкцию ссылки с​

​Чтобы отобразить первое значение​ листов (не просуммировать,​ вертикальный:​ функция​
​ с помощью функции​ константа массива, т.е.​ количество строк и​
​ — это логическое значение​’просто тест​ String​slan​ удобно работать!​ работала и в​alango​Кстати в хелпе​ ресурсе, но возвращают​ трех частей текста​ из листа «Март»​ а положить друг​Мы уже разбирали один​ДВССЫЛ (INDIRECT)​ ЯЧЕЙКА(), об этом​ массив чисел, а​ столбцов, наименования товаров,​ (ИСТИНА или ЛОЖЬ),​Dim Newsheet As​Dim rr As​: зачем редактировать?​slan​ другом файле с​: Нужно извлечь данные,​ по этой функции​ ошибку №ССЫЛКА, когда​ (в данном случаи).​ и его ячейки​ под друга «стопочкой»)​

​ способ суммирования по​​выглядит простой и​ читайте в статье​ не ссылка.​ также должны совпадать).​ указывающее, какого типа​ Worksheet​ Range​список имен и​: поставить список(проверка данных)​ разными листами?​ находящиеся в другой​

​ вот эту фразу​​ файлы закрыты.​
​ Каждая часть текстовой​ C3 в ячейку​ можно всего одной​
​ окну (диапазону) заданного​ даже ненужной. Ее​ Определяем имя листа.​Также массив значений будет​

​Вышеуказанная формула в ячейке​​ ссылка содержится в​Dim nm As​Set rr =​ список сумм(имя) создаете​ и табличку сумм(имя).​У меня чет​ (закрытой) книге, —​ вообще не понимаю:​Serge Bliznykov​ строки указывается в​ B2 главного листа​ формулой:​ размера на листе​ суть в том,​Предположим, что в ячейке​ возвращать функция СМЕЩ().​С12​ аргументе​ Object​ Range(«A1»)​ вы сами!​выбирать с помощью​ не выходит​ согласно определённым критериям,​

​»Функция ДВССЫЛ используется,​​: не мучайтесь!​ отдельном аргументе. Функция​ введите формулу:​
​Как видите, идея та​ с помощью функции​

​ чтобы превращать текст​
​B4​

​ см. Имя5.​эквивалентна формуле =ДВССЫЛ(«Лист1!B4»), формула​Ссылка_на_ячейку​Dim i As​str1 = rr.Parent.Name​спрячьте его подальше..​ впр или индекс​Tikr​ от которых зависит,​

​ если требуется изменить​

​с закрытыми книгами​

​ СЦЕПИТЬ позволяет создавать​В результате мы получили​ же: мы склеиваем​СМЕЩ (OFFSET)​ похожий на ссылку​на Листе1 имеется​Имя Имя3 — это именованная​ в ячейке​.​ Long​str1 = rr.Parent.Parent.Name​задача пользователя только​slan​: что-то типа​ например, название листа-источника​

​ ссылку на ячейку​ это работать и​ максимально до 255​ значение ячейки C3​ ссылку на нужную​. Подобную задачу можно​ — в полноценную​ формула =ДВССЫЛ(«лист2!A1»). Если​ формула, которая возвращает​

​D12​​Если​Dim str1 As​Set Newsheet =​ выбрать имя из​: поставить список(проверка данных)​

​=ВПР(D$10;ДВССЫЛ([Имя_файла]$C11&»!B10:C12″);2;0)​ данных… Для таких​ в формуле, не​ не будет!!!​
​ аргументов.​ из листа «Март»:​ ячейку заданного листа,​ решить и с​ ссылку. Т.е. если​

​ Лист2 переименовать в​​ число, а не​эквивалентна =ДВССЫЛ(«Лист2!B4»), т.е. ссылается​a1​ String​ ActiveWorkbook.Worksheets(1)​ выпадающего списка..​ и табличку сумм(имя).​Владимир​ целей можно использовать​ изменяя саму формулу.»​Т.е. открывайте нужную​Имя листа (Март).​Можно так же в​
​ а​ помощью​

​ нам нужно сослаться​ Лист3, то вышеуказанная​ ссылку.​
​ на другой лист!​имеет значение ИСТИНА​Dim rr As​i = 1​Серега​выбирать с помощью​
​: =ВПР(D$10;ДВССЫЛ(«‘1’!$B$10:$C$12»);2;0)​ только «двссыл», но,​Serge Bliznykov​ книгу перед открытием​

​Знак восклицания (!) обязательный​​ аргументах функции СЦЕПИТЬ​ДВССЫЛ​ДВССЫЛ​ на ячейку А1,​ формула работать не​Создадим табличку, в которой​ Весь смысл использования​ или опущена, то​

​ Range​​For Each nm​: Ага, попробую так.​ впр или индекс​
​Помните, что -​ если книга-источник будет​: именно так. Эта​ Вашей и всё​ символ для создания​ указать не только​превращает ее в​

​. Если нам нужно​​ то мы можем​ будет. Чтобы работоспособность​ укажем эти имена.​ функции ДВССЫЛ() состоит​

​ ссылка_на_ячейку интерпретируется как​​Set rr =​ In ActiveWorkbook.Names​ Спасибо​
​Серега​»Если ссылка_на_ячейку является​ закрыта, то ничего​ фукция позволяет вам​ будет хорошо.​ адреса указывающего на​ ссылку на ячейку​ «живую». Для удобства,​ суммировать данные только​
​ либо привычно сделать​

​ формулы сохранилась -​​ Постараемся найти сумму​ в том, чтобы​ ссылка в стиле​ Range(«A1»)​

​Newsheet.Cells(i, 1).Value =​​Серега​: Не получится -​ ссылкой на другую​

​ не выйдет…​​ изменять ссылку, так,​сергей​ другой лист.​ с именем листа,​ над таблицей я​ из определенного диапазона-периода,​ прямую ссылку (ввести​ определим имя листа​ значений, которые вернут​ написать формулу в ячейке ​ A1.​str1 = rr.Parent.Name​

​ nm.NameLocal​​: Ага, попробую так.​ функции ВПР и​

​ рабочую книгу (внешней​​vikttur​ что сама формула​: Но подобная ссылка​Необходимая ячейка (C3).​ но и ссылку​ добавил буквы столбцов​

​ то можно склеить​​ знак равно в​

​ с помощью функции​​ эти имена, использовав​С12​
​Если​str1 = rr.Parent.Parent.Name​i = i + 1​ Спасибо​ Индекс возвращают содержимое​ ссылкой), другая рабочая​

​: Обращайтесь к макросописцам​​ остаётся неизменной. Вариантов​ у меня работает​Вместо имени листа и​ на ячейку, которая​ (B,C,D), а справа​ его из кусочков​ D1, щелкнуть мышью​ ЯЧЕЙКА() (см. файл​ формулу =СУММ(ДВССЫЛ(A2)).​ и затем ее скопировать​a1​Set Newsheet =​Newsheet.Cells(i, 1).Value =​DL​

​ ячейки, в данном​​ книга должна быть​ и VBA-ведам :)​ применения масса -​ и при закрытых​

​ ячейки мы указываем​​ в своем значении​

​ — номера строк,​​ и превратить затем​ по А1 и​
​ примера).​Как видим, работают только​ в другие ячейки​имеет значение ЛОЖЬ,​ ActiveWorkbook.Worksheets(1)​ «‘» & nm.RefersToLocal​: Проблема с динамическим​ случае текст, в​ открытой. Если это​alango​ например, это позволит​

​ файлах — но​​ B1 и B2​ содержит имя ячейки​ которые нужно взять​ в полноценную ссылку,​

​ нажать Enter), а​​Запишем на Листе1 в​ те формулы, которые​

​ (вправо и вниз),​ то ссылка_на_ячейку интерпретируется​i = 1​i = i + 1​

​ именем в том​​ итоге поллучится​
​ не так, функция​: Т.е., где-то в​ суммировать столбец с​ там она просто​ что позволяет нам​
​ этого листа. Тогда​ с каждого листа.​

​ которую и вставить​​ можем использовать​

​ ячейке​

​ ссылаются на ячейки​​ например с помощью​

​ как ссылка в​
​For Each nm​Newsheet.Cells(i, 1).Value =​ что при обращении​=СУММ(«Статика»), а ДВССЫЛ​ ДВССЫЛ возвратит значение​ глубине души можно​ нужным месяцем (сама​ в теле формулы​ в формуле динамически​

​ целый адрес можно​​При использовании​ внутрь функции​ДВССЫЛ​

​B1​​ содержащие Имя1 и​

​ Маркера заполнения. Теперь​​ стиле R1C1.​ In ActiveWorkbook.Names​ имяадр(nm.Name)​

planetaexcel.ru

ДВССЫЛ и имена

​ к нему ексель​​ возвращает​
​ ошибки #ССЫЛКА!.»​ начинать верить в​ дата будет браться​
​ прописана — прекрасно​ менять адрес ссылок​ динамически изменять при​ДВССЫЛ (INDIRECT)​СУММ (SUM)​для той же​формулу =ЯЧЕЙКА(«адрес»;лист2!A1) Формула​ Имя4. Только эти​ данные с 4-х​Примечание​

​Newsheet.Cells(i, 1).Value =​

​i = i + 1​​ должен вычислить определяющую​
​=СУММ(Статика). Такая вот​Tikr​ то, что это​
​ из текущей даты​ ищет инфу в​ и соответственно возвращаемое​ необходимости по названиям​нужно помнить про​:​ цели:​ вернет результат [_Определяем_имя_листа.xlsx]Лист2!$A$1,​ имена ссылаются на​ различных листов сведены​

​: Формат ссылки =Лист1!B3​

​ nm.NameLocal​​Next​ его формулу. В​ фигня…​

​: ну так эта​ В ПРИНЦИПЕ ВОЗМОЖНО???​

​ или из другой​​ закрытых книгах на​ формулой значение.​ листов и адресов​

​ ее слабые места:​Иногда Microsoft Excel не​

​Обратите внимание, что аргумент​​ т.е. полный адрес​ диапазоны ячеек. Если​
​ в 1 таблицу!​ называется ссылкой в стиле​i = i + 1​End Sub​ результате ДВССЫЛ(динамическое_имя) не​Может я неудачно​ рабочая книга и​ =D​ ячейки…)​ сетевом диске! Просто​

​Полезный совет! Для многих​​ их ячеек. Чтобы​Если вы делаете ссылку​
​ воспринимает имена и​ функции — ссылка​

​ ячейки с указанием​​ вспомним синтаксис функции​Примечание​
​ А1, когда явно​Newsheet.Cells(i, 1).Value =​

​DL​​ работает так как​ объяснил, попробуй -​ открыта !​kim​или вот, на​ мне нужно было​
​ пользователей Excel часто​ получить такой эффект​
​ в другой файл​ столбцы умных таблиц​
​ на А1 -​ названия книги и​ ДВССЫЛ(), то в​

​: Обратите внимание на​​ указывается адрес ячейки.​ «‘» & nm.RefersToLocal​: Проблема с динамическим​ формула воспринимается как​ увидишь​Владимир​
​: Можно начинать верить…​ данном форуме:​
​ задать условие выбора​ удобнее использовать в​
​ необходимо немного модифицировать​ (склеивая имя файла​ как полноценные ссылки.​

​ введен в кавычках,​​ имени листа (ссылка​ качестве первого аргумента​

​ использование в формуле​​ Формат ссылки в стиле​i = i + 1​
​ именем в том​ строка и не​Серега​: =ВПР($D$10;ДВССЫЛ(«‘»&C11&»‘!$B$10:C12»);2;0)​vikttur​через эту функцию​ релеватного файла из​ место функции СЦЕПИТЬ​ нашу формулу:​ в квадратных скобках,​ Так, например, при​ поэтому что, по​ должна быть на​ можно использовать «текстовую​ смешанных ссылок (C$9 и $A12).​

​ R1C1 — это​​Newsheet.Cells(i, 1).Value =​ что при обращении​
​ вычисляется. Чтобы заработало​: Не получится -​Tikr​: И в формулы​ построены «Связанные выпадающие​ нескольких, но в​ символ амперсанд (&).​Добавьте новую строку между​ имя листа и​ попытке создать выпадающий​ сути, является здесь​ столбец с названием​ строку в формате​Задача2 — ссылки на​ относительная ссылка на​

​ имяадр(nm.Name)​​ к нему ексель​

​ надо принудительно «вычислить»​ функции ВПР и​: Не понял а​
​ тоже :)​
​ списки»​ этом случае ссылку​ Тогда наша формула​

​ первой и второй.​​ адрес ячейки), то​

​ список (вкладка​ текстом.​ из одной буквы,​
​ ссылки», а не​
​ четные/ нечетные строки​ ячейку (относительная относительно​i = i + 1​

​ должен вычислить определяющую​​ динамическое имя с​ Индекс возвращают содержимое​

​ где прописывать имя​​Например, создать в​(Представьте себе два​

​ нужно хранить как​​ будет содержать только​ Для этого выделите​ она работает только​Данные — Проверка данных​»Ну ОК», — скажете​ например, ссылка лист2!AВ1​ числовые массивы.​C помощью ДВССЫЛ() можно​ ячейки с формулой).​Next​ его формулу. В​ помощью application.evaluate, что​ ячейки, в данном​ файла? ))​ книге-приемнике диапазон со​ выпадающих списка в​ текст в какой-нибудь​

​ одну функцию:​ целую строку 2​ пока исходный файл​
​) на основе столбца​ вы. «И что​
​ не годится);​Формула =СУММ(ДВССЫЛ(A2)) эквивалентна =СУММ(ДВССЫЛ(«имя1»))​
​ вывести только четные​ Например, если в​
​End Sub​ результате ДВССЫЛ(динамическое_имя) не​

​ и делает приведённая​

​ случае текст, в​Серега​ ссылками, организованными функциями,​
​ ячейках, причем от​
​ таблице, а формула​Данный метод более быстрый​
​ и нажмите комбинацию​
​ открыт. Если его​Сотрудники​
​ тут полезного?».​
​Предполагая, что название книги​ Вместо «имя1» подставляется​
​ или нечетные строки​
​ ячейке​Серега​
​ работает так как​ ниже пользовательская функция.Пример​
​ итоге поллучится​
​: Добрый день!​ которые могут заглянуть​
​ того, что выбрано​
​ бы выбирала ссылку,​
​ и особенно подойдет,​
​ горячих клавиш CTRL+SHIFT+=.​
​ закрыть, то получим​из умной таблицы​Но не судите по​
​ не содержит квадратных​
​ ссылка =Имена!$A$14:$A$17 (текстовая​ из исходной таблицы.​С5​
​: Ну, блин, МОЗГ!!!!!​
​ формула воспринимается как​

​ исп. см файл​
​=СУММ(«Статика»), а ДВССЫЛ​
​Фугкция ДВССЫЛ позволяет​ в книгу, не​
​ в первом -​ но не работает.​
​ когда нужно сложить​ Или щелкните по​
​ ошибку #ССЫЛКА!​Люди​
​ первому впечатлению -​ скобок [  ],​
​ строка в формате​ В качестве исходной​
​имеется формула =R[-1]C, то​
​Спасибо, как раз​

​ строка и не​Function имяадр(ByVal s​
​ возвращает​
​ ссылаться на имена,​ открывая ее.​
​ зависит содержимое второго…)​ Придется видимо попробовать​
​ текстовую строку более​
​ заголовку второй строки​С помощью ДВССЫЛ нельзя​
​мы получим ошибку:​
​ оно обманчиво. Эта​ запишем формулу для​
​ ссылки), которая успешно​

​ используем предыдущую таблицу​

​ это ссылка на​

​ в праздники буду​​ вычисляется. Чтобы заработало​ As String) As​=СУММ(Статика). Такая вот​ например​Lord_Syrym​короче, функция однозначно​ сделать одну огромную​ чем из 255​ правой кнопкой мышки,​ сделать ссылку на​Если же «обернуть» ссылку​ функция может выручить​ изъятия из полученного​ разрешается функцией ДВССЫЛ().​ Продажи за год.​ ячейку​ переваривать.​

​ надо принудительно «вычислить»​ String​ фигня…​
​=СУММ(ДВССЫЛ(C4)), где в​: Кто ни будь​
​ полезная, но с​ формулу с много-много​
​ частей. Но первый​ а потом из​
​ динамический именованный диапазон.​ нашей функцией​

​ вас в большом​

​ результата имени листа:​ В итоге функция​Записав формулу =ДВССЫЛ(СИМВОЛ(65+H$26)&$A12*2+11) и скопировав​
​С4​
​Серега​ динамическое имя с​
​Dim finds As​
​Может я неудачно​ С4 стоит имя​
​ подскажите работу с​
​ таким вот огромным​ ЕСЛИ.​
​ вариант более читабельный.​
​ появившегося контекстного меню​ На статический -​
​ДВССЫЛ​ количестве ситуаций.​
​ =ПСТР(B1;ПОИСК(«]»;B1)+1;ДЛСТР(B1)-ПОИСК(«]»;B1)-5);​
​ ДВССЫЛ() возвращает массив​ ее в нужное​
​.  Чтобы записывать ссылки в стиле​
​: Ну, блин, МОЗГ!!!!!​
​ помощью application.evaluate, что​
​ Boolean​
​ объяснил, попробуй -​ диапазона. Всё работает​ ДВВСЫЛ, я хочу​
​ недостатком…​
​Guest​Сергей​ выберите опцию «Вставить».​
​ без проблем.​
​, то Excel преспокойно​

​Классика жанра: нужно​
​Если в качестве названия​
​ {1:2:3:4} из диапазона​ количество ячеек, получим​
​ R1C1 необходимо переключить​Спасибо, как раз​
​ и делает приведённая​Dim nm As​
​ увидишь​ ОК, пока имя​
​ горизонтальные значения перевести​belka5​
​: дык я Вам​: Пробема: При использовании​
​Для ячейки B2 введите​
​ДВССЫЛ является волатильной (volatile)​

​ ее примет и​ превратить вертикальный диа​
​ листа использовано число,​
​ $A$14:$A$17, который затем​ только четные записи​
​ EXCEL в режим​ в праздники буду​
​ ниже пользовательская функция.Пример​
​ Object​slan​
​ статичное, но если​
​ в вертикальные, но​: А функция суммесли​
​ про функцию ДВССЫЛ​

​ функции ДВССЫЛ возвращается​

​ значение C3.​

​ или «летучей» функцией,​​ наш выпадающий список​
​пазон в горизонтальный (транспонировать).​ то функция ЯЧЕЙКА()​ суммируется.​

​ из исходной таблицы.​​ работы со ссылками в​
​ переваривать.​ исп. см файл​Dim rr As​

planetaexcel.ru

​: вот что я​

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