Excel косвенная адресация ячейки

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

Содержание

  1. Типы ссылок на ячейки в формулах Excel
  2. Относительные ссылки
  3. Смешанные ссылки
  4. Абсолютные ссылки
  5. Действительно абсолютные ссылки
  6. Типы ссылок EXCEL на ячейку: относительная (A1), абсолютная ($A$1) и смешанная (A$1) адресация
  7. Абсолютная адресация (абсолютные ссылки)
  8. Относительная адресация (относительные ссылки)
  9. Смешанные ссылки
  10. Вводим знак $ в адрес ячейки
  11. «СуперАбсолютная» адресация

Типы ссылок на ячейки в формулах Excel

Если вы работаете в Excel не второй день, то, наверняка уже встречали или использовали в формулах и функциях Excel ссылки со знаком доллара, например $D$2 или F$3 и т.п. Давайте уже, наконец, разберемся что именно они означают, как работают и где могут пригодиться в ваших файлах.

Относительные ссылки

Это обычные ссылки в виде буква столбца-номер строки ( А1, С5, т.е. «морской бой»), встречающиеся в большинстве файлов Excel. Их особенность в том, что они смещаются при копировании формул. Т.е. C5, например, превращается в С6, С7 и т.д. при копировании вниз или в D5, E5 и т.д. при копировании вправо и т.д. В большинстве случаев это нормально и не создает проблем:

Смешанные ссылки

Иногда тот факт, что ссылка в формуле при копировании «сползает» относительно исходной ячейки — бывает нежелательным. Тогда для закрепления ссылки используется знак доллара ($), позволяющий зафиксировать то, перед чем он стоит. Таким образом, например, ссылка $C5 не будет изменяться по столбцам (т.е. С никогда не превратится в D, E или F), но может смещаться по строкам (т.е. может сдвинуться на $C6, $C7 и т.д.). Аналогично, C$5 — не будет смещаться по строкам, но может «гулять» по столбцам. Такие ссылки называют смешанными:

Абсолютные ссылки

Ну, а если к ссылке дописать оба доллара сразу ($C$5) — она превратится в абсолютную и не будет меняться никак при любом копировании, т.е. долларами фиксируются намертво и строка и столбец:

Самый простой и быстрый способ превратить относительную ссылку в абсолютную или смешанную — это выделить ее в формуле и несколько раз нажать на клавишу F4. Эта клавиша гоняет по кругу все четыре возможных варианта закрепления ссылки на ячейку: C5$C$5$C5C$5 и все сначала.

Все просто и понятно. Но есть одно «но».

Предположим, мы хотим сделать абсолютную ссылку на ячейку С5. Такую, чтобы она ВСЕГДА ссылалась на С5 вне зависимости от любых дальнейших действий пользователя. Выясняется забавная вещь — даже если сделать ссылку абсолютной (т.е. $C$5), то она все равно меняется в некоторых ситуациях. Например: Если удалить третью и четвертую строки, то она изменится на $C$3. Если вставить столбец левее С, то она изменится на D. Если вырезать ячейку С5 и вставить в F7, то она изменится на F7 и так далее. А если мне нужна действительно жесткая ссылка, которая всегда будет ссылаться на С5 и ни на что другое ни при каких обстоятельствах или действиях пользователя?

Действительно абсолютные ссылки

Решение заключается в использовании функции ДВССЫЛ (INDIRECT) , которая формирует ссылку на ячейку из текстовой строки.

Если ввести в ячейку формулу:

=ДВССЫЛ(«C5»)

=INDIRECT(«C5»)

то она всегда будет указывать на ячейку с адресом C5 вне зависимости от любых дальнейших действий пользователя, вставки или удаления строк и т.д. Единственная небольшая сложность состоит в том, что если целевая ячейка пустая, то ДВССЫЛ выводит 0, что не всегда удобно. Однако, это можно легко обойти, используя чуть более сложную конструкцию с проверкой через функцию ЕПУСТО:

=ЕСЛИ(ЕПУСТО(ДВССЫЛ(«C5″));»»;ДВССЫЛ(«C5»))

=IF(ISBLANK(INDIRECT(«C5″));»»;INDIRECT(«C5»))

Источник

Типы ссылок EXCEL на ячейку: относительная (A1), абсолютная ($A$1) и смешанная (A$1) адресация

history 18 ноября 2012 г.

В формулах EXCEL можно сослаться на значение другой ячейки используя ее адрес (=А1). Адрес ячейки в формуле можно записать по-разному, например: А1 или $A1 или $A$1. То, каким образом вы введете адрес в формулу, будет зависеть, как он будет модифицироваться при ее копировании в другие ячейки листа. Это пригодится при как построении обычных формул на листе, так и при создании Именованных формул , задания правил Условного форматирования и при формировании условий Проверки данных .

В подавляющем большинстве формул EXCEL используются ссылки на ячейки. Например, если в ячейке В1 содержится формула =А1+5 , то означает, что в ячейку В1 будет помещено значение ячейки А1 находящейся на пересечении столбца А и строки 1 , к которому прибавлено число 5. Также в формулах используются ссылки на диапазоны ячеек, например, формула =СУММ(А2:А11) вычисляет сумму значений из ячеек А2 , А3 , . А11 . Однако, формула =СУММ($А$2:$А$11) также вычисляет сумму значений из тех же ячеек. Тогда в чем же разница? Разница проявляется при копировании этой формулы в соседние ячейки.

Абсолютная адресация (абсолютные ссылки)

Для создания абсолютной ссылки используется знак $. Ссылка на диапазона записывается ввиде $А$2:$А$11 . Абсолютная ссылка позволяет при копировании формулы зафиксировать адрес диапазона или адрес ячейки. Рассмотрим пример.

Пусть в ячейке В2 введена формула =СУММ( $А$2:$А$11 ) , а в ячейке С2 формула =СУММ(А2:А11). Скопировав формулы вниз, например с помощью Маркера заполнения, во всех ячейках столбца В получим одну и ту же формулу =СУММ( $А$2:$А$11 ) , т.е. ссылка на диапазон ячеек при копировании не изменилась . А в столбце С получим другой результат: в ячейке С3 будет формула =СУММ(A3:A12) , в ячейке С4 будет формула =СУММ(A4:A13) и т.д. Т.е. при копировании ссылка была модифицирована .

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

Другой пример.

Пусть в диапазоне А1:А5 имеются числа (например, зарплата сотрудников отдела), а в С1 – процент премии установленный для всего отдела. Для подсчета премии каждого сотрудника необходимо все зарплаты умножить на % премии. Рассчитанную премию поместим в диапазоне В1:В5 . Для этого введем в ячейку В1 формулу =А1*С1 . Если мы с помощью Маркера заполнения протянем формулу вниз, то получим в В2:В5 нули (при условии, что в диапазоне С2:С5 нет никаких значений). В ячейке В5 будем иметь формулу =А5*С5 (EXCEL при копировании формулы модифицировал ссылки на ячейки, т.к. их адреса не были записаны в виде абсолютных ссылок).

Чтобы выйти из ситуации — откорректируем формулу в ячейке В1 .

  • выделите ячейку В1 ;
  • войдите в режим правки ячейки (нажмите клавишу F2 ) или поставьте курсор в Строку формул ;
  • поставьте курсор на ссылку С1 (можно перед С , перед или после 1 );
  • нажмите один раз клавишу F4 . Ссылка С1 выделится и превратится в $C$1 (при повторных нажатиях клавиши F4 ссылка будет принимать последовательно вид C$1, $C1,C1, $C$1 , …). Ссылка вида $C$1 называется абсолютно , C$1, $C1 – смешанными, а С1относительной .

Такм образом, введем в В1 формулу =А1*$С$1 . Это можно сделать и в ручную, введя знак $ перед буквой столбца и перед номером строки.

Нажмем ENTER и протянем ее вниз. Теперь в В5 будет правильная формула =А5*$С$1 . Всем сотрудникам теперь достанется премия :).

Относительная адресация (относительные ссылки)

Введем в ячейку B1 формулу =А1 , представляющую собой относительную ссылку на ячейку А1 . Что же произойдет с формулой при ее копировании в ячейки расположенные ниже В1 ? После протягивания ее вниз Маркером заполнения , в ячейке В5 будет стоять формула =А5 , т.е. EXCEL изменил первоначальную формулу =A1 . При копировании вправо в ячейку С1 формула будет преобразована в =В1.

Теперь примеры.

Пусть в столбце А введены числовые значения. В столбце B нужно ввести формулы для суммирования значений из 2-х ячеек столбца А : значения из той же строки и значения из строки выше.

Т.е. в B2 должна быть формула: =СУММ(A1:A2) , в B3 : =СУММ(A2:A3) и т.д.

Решить задачу просто: записав в B2 формулу =СУММ(A1:A2) , протянем ее с помощью Маркера заполнения в ячейку B3 и ниже.

Альтернативное решение

Другим вариантом решения этой задачи является использование Именованной формулы . Для этого:

  • выделите ячейку B2 (это принципиально при использовании относительных ссылок в Именах ). Теперь B2 – активная ячейка;
  • на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя ;
  • в поле Имя введите, например Сумма2ячеек ;
  • убедитесь, что в поле Диапазон введена формула =СУММ(A1:A2)
  • Нажмите ОК.

Теперь в B2 введем формулу = Сумма2ячеек . Результат будет тот, который мы ожидали: будет выведена сумма 2-х ячеек из столбца слева (см. файл примера , лист пример1 ). Если формулу ввести в ячейку B5 , то она будет суммировать ячейки A4:A5 , если ввести в D10 , то – ячейки С9:С10 .

Другими словами, будут суммироваться 2 ячейки соседнего столбца слева, находящиеся на той же строке и строкой выше. Ссылка на диапазон суммирования будет меняться в зависимости от месторасположения формулы на листе, но «расстояние» между ячейкой с формулой и диапазоном суммирования всегда будет одинаковым (один столбец влево).

Относительная адресация при создании формул для Условного форматирования.

Пусть необходимо выделить в таблице, содержащей числа от 1 до 100, значения больше 50, причем, только в четных строках (см. файл примера , лист пример2 ). Построим такую таблицу:

  • выделите диапазон таблицы B2:F11 , так, чтобы активной ячейкой была B2 (важно выделить диапазон начиная с B2 , а не с F11 . Во втором случае, активной ячейкой будет F11 );
  • вызовите инструмент Условное форматирование ( Главная/ Стили/ Условное форматирование/ Создать правило/ использовать формулу для … );
  • введите формулу =И(ОСТАТ($A2;2)=$I$1;B2>50) ;
  • выберите Формат ;
  • нажмите ОК

Важно отметить, что, если бы, при создании правила, активной ячейкой была F11 , то формулу необходимо было переписать: =И(ОСТАТ($A11;2)=$I$1;F11>50) . Поменять необходимо только ссылки незафиксированные знаком $: B2 на F11 и $A2 на $A11 .

Внимание! При использовании относительной адресации в Именованных формулах , Именованных диапазонах , Условном форматировании , Проверке данных (примеры см. в соответствующих статьях) необходимо следить, какая ячейка является активной в момент создания формулы (активной может быть только одна ячейка на листе, не смотря на то, что выделено может быть несколько).

Смешанные ссылки

Смешанные ссылки имеют формат =$В3 или =B$3 . В первом случае при копировании формулы фиксируется ссылка на столбец B , а строка может изменяться в зависимости при копировании формулы.

Предположим, у нас есть столбец с ценами в диапазоне B 3: B 6 (см. файл примера , лист пример3 ). В столбцах С, D , Е содержатся прогнозы продаж в натуральном выражении по годам (в шт.). Задача: в столбцах F , G , H посчитать годовые продажи в рублях, т.е. перемножить столбцы С, D , Е на столбец B . Использование механизма относительной адресации позволяет нам ввести для решения задачи только одну формулу. В ячейку F вводим: =$В3*C3 . Потом протягиваем формулу маркером заполнения вниз до F 6 ,

а затем весь столбец таблицы протягиваем вправо на столбцы G и H .

Обратите внимание, что в формуле =$В3*C3 перед столбцом B стоит значок $. При копировании формулы =$В3*C3 в ячейки столбцов F, G и H , этот значок $ говорит EXCEL о том, что ссылку на столбец B модифицировать не нужно. А вот перед столбцом С такого значка нет и формула в ячейке H6 примет вид =$В6*E6 .

Вводим знак $ в адрес ячейки

Существует несколько возможностей при вводе формулы ввести знак $ в адрес ячейки или диапазона. Рассмотрим ввод на примере формулы =СУММ($А$2:$А$5)

1. Ввести знак $ можно вручную, последовательно вводя с клавиатуры все знаки =СУММ($А$2:$А$5)

2. С помощью клавиши F4 (для ввода абсолютной ссылки):

  • Введите часть формулы без ввода $: =СУММ(А2:А5
  • Затем сразу нажмите клавишу F4 , знаки $ будут вставлены автоматически: =СУММ( $А$2:$А$5
  • Для окончания ввода формулы нажмите ENTER.

Если после ввода =СУММ(А2:А5 в формуле передвинуть курсор с помощью мыши в позицию левее,

а затем вернуть его в самую правую позицию (также мышкой),

то после нажатия клавиши F4 , знаки $ будут автоматически вставлены только во вторую часть ссылки! =СУММ( А2:$А$5

Чтобы вставить знаки $ во всю ссылку, выделите всю ссылку А2:$А$5 или ее часть по обе стороны двоеточия, например 2:$А , и нажмите клавишу F4. Знаки $ будут автоматически вставлены во всю ссылку $А$2:$А$5

3. С помощью клавиши F4 (для ввода относительной ссылки).

  • Введите часть формулы без ввода $: =СУММ(А2:А5
  • Затем сразу нажмите клавишу F4 , будут автоматически вставлены знаки $: =СУММ( $А$2:$А$5
  • Еще раз нажмите клавишу F4 : ссылка будет модифицирована в =СУММ( А$2:А$5 (фиксируются строки)
  • Еще раз нажмите клавишу F4 : ссылка будет модифицирована в =СУММ($ А2:$А5 (фиксируется столбец)
  • Еще раз нажмите клавишу F4 : ссылка будет модифицирована в =СУММ( А2:А5 (относительная ссылка). Последующие нажатия изменяют ссылку заново по кругу.
  • Для окончания ввода нажмите ENTER.

Чтобы изменить только первую или втрорую часть ссылки — установите мышкой курсор в нужную часть ссылки и последовательно нажимайте клавушу F4.

«СуперАбсолютная» адресация

В заключении расширим тему абсолютной адресации. Предположим, что в ячейке B 2 находится число 25, с которым необходимо выполнить ряд вычислений, например, возвести в разные степени (см. файл примера , лист пример4 ). Для этого в столбце C напишем формулу возведения в степень (значения степени введем в столбец D ): =$B$2^$D2 .

Мы использовали абсолютную ссылку на ячейку B 2 . При любых изменениях положения формулы абсолютная ссылка всегда будет ссылаться на ячейку, содержащую наше значение 25 :

  • при копировании формулы из С3 в Н3 – формула не изменится, и мы получим правильный результат 625 ;
  • при вставке нового столбца между столбцами А и В – формула превратится в =$C$2^$E3 , но мы снова получим правильный результат 625 .

Все правильно, т.к. это и есть суть абсолютной адресации: ссылки автоматически модифицируются для сохранения адресации на нужные ячейки при любых модификациях строк и столбцах листа (ну, кроме удаления ячейки с формулой, конечно). Однако бывают ситуации, когда значения на лист попадают из внешних источников. Например, когда созданный пользователем макрос вставляет внешние данные в ячейку B 2 (т.е. всегда во второй столбец листа). Теперь, при вставке столбца между столбцами А и В – формула как и раньше превратится в =$C$2^$E3 , но т.к. исходное число (25) будет вставляться макросом не в С2 , а по прежнему в ячейку B 2 , и мы получим неправильный результат.

Вопрос: можно ли модифицировать исходную формулу из С2 ( =$B$2^$D2 ), так чтобы данные все время брались из второго столбца листа и независимо от вставки новых столбцов?

Решение заключается в использовании функции ДВССЫЛ() , которая формирует ссылку на ячейку из текстовой строки. Если ввести в ячейку формулу: =ДВССЫЛ(«B2») , то она всегда будет указывать на ячейку с адресом B2 вне зависимости от любых дальнейших действий пользователя, вставки или удаления столбцов и т.д.

Небольшая сложность состоит в том, что если целевая ячейка пустая, то ДВССЫЛ() выводит 0, что не всегда удобно. Однако, это можно легко обойти, используя чуть более сложную конструкцию с проверкой через функцию ЕПУСТО() :

При ссылке на ячейку В2 с другого листа =ДВССЫЛ(«пример4!B2») может возникнуть и другая сложность: при изменении названия листа пример4 – формула перестает работать. Но это также можно обойти – см. пример из статьи Определяем имя листа .

Другим способом заставить формулу ссылаться на один и тот же столбец является использование функции СМЕЩ() – об этом читайте статью Как заставить формулу все время ссылаться на один и тот же столбец .

Источник

Excel INDIRECT Функция

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


Синтаксис

=INDIRECT (ref_text, [a1])


аргументы

Ref_text (обязательный аргумент): это ссылка на ячейку, содержащую одно из следующих значений:

  • Ссылка в стиле A1.
  • Ссылка в стиле R1C1.
  • Именованный диапазон, определенный как ссылка.
  • Ссылка на ячейку в виде текстовой строки.

[а1] (необязательный аргумент): это логическое значение для присвоения стиля ref_text.

  • Если a1 равно или опущено, ref_text интерпретируется как ссылка в стиле A1.
  • Если a1 имеет значение FALSE, ref_text интерпретируется как ссылка в стиле R1C1.

Возвращаемое значение

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


Примечания к функциям:

Функция КОСВЕННО вернет # ССЫЛКА! значение ошибки, когда:

  • Ref_text относится к другой рабочей книге, которая не открыта;
  • Ref_text относится к диапазону ячеек, выходящему за пределы 1,048,576 строк или 16,384 столбцов (XED).

Примеры

Приведенные ниже примеры иллюстрируют общее использование функции ДВССЫЛ в Excel.

Пример 1: КОСВЕННАЯ ссылка на ячейку

Как показано на скриншоте ниже, функция КОСВЕННО =INDIRECT(B2) преобразовал текстовую строку в B2 в действительную ссылку на ячейку, а затем верните значение этой ссылки на ячейку (D2) в качестве окончательного результата.

Заметки:

  • Если ref_text заключен в двойные кавычки, например =INDIRECT(«B2»), он получит значение в B2 напрямую.
  • Вы также можете объединить текстовую строку и ссылку на ячейку в функции ДВССЫЛ, как показано на скриншоте ниже.

Здесь функция ДВССЫЛ объединяет ref_text (говорит D) и значение в B2 (говорит 2) как действительную ссылку на ячейку D2 и возвращает значение в D2 в качестве результата.

Пример 2: КОСВЕННЫЙ с именованным диапазоном

Функция ДВССЫЛ также может напрямую ссылаться на именованные диапазоны. Как показано на скриншоте ниже, есть таблица, содержащая несколько именованных диапазонов, и теперь вам нужно суммировать значения в определенном именованном диапазоне (говорит Mon) с помощью комбинации функций SUM и INDIRECT, пожалуйста, сделайте следующее.

1. Введите имя диапазона в ячейку, здесь я ввожу Mon в ячейку C12. Выберите пустую ячейку, скопируйте в нее формулу ниже и нажмите клавишу Enter.
=SUM(INDIRECT(C12))

Теперь вы просуммировали все значения в указанном именованном диапазоне (Mon).


Больше примеров

Как извлечь уникальные значения из нескольких столбцов в Excel?


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

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

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

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

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


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

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

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

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


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


В формулах EXCEL можно сослаться на значение другой ячейки используя ее адрес (=А1). Адрес ячейки в формуле можно записать по-разному, например: А1 или $A1 или $A$1. То, каким образом вы введете адрес в формулу, будет зависеть, как он будет модифицироваться при ее копировании в другие ячейки листа. Это пригодится при как построении обычных формул на листе, так и при создании

Именованных формул

, задания правил

Условного форматирования

и при формировании условий

Проверки данных

.

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

В1

содержится формула =А1+5 , то означает, что в ячейку

В1

будет помещено значение ячейки

А1

находящейся на пересечении столбца

А

и строки

1

,

к которому прибавлено число 5. Также в формулах используются ссылки на диапазоны ячеек, например, формула =СУММ(А2:А11) вычисляет сумму значений из ячеек

А2

,

А3

, …

А11

. Однако, формула

=СУММ($А$2:$А$11)

также вычисляет сумму значений из тех же ячеек. Тогда в чем же разница? Разница проявляется при копировании этой формулы в соседние ячейки.

Абсолютная адресация (абсолютные ссылки)

Для создания абсолютной ссылки используется знак $. Ссылка на диапазона записывается ввиде

$А$2:$А$11

. Абсолютная ссылка позволяет при

копировании

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

Пусть в ячейке

В2

введена формула

=СУММ(

$А$2:$А$11

)

, а в ячейке

С2

формула

=СУММ(А2:А11).

Скопировав формулы вниз, например с помощью

Маркера заполнения,

во всех ячейках столбца

В

получим одну и ту же формулу

=СУММ(

$А$2:$А$11

)

, т.е. ссылка на диапазон ячеек при копировании

не изменилась

. А в столбце

С

получим другой результат: в ячейке

С3

будет формула =СУММ(A3:A12) , в ячейке

С4

будет формула =СУММ(A4:A13) и т.д. Т.е. при копировании ссылка была

модифицирована

.

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


Другой пример.

Пусть в диапазоне

А1:А5

имеются числа (например, зарплата сотрудников отдела), а в

С1

– процент премии установленный для всего отдела. Для подсчета премии каждого сотрудника необходимо все зарплаты умножить на % премии. Рассчитанную премию поместим в диапазоне

В1:В5

. Для этого введем в ячейку

В1

формулу =А1*С1 . Если мы с помощью

Маркера заполнения

протянем формулу вниз, то получим в

В2:В5

нули (при условии, что в диапазоне

С2:С5

нет никаких значений). В ячейке

В5

будем иметь формулу =А5*С5 (EXCEL при копировании формулы модифицировал ссылки на ячейки, т.к. их адреса не были записаны в виде абсолютных ссылок).

Чтобы выйти из ситуации — откорректируем формулу в ячейке

В1

.

  • выделите ячейку

    В1

    ;
  • войдите в режим правки ячейки (нажмите клавишу

    F2

    ) или поставьте курсор в

    Строку формул

    ;

  • поставьте курсор на ссылку

    С1

    (можно перед

    С

    , перед или после

    1

    );
  • нажмите один раз клавишу

    F

    4

    . Ссылка

    С1

    выделится и превратится в

    $

    C

    $1

    (при повторных нажатиях клавиши

    F

    4

    ссылка будет принимать последовательно вид

    C

    $1, $

    C

    1,

    C

    1, $

    C

    $1

    , …). Ссылка вида

    $

    C

    $1

    называется

    абсолютно

    ,

    C

    $1, $

    C

    1

    – смешанными, а

    С1



    относительной

    .

Такм образом, введем в

В1

формулу =А1*$С$1 . Это можно сделать и в ручную, введя знак $ перед буквой столбца и перед номером строки.

Нажмем

ENTER

и протянем ее вниз. Теперь в

В5

будет правильная формула =А5*$С$1 . Всем сотрудникам теперь достанется премия :).

Относительная адресация (относительные ссылки)

Введем в ячейку

B1

формулу =А1 , представляющую собой относительную ссылку на ячейку

А1

. Что же произойдет с формулой при ее копировании в ячейки расположенные ниже

В1

? После протягивания ее вниз

Маркером заполнения

, в ячейке

В5

будет стоять формула =А5 , т.е. EXCEL

изменил

первоначальную формулу =A1 . При копировании вправо в ячейку

С1

формула будет преобразована в =В1.


Теперь примеры.

Пусть в столбце

А

введены числовые значения. В столбце

B

нужно ввести формулы для суммирования значений из 2-х ячеек столбца

А

: значения из той же строки и значения из строки выше.

Т.е. в

B2

должна быть формула: =СУММ(A1:A2) , в

B3

: =СУММ(A2:A3) и т.д.

Решить задачу просто: записав в

B2

формулу =СУММ(A1:A2) , протянем ее с помощью

Маркера заполнения

в ячейку

B3

и ниже.


Альтернативное решение

Другим вариантом решения этой задачи является использование

Именованной формулы

. Для этого:

  • выделите ячейку

    B2

    (это принципиально при использовании относительных ссылок в

    Именах

    ). Теперь

    B2

    – активная ячейка;

  • на вкладке

    Формулы

    в группе

    Определенные имена

    выберите команду

    Присвоить имя

    ;
  • в поле

    Имя

    введите, например

    Сумма2ячеек

    ;
  • убедитесь, что в поле

    Диапазон

    введена формула =СУММ(A1:A2)
  • Нажмите ОК.

Теперь в

B2

введем формулу =

Сумма2ячеек

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

пример1

). Если формулу ввести в ячейку

B5

, то она будет суммировать ячейки

A4:A5

, если ввести в

D10

, то – ячейки

С9:С10

.

Другими словами, будут суммироваться 2 ячейки соседнего столбца слева, находящиеся на той же строке и строкой выше.

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


Относительная адресация при создании формул для Условного форматирования.

Пусть необходимо выделить в таблице, содержащей числа от 1 до 100, значения больше 50, причем, только в четных строках (см. файл примера , лист

пример2

). Построим такую таблицу:

Создадим правило для

Условного форматирования

:

  • выделите диапазон таблицы

    B

    2:

    F

    11

    , так, чтобы активной ячейкой была

    B

    2

    (важно выделить диапазон начиная с

    B

    2

    , а не с

    F

    11

    . Во втором случае, активной ячейкой будет

    F

    11

    );
  • вызовите инструмент

    Условное форматирование

    (

    Главная/ Стили/ Условное форматирование/ Создать правило/ использовать формулу для …

    );

  • введите формулу =И(ОСТАТ($A2;2)=$I$1;B2>50) ;
  • выберите

    Формат

    ;
  • нажмите

    ОК

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

F11

, то формулу необходимо было переписать: =И(ОСТАТ($A11;2)=$I$1;F11>50) . Поменять необходимо только ссылки незафиксированные знаком $:

B2

на

F11

и

$A2

на

$A11

.


Внимание!

При использовании относительной адресации в

Именованных формулах

,

Именованных диапазонах

,

Условном форматировании

,

Проверке данных

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


Смешанные ссылки

Смешанные ссылки имеют формат =$В3 или =B$3 . В первом случае при копировании формулы фиксируется ссылка на столбец

B

, а строка может изменяться в зависимости при копировании формулы.

Предположим, у нас есть столбец с ценами в диапазоне

B

3:

B

6

(см. файл примера , лист

пример3

). В столбцах

С,

D

, Е

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

F

,

G

,

H

посчитать годовые продажи в рублях, т.е. перемножить столбцы

С,

D

, Е

на столбец

B

. Использование механизма относительной адресации позволяет нам ввести для решения задачи только одну формулу. В ячейку

F

вводим: =$В3*C3 . Потом протягиваем формулу

маркером заполнения

вниз до

F

6

,

а затем весь столбец таблицы протягиваем вправо на столбцы

G

и

H

.

Обратите внимание, что в формуле =$В3*C3 перед столбцом

B

стоит значок $. При копировании формулы =$В3*C3 в ячейки столбцов

F,

G

и

H

, этот значок $ говорит EXCEL о том, что ссылку на столбец

B

модифицировать не нужно. А вот перед столбцом

С

такого значка нет и формула в ячейке

H6

примет вид =$В6*E6 .

Вводим знак $ в адрес ячейки

Существует несколько возможностей при вводе формулы ввести знак $ в адрес ячейки или диапазона. Рассмотрим ввод на примере формулы

=СУММ($А$2:$А$5)

1. Ввести знак $ можно вручную, последовательно вводя с клавиатуры все знаки

=СУММ($А$2:$А$5)

2. С помощью клавиши

F4

(для ввода абсолютной ссылки):

  • Введите часть формулы без ввода $:

    =СУММ(А2:А5
  • Затем

    сразу

    нажмите клавишу

    F4

    , знаки $ будут вставлены автоматически:

    =СУММ(

    $А$2:$А$5
  • Для окончания ввода формулы нажмите

    ENTER.

Если после ввода

=СУММ(А2:А5

в формуле передвинуть курсор с помощью мыши в позицию левее,

а затем вернуть его в самую правую позицию (также мышкой),

то после нажатия клавиши

F4

, знаки $ будут автоматически вставлены только во вторую часть ссылки!

=СУММ(

А2:$А$5

Чтобы вставить знаки $ во всю ссылку, выделите всю ссылку

А2:$А$5

или ее часть по обе стороны двоеточия, например

2:$А

, и нажмите клавишу

F4.

Знаки $ будут автоматически вставлены во всю ссылку

$А$2:$А$5

3. С помощью клавиши

F4

(для ввода относительной ссылки).

  • Введите часть формулы без ввода $:

    =СУММ(А2:А5
  • Затем

    сразу

    нажмите клавишу

    F4

    , будут автоматически вставлены знаки $:

    =СУММ(

    $А$2:$А$5
  • Еще раз нажмите клавишу

    F4

    : ссылка будет модифицирована в

    =СУММ(

    А$2:А$5

    (фиксируются строки)
  • Еще раз нажмите клавишу

    F4

    : ссылка будет модифицирована в

    =СУММ($

    А2:$А5

    (фиксируется столбец)
  • Еще раз нажмите клавишу

    F4

    : ссылка будет модифицирована в

    =СУММ(

    А2:А5

    (относительная ссылка). Последующие нажатия изменяют ссылку заново по кругу.
  • Для окончания ввода нажмите

    ENTER.

Чтобы изменить только первую или втрорую часть ссылки — установите мышкой курсор в нужную часть ссылки и последовательно нажимайте клавушу

F4.

«СуперАбсолютная» адресация

В заключении расширим тему абсолютной адресации. Предположим, что в ячейке

B

2

находится число 25, с которым необходимо выполнить ряд вычислений, например, возвести в разные степени (см. файл примера , лист

пример4

). Для этого в столбце

C

напишем формулу возведения в степень (значения степени введем в столбец

D

): =$B$2^$D2 .

Мы использовали абсолютную ссылку на ячейку

B

2

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

25

:

  • при копировании формулы из

    С3

    в

    Н3

    – формула не изменится, и мы получим правильный результат

    625

    ;
  • при вставке нового столбца между столбцами

    А

    и

    В

    – формула превратится в =$C$2^$E3 , но мы снова получим правильный результат

    625

    .

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

B

2

(т.е. всегда во второй столбец листа). Теперь, при вставке столбца между столбцами

А

и

В

– формула как и раньше превратится в =$C$2^$E3 , но т.к. исходное число (25) будет вставляться макросом не в

С2

, а по прежнему в ячейку

B

2

, и мы получим неправильный результат.

Вопрос: можно ли модифицировать исходную формулу из

С2

( =$B$2^$D2 ), так чтобы данные все время брались из второго столбца листа и независимо от вставки новых столбцов?

Решение заключается в использовании функции ДВССЫЛ() , которая формирует ссылку на ячейку из текстовой строки. Если ввести в ячейку формулу: =ДВССЫЛ(«B2») , то она всегда будет указывать на ячейку с адресом

B2

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

Небольшая сложность состоит в том, что если целевая ячейка пустая, то ДВССЫЛ() выводит 0, что не всегда удобно. Однако, это можно легко обойти, используя чуть более сложную конструкцию с проверкой через функцию ЕПУСТО() :

=ЕСЛИ(ЕПУСТО(ДВССЫЛ(«B2″));»»;ДВССЫЛ(«B2»))

При ссылке на ячейку

В2

с другого листа =ДВССЫЛ(«пример4!B2») может возникнуть и другая сложность: при изменении названия листа

пример4

– формула перестает работать. Но это также можно обойти – см. пример из статьи

Определяем имя листа

.

Другим способом заставить формулу ссылаться на один и тот же столбец является использование функции СМЕЩ() – об этом читайте статью

Как заставить формулу все время ссылаться на один и тот же столбец

.

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

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

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

Косвенный обзор функции

Функция INDIRECT Создает ссылку на ячейку из текстовой строки.


(Обратите внимание, как появляются входные данные формулы)

Функция INDIRECT Синтаксис и входные данные:

1 = ДВССЫЛ (ссылочный_текст; C1)

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

а1 — ДОПОЛНИТЕЛЬНО: указывает, в каком формате ссылка находится: R1C1 или A1. ЛОЖЬ для R1C1 или ИСТИНА / Не разрешено для A1.

Что такое КОСВЕННАЯ функция?

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

ВНИМАНИЕ: КОСВЕННАЯ функция — одна из непостоянных функций. В большинстве случаев, когда вы работаете с таблицей, компьютер будет пересчитывать формулу только в том случае, если входные данные изменили свои значения. Однако изменчивая функция пересчитывает каждый раз вы вносите изменения в любую ячейку. Следует проявлять осторожность, чтобы не допустить увеличения времени пересчета из-за чрезмерного использования энергозависимой функции или наличия большого количества ячеек, зависящих от результата энергозависимой функции.

Создать ссылку на ячейку

Скажем, вы хотите получить значение из A2, но хотите убедиться, что ваша формула остается на A2 независимо от того, добавляются / удаляются новые строки. Вы можете написать формулу

Обратите внимание, что аргументом внутри нашей функции является текстовая строка «A2», а не ссылка на ячейку. Кроме того, поскольку это текстовая строка, нет необходимости указывать абсолютную ссылку, например $ A $ 2. Текст никогда не изменится, и поэтому эта формула всегда будет указывать на A2, независимо от того, куда она была перемещена.

КОСВЕННЫЙ номер строки

Вы можете объединить текстовые строки и значения из ячеек вместе. Вместо того, чтобы писать «A2», как мы делали ранее, мы можем взять числовое значение из ячейки B2 и использовать его в нашей формуле. Мы бы выписали формулу вида

Здесь символ «&» используется для объединения текстовой строки «A» со значением из ячейки B2. Итак, если бы значение B2 в настоящее время было 10, то наша формула читала бы это как

123 = КОСВЕННО («A» & 10)= КОСВЕННО («A10»)= A10

КОСВЕННОЕ значение столбца

Вы также можете объединить ссылку на столбец. На этот раз предположим, что мы знаем, что хотим получить значение из строки 10, но мы хотим иметь возможность изменить, из какого столбца извлекать данные. Мы поместим нужную букву столбца в ячейку B2. Наша формула может выглядеть так

Если значение B2 равно «G», то наша формула имеет следующий вид.

123 = КОСВЕННО («G» & 10)= КОСВЕННО («G10»)= G10

КОСВЕННЫЙ стиль r1c1

В нашем предыдущем примере нам пришлось использовать букву для обозначения ссылки на столбец. Это потому, что мы использовали так называемое реферирование в стиле A1. В стиле A1 столбцы обозначаются буквой, а строки — числами. Абсолютные ссылки указываются с помощью символа «$» перед элементом, который мы хотим оставить абсолютным.

В r1c1 и строки, и столбцы начинаются с числа. Абсолютная ссылка на a1 будет записана как

Вы можете прочитать это как «Строка 1, Столбец 1». Относительные ссылки даются в скобках, но число указывает положение относительно ячейки с формулой. Итак, если бы мы писали формулу в ячейке A10 и нам нужно было ссылаться на A1, мы бы написали формулу

Вы можете прочитать это как «Ячейка на 9 строк вверх, но в том же столбце.

Причина, по которой это может быть полезно, заключается в том, что INDIRECT может поддерживать использование нотации r1c1. Рассмотрим предыдущий пример, в котором мы извлекали значение из строки 10, но хотели иметь возможность изменить столбец. Вместо того, чтобы давать букву, предположим, что мы поместили число в ячейку B2. Тогда наша формула может выглядеть так:

1 = КОСВЕННО («R10C» & B2; ЛОЖЬ)

Мы опустили 2nd аргумент до сих пор. Если этот аргумент опущен или True, функция будет оценивать, используя стиль A1. Поскольку это False, он будет оцениваться в r1c1. Предположим, значение B2 равно 5. Наша формула оценит это так:

12 = КОСВЕННО («R10C5»; ЛОЖЬ)= $ E $ 10

КОСВЕННЫЕ различия с A1 против r1c1

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

Эта формула всегда будет смотреть на ячейку A2, независимо от того, куда вы переместите формулу. В r1c1, поскольку вы можете указывать относительное положение с помощью скобок, это правило не соблюдается. Если вы поместите эту формулу в ячейку B2

Он будет смотреть на ячейку A2 (поскольку столбец A находится слева от столбца B). Если вы скопируете эту формулу в ячейку B3, текст внутри останется прежним, но КОСВЕННО теперь будет смотреть на ячейку A3.

КОСВЕННО с именем листа

Вы также можете объединить имя листа в свои КОСВЕННЫЕ ссылки. Важное правило, о котором следует помнить, заключается в том, что вы должны заключать имена в одинарные кавычки, и вам нужно отделить имя листа от ссылки на ячейку восклицательным знаком.

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

Наша формула для объединения всего этого в ссылку будет выглядеть так:

1 = КОСВЕННО («‘» & A2 & «‘!» & B2 & C2)

Наша формула будет оцениваться следующим образом:

123 = КОСВЕННО («‘» & «Лист2» & «‘!» & «B» & «5»)= КОСВЕННО («‘» Лист2’! B5 «)= ‘Лист2’! B5

Технически, поскольку в слове «Лист2» ​​нет пробелов, мы не необходимость одинарные кавычки. Вполне допустимо написать что-то вроде

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

КОСВЕННО к другой книге

Мы также отметим, что INDIRECT может создавать ссылку на другую книгу. Ограничение заключается в том, что INDIRECT не извлекает значения из закрытой книги, поэтому это конкретное использование имеет ограниченную практичность. Если книга, на которую указывает INDIRECT, не открыта, функция выдаст сообщение «#REF!» ошибка.

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

Наша формула была бы

1 = КОСВЕННО («‘[» & A2 & «]» & B2 & «‘! C7»)

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

123 = КОСВЕННО («‘[» & «Sample.xlsx» & «]» & «Сводка» & «‘! C7»)= КОСВЕННО («‘[Sample.xslx] Сводка’! C7»)= ‘[Sample.xlsx] Сводка’! C7

КОСВЕННО для создания динамического диапазона

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

В ячейку B2 мы поместили формулу

Компьютер может легко вычислить функцию COUNTA, поскольку она просто проверяет, сколько ячеек в столбце A имеют какое-либо значение, вместо того, чтобы выполнять какие-либо логические проверки или математические операции.

Теперь давайте создадим нашу формулу, которая суммирует значения в столбце A, но мы хотим убедиться, что она учитывает только точный диапазон значений (A2: A5). Запишем нашу формулу как

1 = СУММ (КОСВЕННО («A2: A» & B2))

Наш INDIRECT собирается взять число 5 из ячейки B2 и создаст ссылку на диапазон A2: A5. Затем СУММ может использовать этот диапазон для своего расчета. Если мы добавим другое значение в ячейку A6, тогда число в B2 обновится, и наша формула SUM также будет автоматически обновляться, чтобы включить это новое значение.

ВНИМАНИЕ. С появлением таблиц в Office 2007 гораздо эффективнее хранить данные в таблице и использовать структурную ссылку, а не строить формулу, которую мы использовали в этом примере, из-за изменчивой природы INDIRECT. Однако могут быть случаи, когда вам нужно создать список элементов, но нельзя использовать таблицу.

Динамическое построение графиков с КОСВЕННЫМ

Возьмем предыдущий пример и сделаем еще один шаг. Вместо того, чтобы писать формулу для получения суммы значений, мы создадим именованный диапазон. Мы могли бы назвать этот диапазон «MyData» и указать,

1 = КОСВЕННО («A2: A» & COUNTA ($ A: $ A))

Обратите внимание: поскольку мы помещаем это в именованный диапазон, мы поменяли местами ссылку на B2 и вместо этого поместили туда функцию COUNTA.

Теперь, когда у нас есть этот именованный диапазон, мы можем использовать его в диаграмме. Мы создадим пустую линейную диаграмму, а затем добавим ряд данных. Для значений серии вы можете написать что-то вроде

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

Проверка динамических данных с помощью INDIRECT

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

В 2nd столбец, мы не хотим иметь большой список, показывающий все возможные варианты, поскольку мы уже немного сузили круг вопросов. Итак, мы создали еще 3 списка, которые выглядят так:

Затем мы назначим каждому из эти списки в именованный диапазон. То есть все фрукты будут в диапазоне под названием «Фрукты», а овощи — в диапазоне «Овощи» и т. Д.

Вернувшись к нашей таблице, мы готовы настроить проверку данных в 2nd столбец. Мы создадим проверку типа списка с вводом:

КОСВЕННЫЙ будет читать в выборе, сделанном в столбце A, и видеть название категории. Мы определили диапазоны с этими именами, поэтому INDIRECT затем возьмет это имя и создаст ссылку на желаемый диапазон.

Дополнительные замечания

Используйте функцию ДВССЫЛ, чтобы создать ссылку на ячейку из текста.

Сначала создайте строку текста, представляющую ссылку на ячейку. Строка должна быть либо в виде буквы и номера строки в обычном стиле A1 (M37), либо в стиле R1C1 (R37C13). Вы можете ввести ссылку напрямую, но обычно вы будете ссылаться на ячейки, которые определяют строки и столбцы. Наконец, введите выбранный вами формат ссылки на ячейку. TRUE или опущено для ссылки в стиле A1 или FALSE для стиля R1C1.

При работе с НЕПРЯМЫМИ формулами вы можете использовать СТРОКА Функция чтобы получить номер строки ссылки или COLUMN Функция чтобы получить номер столбца (не букву) ссылки.

Вернуться к списку всех функций в Excel

КОСВЕННЫЙ в Google Таблицах

Функция КОСВЕННО работает в Google Таблицах точно так же, как и в Excel:

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel корень трансцендентного уравнения
  • Excel копировать ячейку если она не пустая
  • Excel копия ячейки в листе excel
  • Excel копировать ячейки при условии
  • Excel копия листа это

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии