При создании таблицы Excel Excel присваивает имя таблице и каждому заголовку столбца в таблице. Можно сделать так, чтобы при добавлении формул эти имена отображались автоматически и ссылки на ячейки в таблице можно было выбрать вместо ввода вручную. Вот пример того, что происходит в Excel:
Прямая ссылка на ячейки |
Имена таблицы и столбцов в Excel |
---|---|
=СУММ(C2:C7) |
=СУММ(ОтделПродаж[ОбъемПродаж]) |
Это сочетание имен таблицы и столбца называется структурированной ссылкой. Имена в структурированных ссылках корректируются при добавлении данных в таблицу или их удалении.
Структурированные ссылки также появляются, когда вы создаете формулу вне таблицы Excel, которая ссылается на данные таблицы. Ссылки могут упростить поиск таблиц в крупной книге.
Чтобы добавить структурированные ссылки в формулу, можно щелкнуть ячейки таблицы, на которые нужно сослаться, а не вводить ссылку непосредственно в формуле. Давайте используем следующий пример данных, чтобы ввести формулу, которая автоматически использует структурированные ссылки для расчета суммы комиссии за продажу.
Менеджер по продажам |
Область |
Сумма продаж |
ПроцентКомиссии |
ОбъемКомиссии |
---|---|---|---|---|
Владимир |
Северный |
260 |
10 % |
|
Сергей |
Южный |
660 |
15 % |
|
Мария |
Восточный |
940 |
15 % |
|
Алексей |
Западный |
410 |
12 % |
|
Юлия |
Северный |
800 |
15 % |
|
Вадим |
Южный |
900 |
15 % |
-
Скопируйте пример данных из приведенной выше таблицы, включая заголовки столбцов, и вставьте их в ячейку A1 нового листа Excel.
-
Чтобы создать таблицу, выделите любую ячейку в диапазоне данных и нажмите клавиши CTRL+T.
-
Установите флажок Моя таблица с заголовками и нажмите кнопку ОК.
-
В ячейке E2 введите знак равенства (=) и щелкните ячейку C2.
В строке формул после знака равенства появится структурированная ссылка [@[ОбъемПродаж]].
-
Введите звездочку (*) непосредственно после закрывающей скобки и щелкните ячейку D2.
В строке формул после звездочки появится структурированная ссылка [@[ПроцентКомиссии]].
-
Нажмите клавишу ВВОД.
Excel автоматически создает вычисляемый столбец и копирует формулу вниз по нему, корректируя ее для каждой строки.
Что произойдет, если я буду использовать прямые ссылки на ячейки?
Если вы введете в вычисляемый столбец прямые ссылки на ячейки, может быть сложнее понять, что вычисляет формула.
-
В образце листа щелкните ячейку E2.
-
В строке формул введите =C2*D2 и нажмите клавишу ВВОД.
Обратите внимание на то, что хотя Excel копирует формулу вниз по столбцу, структурированные ссылки не используются. Если, например, вы добавите столбец между столбцами C и D, вам придется исправлять формулу.
Как изменить имя таблицы?
При создании таблицы Excel ей назначается имя по умолчанию («Таблица1», «Таблица2» и т. д.), но его можно изменить, чтобы сделать более осмысленным.
-
Выберите любую ячейку в таблице, чтобы отобразить вкладку Работа с таблицами > Конструктор на ленте.
-
Введите нужное имя в поле Имя таблицы и нажмите клавишу ВВОД.
В этом примере мы используем имя ОтделПродаж.
При выборе имени таблицы соблюдайте такие правила:
-
Используйте допустимые символы. Имя всегда должно начинаться с буквы, символа подчеркивания (_) или обратной косой черты (). Остальная часть имени может включать в себя буквы, цифры, точки и символы подчеркивания. В имени нельзя использовать латинские буквы C, c, R и r, так как они служат для быстрого выделения столбца или строки с активной ячейкой при вводе их в поле Имя или Перейти.
-
Не используйте ссылки на ячейки. Имена не могут иметь такой же вид, как ссылки на ячейки, например Z$100 или R1C1.
-
Не используйте пробелы для разделения слов. В имени нельзя использовать пробелы. Можно использовать символ подчеркивания (_) и точку (.). Примеры допустимых имен: ОтделПродаж, Налог_на_продажи, Первый.квартал.
-
Используйте не более 255 знаков. Имя таблицы может содержать не более 255 знаков.
-
Использование уникальных имен таблиц Повторяющиеся имена не допускаются. Excel не различает символы в верхнем и нижнем регистрах в именах, поэтому если вы введете «Продажи», но уже имеете другое имя «SALES» в той же книге, вам будет предложено выбрать уникальное имя.
-
Использование идентификатора объекта Если вы планируете использовать сочетание таблиц, сводных таблиц и диаграмм, рекомендуется префиксировать имена с помощью типа объекта. Например, tbl_Sales для таблицы продаж, pt_Sales для сводной таблицы продаж и chrt_Sales для диаграммы продаж или ptchrt_Sales для сводной диаграммы продаж. При этом все имена будут храниться в упорядоченном списке в диспетчере имен.
Правила синтаксиса структурированных ссылок
Вы также можете ввести или изменить структурированные ссылки вручную в формуле, но это поможет понять синтаксис структурированных ссылок. Рассмотрим такую формулу:
=СУММ(ОтделПродаж[[#Итого],[ОбъемПродаж]],ОтделПродаж[[#Данные],[ОбъемКомиссии]])
В этой формуле используются указанные ниже компоненты структурированной ссылки.
-
Имя таблицы:
DeptSales — это пользовательское имя таблицы. Он ссылается на данные таблицы без каких-либо строк заголовка или итогов. Вы можете использовать имя таблицы по умолчанию, например Table1, или изменить его, чтобы использовать пользовательское имя. -
Описатель столбцов:
[Сумма продаж]
и
[Сумма комиссии] — это описатели столбцов, которые используют имена столбцов, которые они представляют. Они ссылаются на данные столбца без заголовка столбца или строки итогов. Всегда заключайте описатели в квадратные скобки, как показано ниже. -
Описатель элемента:
[#Totals] и [#Data] — это специальные описатели элементов, которые ссылаются на определенные части таблицы, например на строку итогового значения. -
Табличный описатель:
[#Totals], [Сумма продаж]] и [[#Data],[Сумма комиссии]] являются табличными описателями, представляющими внешние части структурированной ссылки. Внешние ссылки следуют за именем таблицы и заключают их в квадратные скобки. -
Структурированная ссылка:
(DeptSales[[#Totals],[Sales Amount]] и DeptSales[[#Data],[Commission Amount]] представляют собой структурированные ссылки, представленные строкой, которая начинается с имени таблицы и заканчивается описателем столбца.
При создании или изменении структурированных ссылок вручную учитывайте перечисленные ниже правила синтаксиса.
-
Заключайте указатели в квадратные скобки. Все указатели таблиц, столбцов и специальных элементов должны быть заключены в парные скобки ([ ]). Указатель, содержащий другие указатели, требует наличия таких же внешних скобок, в которые будут заключены внутренние скобки других указателей. Например: =DeptSales[[Sales Person]:[Region]]
-
Все заголовки столбцов — это текстовые строки. Но для них не требуются кавычки, если они используются в структурированной ссылке. Числа или даты, например 2014 или 01.01.2014, также считаются текстовыми строками. Нельзя использовать выражения с заголовками столбцов. Например, выражение ОтделПродажСводкаФГ[[2014]:[2012]] недопустимо.
Заключайте в квадратные скобки заголовки столбцов, содержащие специальные знаки. Если присутствуют специальные знаки, весь заголовок столбца должен быть заключен в скобки, а это означает, что для указателя столбца потребуются двойные скобки. Пример: =ОтделПродажСводкаФГ[[Итого $]]
Дополнительные скобки в формуле нужны при наличии таких специальных знаков:
-
TAB
-
Канал строки
-
Возврат каретки
-
Запятая (,)
-
Двоеточие (:)
-
Точка (.)
-
Левая скобка ([)
-
Правая скобка (])
-
Знак фунта (#)
-
Одна кавычка (‘)
-
Двойная кавычка («)
-
Левая фигурная скобка ({)
-
Правая фигурная скобка (})
-
Знак доллара ($)
-
Caret (^)
-
Амперсанд (&)
-
Звездочка (*)
-
Знак «плюс» (+)
-
Знак равенства (=)
-
Знак минус (-)
-
Больше символа (>)
-
Меньше символа (<)
-
Знак деления (/)
-
При знаке (@)
-
Обратная косая черта ()
-
Восклицательный знак (!)
-
Левая скобка (()
-
Правая скобка ())
-
Знак процента (%)
-
Вопросительный знак (?)
-
Обратный тик (‘)
-
Точка с запятой (;)
-
Тильда (~)
-
Подчеркивание (_)
-
Используйте escape-символы для некоторых специальных знаков в заголовках столбцов. Перед некоторыми знаками, имеющими специфическое значение, необходимо ставить одинарную кавычку (‘), которая служит escape-символом. Пример: =ОтделПродажСводкаФГ[‘#Элементов]
Ниже приведен список специальных символов, которым требуется escape-символ (‘) в формуле:
-
Левая скобка ([)
-
Правая скобка (])
-
Знак фунта(#)
-
Одна кавычка (‘)
-
При знаке (@)
Используйте пробелы для повышения удобочитаемости структурированных ссылок. С помощью пробелов можно повысить удобочитаемость структурированной ссылки. Пример: =ОтделПродаж[ [Продавец]:[Регион] ] или =ОтделПродаж[[#Заголовки], [#Данные], [ПроцентКомиссии]].
Рекомендуется использовать один пробел:
-
После первой левой скобки ([)
-
Перед последней правой скобкой (]).
-
После запятой.
Операторы ссылок
Перечисленные ниже операторы ссылок служат для составления комбинаций из указателей столбцов, что позволяет более гибко задавать диапазоны ячеек.
Эта структурированная ссылка: |
Ссылается на: |
Используя: |
Диапазон ячеек: |
---|---|---|---|
=ОтделПродаж[[Продавец]:[Регион]] |
Все ячейки в двух или более смежных столбцах |
: (двоеточие) — оператор ссылки |
A2:B7 |
=ОтделПродаж[ОбъемПродаж],ОтделПродаж[ОбъемКомиссии] |
Сочетание двух или более столбцов |
, (запятая) — оператор объединения |
C2:C7, E2:E7 |
=ОтделПродаж[[Продавец]:[ОбъемПродаж]] ОтделПродаж[[Регион]:[ПроцентКомиссии]] |
Пересечение двух или более столбцов |
(пробел) — оператор пересечения |
B2:C7 |
Указатели специальных элементов
Чтобы сослаться на определенную часть таблицы, например на строку итогов, в структурированных ссылках можно использовать перечисленные ниже указатели специальных элементов.
Этот указатель специального элемента: |
Ссылается на: |
---|---|
#Все |
Вся таблица, включая заголовки столбцов, данные и итоги (если они есть). |
#Данные |
Только строки данных. |
#Заголовки |
Только строка заголовка. |
#Итого |
Только строка итога. Если ее нет, будет возвращено значение null. |
#Эта строка ИЛИ @ ИЛИ @[Имя столбца] |
Только ячейки в той же строке, где располагается формула. Эти указатели нельзя сочетать с другими указателями специальных элементов. Используйте их для установки неявного пересечения в ссылке или для переопределения неявного пересечения и ссылки на отдельные значения из столбца. Excel автоматически заменяет указатели «#Эта строка» более короткими указателями @ в таблицах, содержащих больше одной строки данных. Но если в таблице только одна строка, Excel не заменяет указатель «#Эта строка», и это может привести к тому, что при добавлении строк вычисления будут возвращать непредвиденные результаты. Чтобы избежать таких проблем при вычислениях, добавьте в таблицу несколько строк, прежде чем использовать формулы со структурированными ссылками. |
Определение структурированных ссылок в вычисляемых столбцах
Когда вы создаете вычисляемый столбец, для формулы часто используется структурированная ссылка. Она может быть неопределенной или полностью определенной. Например, чтобы создать вычисляемый столбец с именем Commission Amount, который вычисляет сумму комиссии в долларах, можно использовать следующие формулы:
Тип структурированной ссылки |
Пример |
Примечания |
---|---|---|
Неопределенная |
=[ОбъемПродаж]*[ПроцентКомиссии] |
Перемножает соответствующие значения из текущей строки. |
Полностью определенная |
=ОтделПродаж[ОбъемПродаж]*ОтделПродаж[ПроцентКомиссии] |
Перемножает соответствующие значения из каждой строки обоих столбцов. |
Общее правило таково: если структурированная ссылка используется внутри таблицы, например, при создании вычисляемого столбца, то она может быть неопределенной, но вне таблицы нужно использовать полностью определенную структурированную ссылку.
Примеры использования структурированных ссылок
Ниже приведены примеры использования структурированных ссылок.
Эта структурированная ссылка: |
Ссылается на: |
Диапазон ячеек: |
---|---|---|
=ОтделПродаж[[#Все],[ОбъемПродаж]] |
Все ячейки в столбце «ОбъемПродаж». |
C1:C8 |
=ОтделПродаж[[#Заголовки],[ПроцентКомиссии]] |
Заголовок столбца «ПроцентКомиссии». |
D1 |
=ОтделПродаж[[#Итого],[Регион]] |
Итог столбца «Регион». Если нет строки итогов, будет возвращено значение ноль. |
B8 |
=ОтделПродаж[[#Все],[ОбъемПродаж]:[ПроцентКомиссии]] |
Все ячейки в столбцах «ОбъемПродаж» и «ПроцентКомиссии». |
C1:D8 |
=ОтделПродаж[[#Данные],[ПроцентКомиссии]:[ОбъемКомиссии]] |
Только данные в столбцах «ПроцентКомиссии» и «ОбъемКомиссии». |
D2:E7 |
=ОтделПродаж[[#Заголовки],[Регион]:[ОбъемКомиссии]] |
Только заголовки столбцов от «Регион» до «ОбъемКомиссии». |
B1:E1 |
=ОтделПродаж[[#Итого],[ОбъемПродаж]:[ОбъемКомиссии]] |
Итоги столбцов от «ОбъемПродаж» до «ОбъемКомиссии». Если нет строки итогов, будет возвращено значение null. |
C8:E8 |
=ОтделПродаж[[#Заголовки],[#Данные],[ПроцентКомиссии]] |
Только заголовок и данные столбца «ПроцентКомиссии». |
D1:D7 |
=ОтделПродаж[[#Эта строка], [ОбъемКомиссии]] ИЛИ =ОтделПродаж[@ОбъемКомиссии] |
Ячейка на пересечении текущей строки и столбца Commission Amount. При использовании в той же строке, что и заголовок или итоговая строка, возвращается ошибка #VALUE! . Если ввести длинную форму этой структурированной ссылки (#Эта строка) в таблице с несколькими строками данных, Excel автоматически заменит ее укороченной формой (со знаком @). Две эти формы идентичны. |
E5 (если текущая строка — 5) |
Методы работы со структурированными ссылками
При работе со структурированными ссылками учитывайте следующее.
-
Автозаполнение формул может оказаться очень полезным при вводе структурированных ссылок для соблюдения правил синтаксиса. Дополнительные сведения см. в статье Использование автозаполнения формул.
-
Решите, следует ли создавать структурированные ссылки для таблиц в полувыборах По умолчанию при создании формулы при щелчке диапазона ячеек в таблице выбирается полуэлемерная ячейка и автоматически вводится структурированная ссылка вместо диапазона ячеек в формуле. Псевдовыбор облегчает ввод структурированной ссылки. Это поведение можно включить или отключить, установив или снимите флажок Использовать имена таблиц в формулах в диалоговом окне Параметры файлов > > Формулы > Работа с формулами.
-
Использование книг с внешними ссылками на таблицы Excel в других книгах Если книга содержит внешнюю ссылку на таблицу Excel в другой книге, эта связанная исходная книга должна быть открыта в Excel, чтобы избежать ошибок #REF! в целевой книге, содержащей ссылки. Если сначала открыть целевую книгу и #REF! появятся ошибки, они будут устранены при открытии исходной книги. Если сначала открыть книгу с исходным кодом, коды ошибок не будут отображаться.
-
Преобразование диапазона в таблицу и таблицы в диапазон. При преобразовании таблицы в диапазон все ссылки на ячейки изменяются на эквивалентные абсолютные ссылки стиля A1. При преобразовании диапазона в таблицу Excel не изменяет автоматически ссылки на ячейки этого диапазона на эквивалентные структурированные ссылки.
-
Отключение заголовков столбцов. Вы можете включить и отключить заголовки столбцов таблицы на вкладке Конструктор таблицы > строке заголовков. Если отключить заголовки столбцов таблицы, структурированные ссылки, использующие имена столбцов, не затрагиваются, и вы по-прежнему можете использовать их в формулах. Структурированные ссылки, которые ссылаются непосредственно на заголовки таблицы (например, =DeptSales[[#Headers],[%Commission]]), приведут к #REF.
-
Добавление и удаление столбцов и строк в таблице. Так как диапазоны табличных данных часто меняются, ссылки на ячейки для структурированных ссылок настраиваются автоматически. Например, если вы используете имя таблицы для подсчета всех ячеек в ней, и добавляете строку данных, ссылка на ячейки автоматически меняется.
-
Переименование таблицы или столбца. Если переименовать столбец или таблицу, в приложении Excel автоматически изменится название этой таблицы или заголовок столбца, используемые во всех структурированных ссылках книги.
-
Перемещение, копирование и заполнение структурированных ссылок Все структурированные ссылки остаются неизменными при копировании или перемещении формулы, которая использует структурированную ссылку.
Примечание: Копирование структурированной ссылки и заполнение структурированной ссылки — это не одно и то же. При копировании все структурированные ссылки остаются неизменными, а при заполнении формулы полностью структурированные ссылки корректируют описатели столбцов, как последовательность, как показано в следующей таблице.
Направление заполнения: |
И при заполнении нажимаете |
Выполняется действие: |
---|---|---|
Вверх или вниз |
Не нажимать |
Указатели столбцов не будут изменены. |
Вверх или вниз |
CTRL |
Указатели столбцов настраиваются как ряд. |
Вправо или влево |
Нет |
Указатели столбцов настраиваются как ряд. |
Вверх, вниз, вправо или влево |
SHIFT |
Вместо перезаписи значений в текущих ячейках будут перемещены текущие значения ячеек и вставлены указатели столбцов. |
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Статьи по теме
Общие сведения о таблицах
Excel Видео: создание и форматирование таблицы
Excel Итог данных в таблице
Excel Форматирование таблицы
Excel Изменение размера таблицы путем добавления или удаления строк и столбцов
Фильтрация данных в диапазоне или таблице
Преобразование таблицы в диапазон
Проблемы
с совместимостью таблиц ExcelЭкспорт таблицы Excel в SharePoint
Общие сведения о формулах в Excel
Skip to content
В руководстве объясняется, что такое адрес ячейки, как правильно записывать абсолютные и относительные ссылки в Excel, как ссылаться на ячейку на другом листе и многое другое.
Ссылка на ячейки Excel, как бы просто она ни казалась, сбивает с толку многих пользователей. Как определяется адрес ячейки? Что такое абсолютная и относительная ссылка и когда следует использовать каждую из них? Как делать перекрестные ссылки между разными листами и файлами? В этом руководстве вы найдете ответы на эти и многие другие вопросы.
- Что такое ссылка на ячейку?
- Ссылка на диапазон
- Как создать ссылку?
- Как изменить ссылку.
- Ссылка на другой лист или другую книгу
- Относительная ссылка
- Абсолютная ссылка
- Что такое смешанная ссылка?
- Как поменять ссылку с относительной на абсолютную?
- Имя — это абсолютная ссылка
- Относительная и абсолютная ссылка на столбец и строку
- Ссылка на столбец, исключая несколько первых строк
- Смешанная ссылка на столбец
Что такое ссылка на ячейку?
Рабочий лист в Excel состоит из ячеек. На каждую из них можно ссылаться, указав значение строки и значение столбца. Зачем это нужно? Чтобы получить значение, записанное в ней, и затем использовать его в вычислениях.
Ссылка на ячейку представляет собой комбинацию из буквы столбца и номера строки, который идентифицирует её на листе. Проще говоря, это ее адрес. Он сообщает программе, где искать значение, которое вы хотите использовать в расчётах.
Например, A1 относится к адресу на пересечении столбца A и строки 1; B2 относится ко второй ячейке в столбце B и так далее.
При использовании в формуле ссылки помогают Excel находить значения, которые она должна использовать.
Например, если вы введете простейшее выражение =A1 в клетку C1, Эксель продублирует данные из A1 в C1:
Чтобы сложить числа в ячейках A1 и A2, используйте: =A1 + A2
Что такое ссылка на диапазон?
В Microsoft Excel диапазон – это блок из двух или более ячеек. Ссылка на диапазонпредставлена адресами верхней левой и нижней правой его ячеек, разделенных двоеточием.
Например, диапазон A1:C2 включает 6 ячеек от A1 до C2.
Как создать ссылку?
Чтобы записать ссылку на ячейку на том же листе, вам нужно сделать следующее:
- Выберите, где вы хотите ввести формулу.
- Введите знак равенства (=).
- Выполните одно из следующих действий:
- Запишите координаты прямо в ячейку или в строку формул, или же
- Кликните ячейку, к которой хотите обратиться.
- Введите оставшуюся часть формулы и нажмите
Enter
для завершения.
Например, чтобы сложить значения в A1 и A2, введите знак равенства, щелкните A1, введите знак плюса, щелкните A2 и нажмите Enter:
Чтобы создать ссылку на диапазон, выберите область на рабочем листе.
Например, чтобы сложить значения в A1, A2 и A3, введите знак равенства, затем имя функции СУММ и открывающую скобку, выберите ячейки от A1 до A3, введите закрывающую скобку и нажмите Enter:
Чтобы обратиться ко всей строке или целому столбцу, щелкните номер строки или букву столбца соответственно.
Например, чтобы сложить все ячейки в строке 1, начните вводить функцию СУММ, а затем кликните заголовок первой строки, чтобы включить ссылку на строку в ваш расчёт:
Как изменить ссылку?
Чтобы изменить адрес ячейки в существующей формуле Excel, выполните следующие действия:
- Выберите клетку, содержащую формулу, и нажмите
F2
, чтобы войти в режим редактирования, или дважды щелкните саму ячейку. Это выделит каждую ячейку или диапазон, на который ссылается формула, другим цветом. - Чтобы изменить адрес, выполните одно из следующих действий:
- Выберите адрес в формуле и вручную введите новый вместо него.
- Выбрав ссылку, при помощи мышки укажите вместо нее другой адрес или диапазон на листе.
- Чтобы включить больше или меньше ячеек в ссылку на диапазон, перетащите его правый нижний угол:
- Нажмите Enter.
Как сделать перекрестную ссылку?
Чтобы ссылаться на ячейки на другом листе или в другом файле Excel, вы должны указать не только целевую ячейку, но также лист и книгу, где они расположены. Это можно сделать с помощью так называемой внешней ссылки.
Чтобы сослаться на данные, находящиеся на другом листе, введите имя этого целевого листа с восклицательным знаком (!) перед адресом ячейки или диапазона.
Например, вот как вы можете создать ссылку на адрес A1 на листе Лист2 в той же книге Excel:
=Лист2!A1
Если имя рабочего листа содержит пробелы или неалфавитные символы, вы должны заключить его в одинарные кавычки, например:
=’Новый лист’!A1
Чтобы предотвратить возможные опечатки и ошибки, вы можете заставить Excel автоматически создавать для вас внешнюю ссылку. Вот как:
- Начните ввод в ячейку. Запишите знак «=».
- Щелкните вкладку листа, на которую хотите сослаться, затем выберите ячейку или диапазон ячеек на этом листе.
- Завершите ввод и нажмите Enter.
Как сослаться на другую книгу?
Чтобы сослаться на ячейку или диапазон ячеек в другом файле Excel, необходимо заключить имя книги в квадратные скобки, за которым следует имя листа, восклицательный знак и адрес ячейки или диапазона.
Например:
=[Книга1.xlsx]Лист1!A1
Если имя файла или листа содержит небуквенные символы, не забудьте заключить путь в одинарные кавычки, например
='[Новый файл.xlsx]Лист1′!A1
Как и в случае ссылки на другой лист, вам не обязательно вводить всё это вручную. Более быстрый способ – начать писать формулу, затем переключиться на другую книгу и выбрать в ней ячейку или диапазон. Нажать Enter.
Итак, мы научились создавать простейшие ссылки. Теперь рассмотрим, какими они бывают.
В Экселе есть три типа ссылок на ячейки: относительные, абсолютные и смешанные. В ваших расчётах вы можете использовать любой из них. Но если вы собираетесь скопировать записанное выражение на другое место в вашем рабочем листе, то здесь нужно быть внимательным. Важно использовать правильный тип адреса, поскольку относительные и абсолютные ссылки ведут себя по-разному при переносе и копировании.
Относительная ссылка на ячейку.
Относительная ссылка является самой простой и включает координаты строки и столбца, например А1 или А1:D10. По умолчанию все адреса ячеек в Экселе являются относительными.
Пример:
=A2
Это простейшее выражение сообщает программе, что нужно показать значение, которое записано в первой колонке (A) и второй строке (2). Используя скриншот чуть ниже, если бы эта формула была помещена в ячейку D1, она отобразила бы число «8», поскольку это значение находится по адресу A2.
При перемещении или копировании относительные ссылки изменяются в зависимости от относительного положения строк и столбцов. Иначе говоря, насколько новое местоположение изменилось относительно первоначального.
Итак, если вы хотите повторить одно и то же вычисление для однотипных данных по вертикали или горизонтали, вам необходимо использовать относительные ссылки.
Например, чтобы сложить числа в A2 и B2, вы вводите это в C2: =A2+B2. При копировании из строки 2 в строку 3 выражение изменится на = A3+B3.
Относительные ссылки полезны и удобны тем, что, если у вас есть однотипные данные, с которыми нужно совершить одни и те же операции, вы можете создать формулу один раз, а потом просто скопировать ее для всех данных.
К примеру, так очень удобно перемножать количество и цену различных товаров в таблице, чтобы найти их стоимость.
Создайте расчет умножения цены на количество для одного товара, и скопируйте его для всех остальных. Вот тут как раз и нужно использовать относительные ссылки.
Вместо того, чтобы вводить формулу для всех ячеек одну за другой, вы можете просто скопировать ячейку D2 и вставить ее во все остальные ячейки (D3: D8). Когда вы это сделаете, вы заметите, что адрес автоматически настраивается, чтобы ссылаться на соответствующую строку. Например, формула в ячейке D3 становится B3*C3, а в D4 теперь записано: B4*C4.
Абсолютная ссылка на ячейку.
Абсолютная ссылка в Excel имеет знак доллара ($) в координатах строк или столбцов, например $A$1 или $A$1:$B$20.
Символ доллара, добавленный перед любой из координат, делает адрес абсолютным (т. е. предотвращает изменение номера строки и столбца).
Она остается неизменной при копировании расчета в другие ячейки. Это особенно полезно, когда вы хотите выполнить несколько вычислений со значением, находящимся по определённому адресу, или когда вам нужно скопировать формулу без изменения ссылок.
Это может быть тот случай, когда у вас есть фиксированное значение, которое вам нужно многократно использовать (например, ставка налога, ставка комиссии, количество месяцев, размер скидки и т. д.)
Например, чтобы умножить числа в столбце B на величину скидки из F2, вы вводите следующую формулу в строке 2, а затем копируете её вниз, перетаскивая маркер заполнения:
=B2*$F$2
Относительная ссылка (B2) будет изменяться в зависимости от относительного положения строки, в которую она копируется, в то время как абсолютная ($F$2) всегда будет зафиксирована на одном и том же адресе:
Конечно, можно в ваше выражение жёстко вбить 10% скидки, и этим решить проблему при копировании. Но если впоследствии вам понадобится изменить процент скидки, то придется искать и корректировать все формулы. И обязательно какую-то случайно пропустите. Поэтому принято подобные константы записывать отдельно и использовать абсолютные ссылки на них.
Итак, относительная ссылка на ячейку отличается от абсолютной тем, что копирование или перемещение формулы приводит к её изменению.
Абсолютные ссылки всегда указывают на конкретный адрес, независимо от того, где они находятся.
Смешанная ссылка.
Смешанные ссылки немного сложнее, чем абсолютные и относительные.
Может быть два типа смешанных ссылок:
- Строка блокируется, а столбец изменяется при копировании.
- Столбец фиксируется, а строка изменяется.
Смешанная ссылкасодержит одну относительную и одну абсолютную координату, например $A1 или A$1.
Как вы помните, абсолютная ссылка содержит 2 знака доллара ($), которые фиксируют как столбец, так и строку. В смешанной только одна координата является фиксированной (абсолютной), а другая (относительная) будет изменяться в зависимости от нового расположения:
- Абсолютный столбец и относительная строка, например $A1. Когда выражение с этим типом ссылки копируется в другие ячейки, знак $ перед буквой столбца фиксирует обращение строго на указанный столбец, чтобы оно никогда не изменялось. Относительная ссылка на строку без знака доллара будет меняться в зависимости от строки, в которую копируется формула.
- Относительный столбец и абсолютная строка, например A$1. Здесь адресация на строку будет зафиксирована, а на столбец — поменяется.
Может быть много ситуаций, когда нужно фиксировать только одну координату: либо столбец, либо строку.
Например, чтобы умножить колонку с ценами (столбец В) на 3 разных значения наценки (C2, D2 и E2), вы поместите следующую формулу в C3, а затем скопируете ее вправо и затем вниз:
=$B3*(1+C$2)
Теперь вы можете использовать силу смешанной ссылки для расчета всех этих цен с помощью всего лишь одной формулы.
В первом множителе мы зафиксировали столбец. Поэтому при копировании вправо по строке адрес $B3 не изменится: ведь строка по-прежнему третья.
А вот во втором множителе знак доллара мы поставили перед номером строки. Поэтому при копировании формулы в D3 координаты столбца изменятся и вместо C$2 мы получим D$2. В результате в D3 получим:
=$B3*(1+D$2)
А когда будем копировать вниз, всё будет наоборот: $B3 изменится на $B4, $B5 и т.д. А вот D$2 не изменится, так как «заморожена» строка. В результате в С4 получим:
=$B4*(1+C$2)
Самый приятный момент заключается в том, что формулу мы записываем только один раз, а потом просто копируем ее на всю таблицу. Экономим очень много времени.
И если ваши наценки вдруг изменятся, просто поменяйте числа в C2:E2, и проблема будет решена почти мгновенно.
Как изменить ссылку с относительной на абсолютную (или смешанную)?
Чтобы переключиться с относительной на абсолютную и наоборот, вы можете либо добавить, либо удалить знак $ вручную. А можно использовать функциональную клавишу F4:
- Дважды щелкните ячейку, содержащую формулу.
- Выберите ссылку, которую хотите изменить.
- Нажмите
F4
для переключения между четырьмя ссылочными типами.
Неоднократно нажимая F4
, вы будете переключать их в следующем порядке:
Если вы выбрали относительную ссылку без знака $, например A1, последовательно нажимая F4, вы будете переключаться между абсолютной ссылкой с двумя знаками доллара $A$1, абсолютной строкой A$1, абсолютным столбцом $A1, а затем вновь вернёмся к A1.
Имя как разновидность абсолютной ссылки.
Отдельную ячейку или диапазон также можно определить по имени. Для этого вы просто выбираете ячейку, вводите имя в поле Имя и нажимаете клавишу Enter.
В нашем примере установите курсор в F2, а затем присвойте этому адресу имя, как это показано на рисунке выше. При этом можно использовать только буквы, цифры и нижнее подчёркивание, которым можно заменить пробел. Знаки препинания и служебные символы не допускаются.
Его вы можете использовать в вычислениях вашей рабочей книги.
=B2*скидка
Естественно, это своего рода абсолютная ссылка, поскольку за каждым именем жёстко закрепляются координаты определенной ячейки или диапазона.
Формула же при этом становится более понятной и читаемой.
Ссылка на столбец.
Как и на отдельные ячейки, ссылка на весь столбец может быть абсолютной и относительной, например:
- Абсолютная ссылка на столбец – $A:$A
- Относительная – A:A
Когда вы используете знак доллара ($) в абсолютной ссылке на столбец, его адрес не изменится при копировании в другое расположение.
Относительная ссылка на столбец изменится, когда формула скопирована или перемещена по горизонтали, и останется неизменной при копировании ее в другие клетки в пределах одной и той же колонки (по вертикали).
А теперь давайте посмотрим это на примере.
Предположим, у вас есть некоторые числа в колонке B, и вы хотите узнать их общее и среднее значение. Проблема в том, что новые данные добавляются в таблицу каждую неделю, поэтому писать обычную формулу СУММ() или СРЗНАЧ() для фиксированного диапазона ячеек – не лучший вариант. Вместо этого вы можете ссылаться на весь столбец B:
=СУММ($D:$D)— используйте знак доллара ($), чтобы создать абсолютную ссылку на весь столбец, которая привязывает формулу к столбцу B.
=СУММ(D:D)— напишите формулу без $, чтобы сделать относительную ссылку на весь столбец, которая будет изменяться при копировании.
Совет. При написании формулы щелкните мышкой на букве заголовка (D, например), чтобы добавить ссылку сразу на весь столбец. Как и в случае ячейками, программа по умолчанию вставляет относительную ссылку (без знака $):
Ссылка на строку.
Чтобы обратиться сразу ко всей строке, вы используете тот же подход, что и со столбцами, за исключением того, что вы вводите номера строчек вместо букв столбиков:
- Абсолютная ссылка на строку – $1:$1
- Относительная – 1:1
Пример 2. Ссылка на всю строку (абсолютная и относительная)
Если данные в вашем листе расположены горизонтально, а не по вертикали, вы можете ссылаться на всю строку. Например, вот как мы можем рассчитать среднюю цену в строке 2:
=СРЗНАЧ($3:$3) – абсолютная ссылка на всю строку зафиксирована с помощью знака доллара ($).
=СРЗНАЧ(3:3) – относительная ссылка на строку изменится при копировании вниз.
В этом примере нам нужна относительная ссылка. Ведь у нас есть 6 строчек с данными, и мы хотим вычислить среднее значение для каждого товара отдельно. Записываем в B12 расчет средней цены для яблок и копируем его вниз:
Для бананов (B13) расчет уже будет такой: СРЗНАЧ(4:4). Как видите, номер строки автоматически изменился.
Ссылка на столбец, исключая первые несколько строк.
Это очень актуальная проблема, потому что довольно часто первые несколько строк на листе содержат некоторые вводные предложения, шапку даблицы или пояснительную информацию, и вы не хотите включать их в свои вычисления. К сожалению, Excel не допускает ссылок типа D3:D, которые включали бы все данные в столбце D, только начиная со строки 3. Если вы попытаетесь добавить такую конструкцию, ваша формула, скорее всего, вернет ошибку #ИМЯ?.
Вместо этого вы можете указать максимальную строку, чтобы ваша ссылка включала все возможные адреса в данном столбце. В Excel с 2019 по 2007 максимум составляет 1 048 576 строк и 16 384 столбца. Более ранние версии программы имеют максимум 65 536 строк и 256 столбцов.
Итак, чтобы найти сумму продаж в приведенной ниже таблице (колонка «Стоимость»), можно использовать выражение:
=СУММ(D3:D1048576)
Как вариант, можно вычесть из общей суммы те данные, которые хотите исключить:
=СУММ(D:D)-СУММ(D1:D2)
Но первый вариант предпочтительнее, так как СУММ(D:D) выполняется дольше и требует больше вычислительных ресурсов, чем СУММ(D3:D1048576).
Смешанная ссылка на весь столбец.
Как я упоминал ранее, вы также можете создать смешанную ссылку на весь столбец или целую строку:
- Смешанная на столбец, например $A:A
- Смешанная на строку, например $1:1
Теперь посмотрим, что произойдет, если вы скопируете формулу с такими адресами в другие ячейки. Предположим, вы вводите формулу =СУММ($B:B) в какую-то клетку, в этом примере F3. Когда вы копируете формулу вправо (в G3), она меняется на, =СУММ($B:C), потому что первая B имеет знак $ и остается неподвижной, а вторая B – обычная и поэтому меняется.
В результате Эксель сложит все числа в столбцах B и C. Ну и, двигаясь далее вправо, далее можно найти сумму уже трёх колонок.
Надеюсь, теперь вы полностью понимаете, что такое относительные и абсолютные ссылки на ячейки, и формула со знаками $ больше не является загадкой.
Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге!
Создание ссылки на ячейку или столбец в формуле
PLANS
- Smartsheet
- Pro
- Business
- Enterprise
При создании формул можно использовать значения из других ячеек или столбцов таблицы. Это можно сделать с помощью ссылок на ячейки и столбцы. Можно создавать ссылки на отдельные ячейки и их диапазоны или на целые столбцы.
Также можно ссылаться на данные из других таблиц. Подробную информацию о ссылках на данные из других таблиц можно найти в статье Формулы: ссылки на данные из других таблиц.
Краткая информация о типах ссылок в формулах
Ниже приведена памятка по созданию собственных формул.
Элемент, на который нужно сослаться | Требуемый формат | Пример |
---|---|---|
Отдельная ячейка | Название столбца, номер строки | =Бюджет1 |
Название столбца содержит пробел или заканчивается на число | Заключите имя столбца в квадратные скобки. | =[Столбец A]1 =DAY([Q1]1) |
Абсолютная ссылка (всегда ссылается на указанную ячейку, строку или столбец) | Введите символ «$» перед названием столбца, номером строки или обоими. | =$[Столбец A]$1 =[Столбец B]$1 =$[Столбец C]1 |
Несколько несвязанных ячеек | Ссылки на ячейки должны быть разделены запятыми. | =SUM(Бюджет1, Затраты4, [Прогноз прибыли]20) |
Диапазон ячеек в одном столбце | Введите первую и последнюю ячейки диапазона через двоеточие «:». | =SUM(Бюджет1:Бюджет12) |
Столбец целиком (вместе со всеми добавляемыми ячейками) | Название столбца через двоеточие «:». | =SUM(Бюджет:Бюджет) |
Диапазон ячеек в нескольких столбцах | Введите ссылку на правую верхнюю и левую нижнюю ячейки через двоеточие «:». | =SUM(Январь1:Март5) |
Отдельная ячейка, диапазон ячеек или столбцы целиком из другой таблицы | Введите название созданной ссылки в другой таблице в фигурных скобках. | =COUNT({my_sheet1 Диапазон1}) |
Более подробное описание типов ссылок
Ссылка на отдельную ячейку
При создании формулы вы можете выбрать ячейку, на которую хотите сослаться, и работать с данными этой ячейки в своей формуле. (Вы также можете вручную ввести название столбца и номер строки, чтобы сослаться на ячейку.)
Например, формула в столбце «Балансовая стоимость» в следующей таблице управления запасами умножит значение из строки 1 столбца «Цена» на значение строки 1 столбца «Запасы»:
Формула вернет значение 2 994,00 р., т. е. общую стоимость:
Ссылка на название столбца, содержащего пробелы или заканчивающегося на цифру
Если название столбца содержит пробелы, специальные знаки или цифры, вы должны заключить их в квадратные скобки во избежание неопределенности:
=[Годовой бюджет]1 + [Годовой бюджет]2
=[Q1]1 + [Q2]1
=[Риск/Проблема]5 + [Вероятность/Смягчение]5
Создание абсолютной ссылки
В некоторых ситуациях, например при ссылке на таблицу функцией VLOOKUP, бывает необходимо запретить Smartsheet автоматически обновлять ссылки на ячейки при перемещении или копировании этой формулы. Для этого нужно создать абсолютную ссылку на ячейки. (Подробная информация о функции VLOOKUP приведена в статье Ссылка функцией.)
Чтобы создать абсолютную ссылку, поставьте символ $ (доллар) перед названием столбца или номером строки в ссылке на ячейку в своей формуле. Например, если вы переместите или скопируете следующую формулу, то названия столбцов и номера строк в ссылках на ячейки не изменятся:
=$[Столбец A]$1 * $[Столбец B]$1
Следующая формула содержит абсолютные ссылки только на номера строк. Если вы переместите или скопируете ее, ссылки на столбцы изменятся с учетом нового расположения формулы:
=[Столбец A]$1 * [Столбец B]$1
В следующей формуле сохранятся абсолютные ссылки на столбцы. Если вы переместите или скопируете ее, номера строк изменятся с учетом нового расположения формулы:
=$[Столбец A]1 * $[Столбец B]1
Ссылка на диапазон ячеек в одном столбце
Для создания ссылки на диапазон ячеек поставьте знак : (двоеточие) между ссылками на выбранные ячейки.
Например, формула в нижней части столбца «Балансовая стоимость» в следующей таблице управления запасами сложит значения строк с 1-й по 6-ю в данном столбце:
Эта формула вернет значение «40763,75 р.», то есть итоговую балансовую стоимость:
Ссылка на столбец целиком
Можно создавать ссылки на столбец целиком, включая его все заполненные ячейки. Например, следующая формула суммирует все значения столбца «Годовой бюджет» и будет меняться по мере добавления или удаления новых строк в этом столбце:
=SUM([Годовой бюджет]:[Годовой бюджет])
ПРИМЕЧАНИЕ. Если формула введена в ячейку столбца, на который она ссылается, она не будет учитывать ту ячейку, в которую она содержится. Например, если вы введете формулу из примера выше в таблицу под названием «Годовой бюджет», формула SUM просуммирует значения всех ячеек за исключением той ячейки, в которую введена эта формула.
Ссылка на диапазон ячеек из нескольких столбцов
Чтобы сослаться на диапазон значений ячеек из строки, пересекающей несколько столбцов, задайте ссылки на первый и последний столбец в строке.
Например, формула в столбце «Общий запас» в следующей таблице управления запасами просуммирует значения строки 1 из столбцов «Запасы A», «Запасы B» и «Запасы C»:
Формула вернет значение «998», т. е. сумму запасов из трёх ячеек:
На первый взгляд (особенно при чтении справки) функция ДВССЫЛ (INDIRECT) выглядит простой и даже ненужной. Ее суть в том, чтобы превращать текст похожий на ссылку — в полноценную ссылку. Т.е. если нам нужно сослаться на ячейку А1, то мы можем либо привычно сделать прямую ссылку (ввести знак равно в D1, щелкнуть мышью по А1 и нажать Enter), а можем использовать ДВССЫЛ для той же цели:
Обратите внимание, что аргумент функции — ссылка на А1 — введен в кавычках, поэтому что, по сути, является здесь текстом.
«Ну ОК», — скажете вы. «И что тут полезного?».
Но не судите по первому впечатлению — оно обманчиво. Эта функция может выручить вас в большом количестве ситуаций.
Пример 1. Транспонирование
Классика жанра: нужно превратить вертикальный диа
пазон в горизонтальный (транспонировать). Само-собой, можно использовать специальную вставку или функцию ТРАНСП (TRANSPOSE) в формуле массива, но можно обойтись и нашей ДВССЫЛ:
Логика проста: чтобы получить адрес очередной ячейки, мы склеиваем спецсимволом «&» букву «А» и номер столбца текущей ячейки, который выдает нам функция СТОЛБЕЦ (COLUMN).
Обратную процедуру лучше проделать немного по-другому. Поскольку на этот раз нам нужно формировать ссылку на ячейки B2, C2, D2 и т.д., то удобнее использовать режим ссылок R1C1 вместо классического «морского боя». В этом режиме наши ячейки будут отличаться только номером столбца: B2=R1C2, C2=R1C3, D2=R1C4 и т.д.
Тут на помощь приходит второй необязательный аргумент функции ДВССЫЛ. Если он равен ЛОЖЬ (FALSE), то можно задавать адрес ссылки в режиме R1C1. Таким образом, мы можем легко транспонировать горизонтальный диапазон обратно в вертикальный:
Пример 2. Суммирование по интервалу
Мы уже разбирали один способ суммирования по окну (диапазону) заданного размера на листе с помощью функции СМЕЩ (OFFSET). Подобную задачу можно решить и с помощью ДВССЫЛ. Если нам нужно суммировать данные только из определенного диапазона-периода, то можно склеить его из кусочков и превратить затем в полноценную ссылку, которую и вставить внутрь функции СУММ (SUM):
Пример 3. Выпадающий список по умной таблице
Иногда Microsoft Excel не воспринимает имена и столбцы умных таблиц как полноценные ссылки. Так, например, при попытке создать выпадающий список (вкладка Данные — Проверка данных) на основе столбца Сотрудники из умной таблицы Люди мы получим ошибку:
Если же «обернуть» ссылку нашей функцией ДВССЫЛ, то Excel преспокойно ее примет и наш выпадающий список будет динамически обновляться при дописывании новых сотрудников в конец умной таблицы:
Пример 4. Несбиваемые ссылки
Как известно, Excel автоматически корректирует адреса ссылок в формулах при вставке или удалении строк-столбцов на лист. В большинстве случаев это правильно и удобно, но не всегда. Допустим, что нам нужно перенести имена из справочника по сотрудникам в отчет:
Если ставить обычные ссылки (в первую зеленую ячейку ввести =B2 и скопировать вниз), то потом при удалении, например, Даши мы получим в соответствующей ей зеленой ячейке ошибку #ССЫЛКА! (#REF!). В случае применения для создания ссылок функции ДВССЫЛ такой проблемы не будет.
Пример 5. Сбор данных с нескольких листов
Предположим, что у нас есть 5 листов с однотипными отчетами от разных сотрудников (Михаил, Елена, Иван, Сергей, Дмитрий):
Допустим, что форма, размеры, положение и последовательность товаров и месяцев во всех таблицах одинаковые — различаются только числа.
Собрать данные со всех листов (не просуммировать, а положить друг под друга «стопочкой») можно всего одной формулой:
Как видите, идея та же: мы склеиваем ссылку на нужную ячейку заданного листа, а ДВССЫЛ превращает ее в «живую». Для удобства, над таблицей я добавил буквы столбцов (B,C,D), а справа — номера строк, которые нужно взять с каждого листа.
Подводные камни
При использовании ДВССЫЛ (INDIRECT) нужно помнить про ее слабые места:
- Если вы делаете ссылку в другой файл (склеивая имя файла в квадратных скобках, имя листа и адрес ячейки), то она работает только пока исходный файл открыт. Если его закрыть, то получим ошибку #ССЫЛКА!
- С помощью ДВССЫЛ нельзя сделать ссылку на динамический именованный диапазон. На статический — без проблем.
- ДВССЫЛ является волатильной (volatile) или «летучей» функцией, т.е. она пересчитывается при любом изменении любой ячейки листа, а не только влияющих ячеек, как у обычных функций. Это плохо отражается на быстродействии и на больших таблицах ДВССЫЛ лучше не увлекаться.
Ссылки по теме
- Как создать динамический диапазон с автоподстройкой размеров
- Суммирование по диапазону-окну на листе функцией СМЕЩ (OFFSET)
Это продолжение перевода книги Зак Барресс и Кевин Джонс. Таблицы Excel: Полное руководство для создания, использования и автоматизации списков и таблиц (Excel Tables: A Complete Guide for Creating, Using and Automating Lists and Tables by Zack Barresse and Kevin Jones. Published by: Holy Macro! Books. First printing: July 2014. – 161 p.). В этой главе рассматриваются ссылки на таблицы в формулах, как внутренние (внутри таблицы), так и внешние (вне таблицы).
Предыдущая глава Содержание Следующая глава
Структурированные ссылки особенно удобны, если используются говорящие имена таблиц и столбцов. Если таблица называется "
Таблица1"
, а столбцы – "
Столбец1"
, "
Столбец2"
и т.д., то структурированная ссылка будет не лучше, чем традиционная ссылка A1.
Понимание того, как работают структурированные ссылки, начинается с понимания их синтаксиса:
Рис. 4.1. Синтаксис структурированной ссылки
Скачать заметку в формате Word или pdf, примеры в формате Excel
- Одна структурированная ссылка на диапазон ячеек.
- Имя таблицы. Если структурированная ссылка находится в ячейке внутри таблицы, то имя таблицы не требуется. Если вы не вводите имя таблицы при указании нескольких столбцов, Excel автоматически добавляет его при вводе структурированной ссылки. Имя таблицы ссылается на весь диапазон тела данных, исключая заголовки и итоги.
- Ссылка на таблицу определяет диапазон в таблице путем указания имени столбца (имен столбцов) и, при необходимости, специального идентификатора, который изменяет ссылку на конкретную ячейку столбца.
- Специальный идентификатор изменяет ссылку со всего столбца на предопределенную область таблицы:
[#Все] относится ко всему столбцу, включая заголовок и итоги, если они включены.
[#Заголовки] ссылается на ячейку заголовка, если он включен.
[#Данные] относится к диапазону тела данных, исключая заголовок и итоги; этот идентификатор может быть опущен.
[#Итоги] относится к строке итоги, если она включена.
[#Эта строка] относится к той же строке, в которую введена структурированная ссылка. Начиная с Excel 2010 вместо него используется символ @.
- Имя столбца.
Неявные пересечения
Неявное пересечение имеет место, когда формула в ячейке ссылается на столбец таблицы целиком, а значение вычисляется на основе той же строки этого столбца (рис. 4.2). При неявном пересечении Excel разрешает структурированную ссылку на одну ячейку в столбце ссылок, которая находится в той же строке, что и ячейка, содержащая ссылку (J7). Excel не разрешает структурированную ссылку на иную ячейку в столбце ссылок (обычная ссылка, естественно, возможна). Например, нельзя сослаться на ячейки J8 или J6. Excel также не разрешает ссылку, если ссылка передается в функцию, которая ожидает массив ячеек. Преимущество неявных пересечений заключается в том, что одна и та же формула используется в нескольких ячейках. В нашем примере в диапазоне L5:L10 все формулы идентичны.
Рис. 4.2. Пример неявного пересечения
Преимущество структурированных ссылок
Помимо использования неявных пересечений, структурированные ссылки имеют явное преимущество в том, что их легче читать. До появления структурированных ссылок пользователи Excel полагались на именованные диапазоны, чтобы облегчить чтение и понимание формул. Таблицы Excel поощряют использование имен, а не стандарта А1. Например:
=A2-B2
Ячейки A2 и B2 не говорят вам, к чему на самом деле относится формула, и вам нужно посмотреть на эти ячейки, чтобы понять назначение формулы. Когда структурированные ссылки используются с говорящими именами таблиц и столбцов, текст формул говорит сам за себя, и не требует изучения содержимого ячеек, на которые ссылается формула. Например:
=[@Доходы]-[@Расходы]
При использовании структурированной ссылки, если имя столбца таблицы содержит ручные разрывы строк (ALT+ENTER) и другие специальные символы, необходимо включить эти специальные символы в структурированную ссылку.
Создание формул
Щелчок по ячейкам при вводе формул – это простой способ заставить Excel вводить ссылки на ячейки вместо их ручного ввода. Вы можете сделать это и с таблицами. Excel сам создаст структурированную ссылку. Если Excel не может сформировать структурированную ссылку, он создаст стандартную ссылку. Например, на следующем рисунке ячейка, на которую ссылаются, находится на одну строку ниже ячейки, в которую вводится формула:
Рис. 4.3. Ссылка на ячейку таблицы, которая не может быть представлена в виде структурированной ссылки
Если же ссылка на ячейку находится в той же строке, что и ячейка, в которую вводится формула, Excel создает структурированную ссылку:
Рис. 4.4. Ссылка на ячейку таблицы, которая может быть представлена в виде структурированной ссылки
При вводе формулы с несколькими выделенными ячейками Excel вставляет стандартные ссылки вместо структурированных ссылок. Обходной путь состоит в том, чтобы ввести формулу с выделенной только одной ячейкой.
Если в вычисляемом столбце используется функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ, то при каждой фильтрации таблицы дополнительные строки исключаются из фильтра без каких-либо причин, даже если они включены в критерии фильтрации. Это подтвержденная ошибка в Excel 2013. Обходной путь состоит в том, чтобы не использовать функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ в вычисляемом столбце. (В Excel 2019 ошибка исправлена.)
Ссылки на заголовок столбца
Сослаться на заголовок можно с помощью специального идентификатора [#Заголовки]. Например, эта ссылка на ячейку заголовка столбца Категория:
=tblRegister[[#Заголовки];[Категория]]
Когда вы ссылаетесь на строку заголовка в формулах, строка заголовка должна быть включена. Иначе формула вернет ошибку #ССЫЛКА! На первый взгляд это может показаться неочевидным, поскольку таблица всегда имеет заголовки, даже если строка заголовка отключена. Но когда строка заголовка отключена, нет никакого диапазона для ссылки. Так что Excel ведет себя логично.
Ссылка на итоги
Сослаться на итоги можно с помощью специального идентификатора [#Итоги]:
=tblRegister[[#Итоги];[Категория]]
Когда вы ссылаетесь в формуле на итоги, строка итогов должна быть включена. Иначе формула вернет ошибку #ССЫЛКА!
В отличие от заголовков столбцов, строка итогов может содержать функции. Excel предоставляет некоторые встроенные функции, которые хорошо работают с таблицами и учитывают строки, скрытые с помощью функции фильтра таблиц. В дополнение к использованию этих встроенных функций, вы можете ввести любую формулу или константу в строку итогов, и она может ссылаться на любую часть таблицы или, если на то пошло, на любую ячейку вне таблицы.
Вы не можете использовать проверку данных в строке итоги.
Excel показывает список встроенных функций, если выбрать ячейку строки итогов и нажать кнопку раскрывающегося меню. Эти встроенные функции используют функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ. При выборе одной из этих функций агрегирования Excel помещает функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ в ячейку итоговой строки с соответствующими параметрами. Стандартно доступно 8 функций агрегирования:
Рис. 4.5. Функции агрегирования, доступные по умолчанию
Если вам нужна иная функция, кликните в окне на строку Другие функции… и вы получите доступ к стандартному окну Excel Вставка функции.
Рис. 4.6. Можно использовать для агрегирования любую функцию Excel, в том числе и пользовательскую
Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ не является специфичной для таблиц, но поскольку именно она используется по умолчанию, мы добавили краткое ее описание.
ПРОМЕЖУТОЧНЫЕ.ИТОГИ(номер_функции;ссылка1;[ссылка2];…])
номер_функции – число в диапазоне от 1 до 9 или от 101 до 109. При использовании от 1 до 9 функция игнорирует отфильтрованные строки, но не скрытые вручную. При использовании от 101 до 109 функция игнорирует отфильтрованные и скрытые вручную строки.
ссылка1 – обязательный параметр, диапазон или ссылка, которую вы хотите подытожить.
ссылка2 – необязательный параметр, диапазон или ссылка для промежуточного итога. Вы можете добавить до 254 дополнительных ссылок.
Кроме того:
- Другие функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ в вычисляемом диапазоне (диапазонах) игнорируются, чтобы избежать двойного агрегирования.
- Диапазоны не обязаны быть одинаковыми по размеру.
- Вы не обязаны ссылаться на один столбец.
Ссылка на столбец
Каждая ссылка на столбец заключена в квадратные скобки: tblRegister[Категория]. Поведение по умолчанию этой ссылки заключается в использовании неявных пересечений. Если же вы передаете его в функцию, которая ожидает массив, Excel возвращает все значения столбца сразу.
Когда вы ссылаетесь на несколько столбцов, вы используете второй набор квадратных скобок с двоеточием, разделяющим ссылки на два столбца (точно так же, как это делается с обычными ссылками):
tblRegister[[Описание]:[Категория]]
Такая ссылка используется для целых столбцов области данных. Чтобы ограничить ссылку только строкой, вы используете символ @ перед первой ссылкой:
tblRegister[@[Описание]:[Категория]]
Как правило добавление @ не обязательно, так как работает неявное пересечение.
При протягивании формул по столбцам Excel обрабатывает структурированные ссылки как относительные ссылки и перемещает их по столбцам. Однако он не рассматривает ссылки на несколько столбцов как относительные ссылки; он рассматривает их как абсолютные ссылки. Таким образом, чтобы предотвратить смещение одноколоночных ссылок в Excel, можно создать одноколоночную структурированную ссылку, как если бы она была многоколоночной:
tblRegister[[Категория]:[Категория]]
Подробнее абсолютные структурированные ссылки будут рассмотрены позже в этой заметке.
Специальный идентификатор [#Эта строка] или @
В Excel 2007 для ограничения ссылки столбца на строку, в которой находится ссылка, перед этой ссылкой на столбец ставится [#Эта строка]:
tblRegister[[#Эта строка];[Описание]]
Начиная с Excel 2010 вместо [#Эта строка] используется знак @. Идентификатор [#Эта строка] при вводе формулы автоматически заменяется на @. Например,
=Web_Table[[#Эта строка];[Total]]
…превращается в…
=Web_Table[@Total]
В контексте неявных пересечений символ @ снимает часть неявной природы синтаксиса и явно указывает: «используйте значение из столбца в этой строке» (по большому счету, символ @ не нужен).
Использование автозаполнения
Автозаполнение – это полезная функция, которая упрощает ввод формулы. Когда вы вводите текст в строке формул, Excel представляет всплывающий список возможных объектов или функций, которые вы можете использовать. Из этого всплывающего списка можно выбрать объект или функцию, чтобы вставить их в формулу. Если вы используете клавиатуру, а не мышь для ввода формулы, вы можете использовать клавиши со стрелками для выбора нужного объекта или функции, а затем нажать клавишу TAB, чтобы ввести выбранный элемент в формулу.
Когда вы вводите формулу в ячейку таблицы, автозаполнение представляет все части таблицы, которые являются законными, учитывая синтаксис, введенный до этого момента.
Рис. 4.7. Автозаполнение для структурированных ссылок
Использование абсолютных структурированных ссылок
Абсолютные и относительные ссылки – это понятия, описывающие, как Excel изменяет ссылки на ячейки при перемещении формулы в другое место на листе. При абсолютной ссылке целевая ячейка не изменяется при перемещении формулы. При относительной ссылке цель перемещается точно так же, как перемещается формула. Например, при традиционной ссылке A1 размещение знака доллара ($) перед буквой столбца и номером строки устанавливает эту ссылку в качестве абсолютной – $A$1. Независимо от того, куда перемещается формула, ссылка всегда будет ссылаться на A1. Ссылка может быть смешанной. В этом случае знак $ стоит только перед буквой столбца, или только перед числом строки.
Структурированные ссылки являются относительными. Что касается строк, то структурированные ссылки — и таблицы в целом — не поддерживают понятие конкретных строк. Так что при протаскивании вдоль столбца корректность формулы сохраняется.
Вы можете перемещать или копировать формулы из одного столбца в другой несколькими способами:
- Копирование / вставка – структурированные ссылки не изменяются при перемещении в другие столбцы.
- Протаскивание формулы – структурированные ссылки изменяются, когда они перемещаются в другие столбцы.
- Формулы массива – структурированные ссылки не изменяются при перемещении в другие столбцы.
Excel не предоставляет очевидного способа сделать структурированную ссылку абсолютной. Однако можно использовать несколько приемов. Один из трюков заключается в использовании функций СМЕЩ или ДВССЫЛ. Однако, это влечет за собой ряд проблем.
Существует способ создания абсолютных структурированных ссылок без дополнительных формул. Можно использовать многоколоночную структурированную ссылку, предназначенную для одного столбца:
Таблица1[[Столбец1]:[Столбец1]]
Такая запись эквивалентна традиционной ссылке $A1. В отличие от стандартных ссылок на ячейки, вы не можете переключать абсолютный/относительный синтаксис с помощью клавиши F4.
В следующем примере показана работа абсолютных ссылок. Исходная таблица "
tblData"
:
Рис. 4.8. Исходная таблица
Вы хотите суммировать все Units по кварталам, регионам и цветам, используя следующий макет в таблице "
tblSum"
:
Рис. 4.9. Макет обобщающей таблицы
В ячейке В2 вы хотите прописать формулу, которую можно скопировать на все ячейки таблицы. Напомним, что копирование вдоль столбца поддерживается стандартным функционалом Таблиц. А вот для копирования из столбца в столбец воспользуйтесь следующей формулой:
=СУММЕСЛИ(tblData[[Color]:[Color]];tblSum[[Color]:[Color]];tblData[Q1 Units])
Здесь:
tblData[[Color]:[Color]] – это диапазон для сравнения с критерием. Поскольку это ссылка на несколько столбцов (даже если имеется ссылка только на один столбец), она не будет смещаться при копировании формулы из столбца в столбец. Поскольку функция СУММЕСЛИ ожидает диапазон для этого параметра, используется весь столбец.
tblSum[[Color]:[Color]] – это ячейки, содержащие критерии, используемые для сравнения с первым диапазоном. Это ссылка на несколько столбцов и не будет смещаться. Поскольку функция ожидает одно значение для этого параметра, используется только значение ячейки в той же строке, которая содержит формулу.
tblData[Q1 Units] – это диапазон для суммирования, если критерии удовлетворяются в этой строке. Это ссылка на один столбец, и поэтому она будет смещаться по мере копирования формулы.
Помещая формулу в ячейку B2 таблицы "
tblSum"
и используя маркер заполнения для копирования ее в другие три столбца, вы получите следующие формулы:
=СУММЕСЛИ(tblData[[Color]:[Color]];tblSum[[Color]:[Color]];tblData[Q1 Units])
=СУММЕСЛИ(tblData[[Color]:[Color]];tblSum[[Color]:[Color]];tblData[Q2 Units])
=СУММЕСЛИ(tblData[[Color]:[Color]];tblSum[[Color]:[Color]];tblData[Q3 Units])
=СУММЕСЛИ(tblData[[Color]:[Color]];tblSum[[Color]:[Color]];tblData[Q4 Units])
Обратите внимание, что первые две аргумента в каждой из четырех формул не меняются.
Рис. 4.10. Заполненная обобщающая таблица
Отключение структурированных ссылок
Чтобы отключить использование структурированных ссылок пройдите по меню Файл –> Параметры. Перейдите на вкладку Формулы и снимите галочку напротив опции Использовать имена таблиц в формулах.
Рис. 4.11. Отключение структурированных ссылок в окне Параметры Excel; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке
Операторы структурированных ссылок
Операторы структурированных ссылок аналогичны операторам стандартных ссылок:
- Двоеточие (:) – это оператор диапазона, который объединяет все, что находится между двумя ссылками и включает их.
- Точка с запятой (;) – это оператор объединения, который соединяет все, что указано в двух ссылках.
- Пробел ( ) – это оператор пересечения, который возвращает всё что находится на пересечении двух ссылок.
В следующей таблице приведены некоторые примеры использования операторов. Имя таблицы – "
Table1"
, заголовок таблицы находится в строке 1, а диапазон тела данных начинается в строке 2 и заканчивается в строке 20. Столбцы расположены в следующем порядке: А – "
OrderDate"
, В – "
Region"
, С – "
Rep"
, D – "
Item"
, E – "
Cost"
, F – "
Units"
.
Рис. 4.12. Примеры операторов структурированных ссылок
Специальные символы, используемые в структурированных ссылках
Если имя столбца содержит любой из следующих специальных символов, то оно должно быть заключено в дополнительный набор квадратных скобок:
Рис. 4.13. Специальные символы в имени столбца, требующие дополнительных квадратных скобок
Например, =Web_Table[@OrderDate], но =Web_Table[@[Order Date]]
Более того, некоторые символы имеют особое значение в структурированных ссылках, поэтому, если они используются в именах столбцов, требуют наличия escape-символа – апострофа ('
):
- левая квадратная скобка ([);
- правая квадратная скобка (]);
- решетка (#);
- апостроф (
'
).
Например, если имя столбца, Order [Date], то ссылка на него будет иметь вид
=Web_Table[@[Order '
[Date'
]]]
Динамические ссылки
Динамические ссылки используются для создания именованных диапазонов, которые являются динамическими (т.е. изменяются в зависимости от условий) и могут использоваться в списках условного форматирования и проверки. Рассмотрим пример создания именованного динамического диапазона, который используется в списке проверки на основе столбца в таблице:
Шаг 1. Создайте новую таблицу и назовите ее "
tblValues"
. Назовите один из столбцов "
Value"
и введите в него два или более уникальных значения.
Шаг 2. Выберите часть диапазона области данных столбца "
Value"
. Если отображаются строки заголовка или итога, не выделяйте их; выберите только диапазон тела данных столбца.
Вы можете переместить курсор мыши на верхний край заголовка столбца таблицы (а не на заголовок листа), чтобы превратить курсор в жирную стрелку вниз. Вы можете щелкнуть, чтобы выбрать весь столбец диапазона области данных таблицы (исключая заголовок и итоговые строки). Вы можете щелкнуть еще раз, чтобы выбрать столбец таблицы, включая строки заголовка и итога. Последующие щелчки переключаются между этими двумя выборами.
Шаг 3. Пройдите по меню Формулы –> Диспетчер имен (или используйте сочетание клавиш Ctrl+F3), чтобы открыть диалоговое окно Диспетчер имен.
Рис. 4.14. Диалоговое окно Диспетчер имен
Шаг 4. Нажмите кнопку Создать, чтобы открыть диалоговое окно Создание имени.
Рис. 4.15. Диалоговое окно Создание имени
Шаг 5. Введите "
ValidValues"
в текстовое поле Имя. Обратите внимание, что структурированная ссылка на столбец таблицы "
Value"
уже введена в поле Диапазон: =tblValues[Value]. Нажмите OK. Вы вернетесь в окно Диспетчер имен. Нажмите Закрыть.
Шаг 6. Выберите ячейку, к которой должен быть применен список проверки, и пройдите по меню Данные –> Работа с данными –> Проверка данных. Откроется окно Проверка вводимых значений (рис. 4.16). Выберите "
Cписок"
в поле Тип данных. Введите "
=ValidValues"
в поле Источник. Нажмите ОК.
Рис. 4.16. Создание списка проверки с использованием именованной динамической ссылки
Список проверки, содержащий значения из столбца таблицы "
Value"
, теперь находится в выбранной ячейке:
Рис. 4.17. Список проверки
Использование текущего номера строки
Следующая формула отображает номер строки в таблице, где номер строки относится к первой строке таблицы, а не к номеру строки листа:
=СТРОКА()-СТРОКА(tblNumber[[#Заголовки];[Номер]])
Рис. 4.18. Формула номера строки Таблицы
Номер строки также может быть полезен, когда вы ссылаетесь на ту же строку в другой таблице. Формула работает путем вычитания номера строки листа, в котором находится заголовок таблицы, из номера строки листа, в котором находится формула.
Нарастающий итог
Следующая формула отображает нарастающий итог другого столбца в той же таблице:
=СУММ(tblNumber[[#Заголовки];[Итого]]:[@Итого])
Рис. 4.19. Нарастающий итог
Эта формула предполагает, что строка заголовка включена; функция СУММ игнорирует текстовое значение в заголовке. Если строка заголовка указанного столбца не включена, приведенная выше формула вернет ошибку #ССЫЛКА! Чтобы избежать этого, можно усовершенствовать формулу:
=СУММ(ИНДЕКС([Итого];1):[@Итого])
Рис. 4.20. Нарастающий итог, работающий при отключенных именах столбцов
Этот пример можно реализовать с помощью стандартной ссылки =СУММ(D$2:D2). Вы используете абсолютную ссылку на строку, чтобы зафиксировать начало диапазона, в то время как вторая часть смещается по мере копирования формулы вниз по строкам. Однако такой подход даст сбой при добавлении новых строк в таблицу. Excel допускает ошибку, искажая ссылку в предпоследней строке (рис. 4.21). Корректная формула должна быть такой =СУММ($D$4:D10).
Рис. 4.21. Ошибка Excel
Если суммы, используемые для расчета нарастающего итога, находятся в двух столбцах, один для дебета, другой – для кредита, то формула выглядит следующим образом:
=СУММ(ИНДЕКС([Credit];1):[@Credit])-СУММ(ИНДЕКС([Debit];1):[@Debit])
Использование структурированных ссылок может оказать негативное влияние на производительность вычислений в больших наборах данных (свыше 100 000 строк). Если это критично, можно заменить структурированные ссылки обычными.