Excel формулы с ссылкой на другую таблицу

Содержание

  • 1 Создание различных типов ссылок
    • 1.1 Способ 1: создание ссылок в составе формул в пределах одного листа
    • 1.2 Способ 2: создание ссылок в составе формул на другие листы и книги
    • 1.3 Способ 3: функция ДВССЫЛ
    • 1.4 Способ 4: создание гиперссылок
    • 1.5 Помогла ли вам эта статья?
  • 2 Абсолютная и относительная ссылка на ячейку в Excel
  • 3 Ссылка на другой лист в Excel
  • 4 Ссылка на файл или гиперссылка в Excel

как сделать ссылку на таблицу в excel

Ссылки — один из главных инструментов при работе в Microsoft Excel. Они являются неотъемлемой частью формул, которые применяются в программе. Иные из них служат для перехода на другие документы или даже ресурсы в интернете. Давайте выясним, как создать различные типы ссылающихся выражений в Экселе.

Создание различных типов ссылок

Сразу нужно заметить, что все ссылающиеся выражения можно разделить на две большие категории: предназначенные для вычислений в составе формул, функций, других инструментов и служащие для перехода к указанному объекту. Последние ещё принято называть гиперссылками. Кроме того, ссылки (линки) делятся на внутренние и внешние. Внутренние – это ссылающиеся выражения внутри книги. Чаще всего они применяются для вычислений, как составная часть формулы или аргумента функции, указывая на конкретный объект, где содержатся обрабатываемые данные. В эту же категорию можно отнести те из них, которые ссылаются на место на другом листе документа. Все они, в зависимости от их свойств, делятся на относительные и абсолютные.

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

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

Способ 1: создание ссылок в составе формул в пределах одного листа

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

Простейшее ссылочное выражение выглядит таким образом:

=A1

как сделать ссылку на таблицу в excel

Обязательным атрибутом выражения является знак «=». Только при установке данного символа в ячейку перед выражением, оно будет восприниматься, как ссылающееся. Обязательным атрибутом также является наименование столбца (в данном случае A) и номер столбца (в данном случае 1).

Выражение «=A1» говорит о том, что в тот элемент, в котором оно установлено, подтягиваются данные из объекта с координатами A1.

Если мы заменим выражение в ячейке, где выводится результат, например, на «=B5», то в неё будет подтягиваться значения из объекта с координатами B5.

как сделать ссылку на таблицу в excel

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

=A1+B5

Клацнем по кнопке Enter. Теперь, в том элементе, где расположено данное выражение, будет производиться суммирование значений, которые размещены в объектах с координатами A1 и B5.

как сделать ссылку на таблицу в excel

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

Чтобы записать отдельную ссылку или в составе формулы, совсем не обязательно вбивать её с клавиатуры. Достаточно установить символ «=», а потом клацнуть левой кнопкой мыши по тому объекту, на который вы желаете сослаться. Его адрес отобразится в том объекте, где установлен знак «равно».

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

Выражение R1C1 равнозначно A1, а R5C2 – B5. То есть, в данном случае, в отличие от стиля A1, на первом месте стоят координаты строки, а столбца – на втором.

Оба стиля действуют в Excel равнозначно, но шкала координат по умолчанию имеет вид A1. Чтобы её переключить на вид R1C1 требуется в параметрах Excel в разделе «Формулы» установить флажок напротив пункта «Стиль ссылок R1C1».

как сделать ссылку на таблицу в excel

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

=RC

как сделать ссылку на таблицу в excel

Если же записать выражение вручную, то оно примет обычный вид R1C1.

как сделать ссылку на таблицу в excel

В первом случае был представлен относительный тип (=RC), а во втором (=R1C1) – абсолютный. Абсолютные линки ссылаются на конкретный объект, а относительные – на положение элемента, относительно ячейки.

Если вернутся к стандартному стилю, то относительные линки имеют вид A1, а абсолютные $A$1. По умолчанию все ссылки, созданные в Excel, относительные. Это выражается в том, что при копировании с помощью маркера заполнения значение в них изменяется относительно перемещения.

  1. Чтобы посмотреть, как это будет выглядеть на практике, сошлемся на ячейку A1. Устанавливаем в любом пустом элементе листа символ «=» и клацаем по объекту с координатами A1. После того, как адрес отобразился в составе формулы, клацаем по кнопке Enter.
  2. Наводим курсор на нижний правый край объекта, в котором отобразился результат обработки формулы. Курсор трансформируется в маркер заполнения. Зажимаем левую кнопку мыши и протягиваем указатель параллельно диапазону с данными, которые требуется скопировать.
  3. После того, как копирование было завершено, мы видим, что значения в последующих элементах диапазона отличаются от того, который был в первом (копируемом) элементе. Если выделить любую ячейку, куда мы скопировали данные, то в строке формул можно увидеть, что и линк был изменен относительно перемещения. Это и есть признак его относительности.

как сделать ссылку на таблицу в excel

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

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

как сделать ссылку на таблицу в excel

Кроме абсолютных и относительных, существуют ещё смешанные линки. В них знаком доллара отмечены либо только координаты столбца (пример: $A1),

как сделать ссылку на таблицу в excel

либо только координаты строки (пример: A$1).

как сделать ссылку на таблицу в excel

Знак доллара можно вносить вручную, нажав на соответствующий символ на клавиатуре ($). Он будет высвечен, если в английской раскладке клавиатуры в верхнем регистре кликнуть на клавишу «4».

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

В Excel сослаться можно не только на конкретную ячейку, но и на целый диапазон. Адрес диапазона выглядит как координаты верхнего левого его элемента и нижнего правого, разделенные знаком двоеточия (:). К примеру, диапазон, выделенный на изображении ниже, имеет координаты A1:C5.

как сделать ссылку на таблицу в excel

Соответственно линк на данный массив будет выглядеть как:

=A1:C5

Урок: Абсолютные и относительные ссылки в Майкрософт Эксель

Способ 2: создание ссылок в составе формул на другие листы и книги

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

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

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

Так линк на ячейку на Листе 2 с координатами B4 будет выглядеть следующим образом:

=Лист2!B4

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

  1. Устанавливаем знак «=» в элементе, который будет содержать ссылающееся выражение. После этого с помощью ярлыка над строкой состояния переходим на тот лист, где расположен объект, на который требуется сослаться.
  2. После перехода выделяем данный объект (ячейку или диапазон) и жмем на кнопку Enter.
  3. После этого произойдет автоматический возврат на предыдущий лист, но при этом будет сформирована нужная нам ссылка.

как сделать ссылку на таблицу в excel

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

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

Если нужно сослаться на объект с адресом C9, расположенный на Листе 2 в запущенной книге под названием «Excel.xlsx», то следует записать следующее выражение в элемент листа, куда будет выводиться значение:

=Лист2!C9

Если же вы планируете работать с закрытым документом, то кроме всего прочего нужно указать и путь его расположения. Например:

='D:Новая папкаЛист2'!C9

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

  1. Ставим символ «=» в той ячейке, где будет расположено ссылающееся выражение.
  2. Затем открываем книгу, на которую требуется сослаться, если она не запущена. Клацаем на её листе в том месте, на которое требуется сослаться. После этого кликаем по Enter.
  3. Происходит автоматический возврат к предыдущей книге. Как видим, в ней уже проставлен линк на элемент того файла, по которому мы щелкнули на предыдущем шаге. Он содержит только наименование без пути.
  4. Но если мы закроем файл, на который ссылаемся, линк тут же преобразится автоматически. В нем будет представлен полный путь к файлу. Таким образом, если формула, функция или инструмент поддерживает работу с закрытыми книгами, то теперь, благодаря трансформации ссылающегося выражения, можно будет воспользоваться этой возможностью.

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

Способ 3: функция ДВССЫЛ

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

=ДВССЫЛ(ссылка;a1)

«Ссылка» — это аргумент, ссылающийся на ячейку в текстовом виде (обернут кавычками);

«A1» — необязательный аргумент, который определяет, в каком стиле используются координаты: A1 или R1C1. Если значение данного аргумента «ИСТИНА», то применяется первый вариант, если «ЛОЖЬ» — то второй. Если данный аргумент вообще опустить, то по умолчанию считается, что применяются адресация типа A1.

  1. Отмечаем элемент листа, в котором будет находиться формула. Клацаем по пиктограмме «Вставить функцию».
  2. В Мастере функций в блоке «Ссылки и массивы» отмечаем «ДВССЫЛ». Жмем «OK».
  3. Открывается окно аргументов данного оператора. В поле «Ссылка на ячейку» устанавливаем курсор и выделяем кликом мышки тот элемент на листе, на который желаем сослаться. После того, как адрес отобразился в поле, «оборачиваем» его кавычками. Второе поле («A1») оставляем пустым. Кликаем по «OK».
  4. Результат обработки данной функции отображается в выделенной ячейке.

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

Урок: Функция ДВССЫЛ в Майкрософт Эксель

Способ 4: создание гиперссылок

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

  1. Существует три варианта перехода к окну создания гиперссылок. Согласно первому из них, нужно выделить ячейку, в которую будет вставлена гиперссылка, и кликнуть по ней правой кнопкой мыши. В контекстном меню выбираем вариант «Гиперссылка…».

    Вместо этого можно, после выделения элемента, куда будет вставлена гиперссылка, перейти во вкладку «Вставка». Там на ленте требуется щелкнуть по кнопке «Гиперссылка».

    Также после выделения ячейки можно применить нажатие клавиш CTRL+K.

  2. После применения любого из этих трех вариантов откроется окно создания гиперссылки. В левой части окна существует возможность выбора, с каким объектом требуется связаться:
    • С местом в текущей книге;
    • С новой книгой;
    • С веб-сайтом или файлом;
    • С e-mail.
  3. По умолчанию окно запускается в режиме связи с файлом или веб-страницей. Для того, чтобы связать элемент с файлом, в центральной части окна с помощью инструментов навигации требуется перейти в ту директорию жесткого диска, где расположен нужный файл, и выделить его. Это может быть как книга Excel, так и файл любого другого формата. После этого координаты отобразятся в поле «Адрес». Далее для завершения операции следует нажать на кнопку «OK».

    Если имеется потребность произвести связь с веб-сайтом, то в этом случае в том же разделе окна создания гиперссылки в поле «Адрес» нужно просто указать адрес нужного веб-ресурса и нажать на кнопку «OK».

    Если требуется указать гиперссылку на место в текущей книге, то следует перейти в раздел «Связать с местом в документе». Далее в центральной части окна нужно указать лист и адрес той ячейки, с которой следует произвести связь. Кликаем по «OK».

    Если нужно создать новый документ Excel и привязать его с помощью гиперссылки к текущей книге, то следует перейти в раздел «Связать с новым документом». Далее в центральной области окна дать ему имя и указать его местоположение на диске. Затем кликнуть по «OK».

    При желании можно связать элемент листа гиперссылкой даже с электронной почтой. Для этого перемещаемся в раздел «Связать с электронной почтой» и в поле «Адрес» указываем e-mail. Клацаем по «OK».

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

Кроме того, гиперссылку можно сгенерировать с помощью встроенной функции, имеющей название, которое говорит само за себя – «ГИПЕРССЫЛКА».

Данный оператор имеет синтаксис:

=ГИПЕРССЫЛКА(адрес;имя)

«Адрес» — аргумент, указывающий адрес веб-сайта в интернете или файла на винчестере, с которым нужно установить связь.

«Имя» — аргумент в виде текста, который будет отображаться в элементе листа, содержащем гиперссылку. Этот аргумент не является обязательным. При его отсутствии в элементе листа будет отображаться адрес объекта, на который функция ссылается.

  1. Выделяем ячейку, в которой будет размещаться гиперссылка, и клацаем по иконке «Вставить функцию».
  2. В Мастере функций переходим в раздел «Ссылки и массивы». Отмечаем название «ГИПЕРССЫЛКА» и кликаем по «OK».
  3. В окне аргументов в поле «Адрес» указываем адрес на веб-сайт или файл на винчестере. В поле «Имя» пишем текст, который будет отображаться в элементе листа. Клацаем по «OK».
  4. После этого гиперссылка будет создана.

Урок: Как сделать или удалить гиперссылки в Экселе

Мы выяснили, что в таблицах Excel существует две группы ссылок: применяющиеся в формулах и служащие для перехода (гиперссылки). Кроме того, эти две группы делятся на множество более мелких разновидностей. Именно от конкретной разновидности линка и зависит алгоритм процедуры создания.

Мы рады, что смогли помочь Вам в решении проблемы.

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

Помогла ли вам эта статья?

Да Нет

Гиперссылки широко используются в Интернете для навигации по сайтам и документам. Работая с файлами Excel вы также можете создавать гиперссылки, как на интернет-ресурсы, так и на ячейки, файлы или форму отправку Email.

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

Excel позволяет создавать гиперссылки для:

  • Перехода в определенное место в текущей книге;
  • Открытия другого документа или перехода к определенному месту в этом документе, например лист в файле Excel или закладке в документе Word;
  • Перехода на веб-страницу в Интернете;
  • Создания нового файла Excel;
  • Отправки сообщения электронной почты по указанному адресу.

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

В Excel существует два типа гиперссылок: абсолютные и относительные.

Абсолютные гиперссылки содержат в себе полный интернет-адрес или полный путь на компьютере. Например:

“https://excelhack.ru/funkciya-rept-povtor-v-excel/”

C:DesktopПрезентации

Относительные ссылки содержат в себе частичный путь, например:

funkciya-rept-povtor-v-excel/

DesktopПрезентации

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

Чтобы создать гиперссылку проделайте следующие шаги:

  • Выделите ячейку, в которой вы хотите создать гиперссылку;
  • Нажмите правую клавишу мыши;
  • В выпадающем меню выберите пункт “Ссылка”:
  • В диалоговом окне выберите файл или введите веб-адрес ссылки в поле “Адрес”:
  • Нажмите “ОК”

Ниже, мы подробней разберем как создать гиперссылку:

  • На другой документ;
  • На веб-страницу;
  • На конкретную область в текущем документе;
  • На новую рабочую книгу Excel;
  • На окно отправки Email.

Чтобы указать гиперссылку на другой документ, например Excel, Word или Powerpoint файлы:

  • Откройте диалоговое окно для создания гиперссылки;
  • В разделе “Связать с” выберите “Файлом, веб-страницей”;
  • В поле “Искать в” выберите папку, в которой лежит файл, на который вы хотите создать ссылку;
  • В поле “Текст” введите текст, который будет отображаться в качестве ссылки;
  • Нажмите “ОК”.

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

Чтобы указать гиперссылку веб-страницу:

  • Откройте диалоговое окно для создания гиперссылки;
  • В разделе “Связать с” выберите пункт “Файлом, веб-страницей”;
  • Нажмите на кнопку “Интернет”;
  • Введите адрес веб-страницы в поле “Адрес”;
  • В поле “Текст” укажите текст, отображаемый в виде ссылки.

Для создания гиперссылки на конкретный лист текущего файла Excel или ячейки:

  • Откройте диалоговое окно для создания гиперссылки;
  • В левой колонке диалогового окна под надписью “Связать с” выберите “Файлом, веб-страницей”;
  • В диалоговом окне нажмите кнопку “Закладка…” и выберите лист создания ссылки. В поле “Введите адрес ячейки” укажите ячейку.

Для вставки гиперссылки, после нажатия на которую будет создан новый Excel-файл:

  • Откройте диалоговое окно для создания гиперссылки;
  • В левой колонке диалогового окна под надписью “Связать с” выберите “Новый документ”;
  • В поле “Текст” укажите текст ссылки;
  • В поле “Имя нового документа” укажите название нового Excel-файла;
  • В поле “Путь” укажите место хранения, где будет сохранен новый файл;
  • В поле “Когда вносить правку в новый документ” укажите настройку, когда следует приступить к редактированию нового файла после нажатия ссылки.
  • Нажмите кнопку “ОК”

Для вставки гиперссылки, после нажатия на которую будет создан e-mail:

  • Откройте диалоговое окно для создания гиперссылки;
  • В левой колонке диалогового окна под надписью “Связать с” выберите “Электронная почта”;
  • В поле “Текст” укажите текст ссылки;
  • В поле “Адрес эл. почты” укажите E-mail адрес, куда будет отправлено письмо;
  • В поле “Тема” укажите тему создаваемого письма;
  • Нажмите кнопку “ОК”

Как редактировать гиперсcылку в Excel

Для редактирования уже созданной гиперссылки, кликните по ячейке с ссылкой правой клавишей мыши и в выпадающем меню выберите “Edit Hyperlink”.

В диалоговом окне внесите корректировки в ссылку.

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

  • Перейдите на вкладку панели инструментов “Главная”, затем в раздел “Стили ячеек”:
  • Кликните на “Гиперссылка” правой кнопкой мыши и выберите пункт “Изменить” для редактирования формата ссылки:
  • Кликните на “Открывавшаяся гиперссылка” правой кнопкой мы и выберите пункт “Изменить” для редактирования формата ссылки;
  • В диалоговом окне “Стили” нажмите кнопку “Формат”:
  •  диалоговом окне “Format Cells” перейдите на вкладки “Шрифт” и/или “Заливка” для настройки формата ссылок:
  • Нажмите кнопку “ОК”.

Удаление гиперссылки осуществляется в два клика:

  • Нажмите правой клавишей мыши на ячейки с ссылкой;
  • В выпадающем меню выберите пункт “Удалить гиперссылку”.

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

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

Относительная ссылка позволяет изменять адрес ячеек по строкам и столбцам при копировании формулы в другое место документа. То есть, если скопировать формулу из ячейки А3 в ячейку С3, то для расчета суммы возьмутся новые адреса ячеек: С1 и С2.

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

Рассмотрим следующий пример. Есть таблица, в которую внесены: наименование товара, его цена и количество проданных единиц. Посчитаем итоговую сумму для каждой единицы. В ячейку D6 пишем формулу: =В6*С6. Как видите, ссылки на ячейки в формуле относительные.

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

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

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

Чтобы сделать абсолютную ссылку на ячейку в Excel, нужно добавить знак «$» в адрес ячейки перед названием столбца и строки. Или же поставить курсор в строке формул после адреса нужной ячейки и нажать «F4». В примере, для расчета суммы в ячейке А3,   используется теперь абсолютная ссылка на ячейку А1.

Давайте посчитаем сумму для ячеек D1 и D2. В ячейку D3 скопируем формулу из А3. Как видите, результат вместо 24 – 25. Все из-за того, что в формуле была использована абсолютная ссылка на ячейку $A$1. Поэтому в расчете использовались не ячейки D1 и D2, а ячейки $A$1 и D2.

Рассмотрим для примера такую таблицу: есть наименование товара и его себестоимость. Чтобы определить цену товара для продажи, нужно посчитать НДС. НДС – 20%, и значение написано в ячейке В9. Вписываем формулу для расчета в ячейку С6.

Если мы скопируем формулу в остальные ячейки, то не получим результат. Так как в расчете будут использоваться ячейки В10 и В11, которые не заполнены значениями.

В этом случае, нужно использовать абсолютную ссылку на ячейку $В$9, чтобы для расчета формулы всегда бралось значение из этой ячейки. Теперь расчеты правильные.

Если в строке формул поставить курсор после адреса ячейки и нажать «F4» второй и третий раз, то получится смешанная ссылка в Excel. В этом случае, при копировании может не изменяться или строка – А$1, или столбец – $А1.

Ссылка на другой лист в Excel

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

Ссылка на ячейку с другого листа в формуле будет выглядеть следующим образом: Лист1!А1 – название листа, знак восклицания, адрес ячейки. Если в названии листа используются пробелы, то его нужно взять в одинарные кавычки: ‘Итоговые суммы’ – ‘Итоговые суммы’!А1.

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

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

Возвращаемся на Лист1. В ячейку С6 пишем формулу для расчета НДС: ставим «=», затем выделяем ячейку В6 и делаем ссылку на ячейку В1 с другого листа.

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

Если изменить название листа Все константы на Все константы1111, то оно автоматически поменяется и в формуле. Точно также, если на листе Все константы изменить значение в ячейке В1 с 20% на 22%, то формула будет пересчитана.

Для того чтобы сделать ссылку на другую книгу Excel в формуле, возьмите ее название в квадратные скобки. Например, сделаем ссылку в ячейке А1 в книге с названием Книга1 на ячейку А3 из книги с названием Ссылки. Для этого ставим в ячейку А1 «=», в квадратных скобках пишем название книги с расширением, затем название листа из этой книги, ставим «!» и адрес ячейки.

Книга, на которую мы ссылаемся, должна быть открыта.

Ссылка на файл или гиперссылка в Excel

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

Выделите ячейку, в которую необходимо вставить гиперссылку. Это может быть как число, так и текст или рассчитанная формула, или пустая ячейка. Перейдите на вкладку «Вставка» и кликните по кнопочке «Гиперссылка».

Сделаем ссылку на другую книгу Эксель. В поле «Связать с» выбираем «файлом, веб-страницей». Найдите нужную папку на компьютере и выделите файл. В поле «Текст» можно изменить надпись, которая будет отображаться в ячейке – это только в том случае, если ячейка изначально была пустая. Нажмите «ОК».

Теперь при нажатии на созданную гиперссылку будет открываться книга Excel с названием Список.

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

Вы применяли функцию ВПР, чтобы переместить данные столбца из одной таблицы в другой? Так как в Excel теперь есть встроенная модель данных, функция ВПР устарела. Вы можете создать связь между двумя таблицами на основе совпадающих данных в них. Затем можно создать листы Power View или сводные таблицы и другие отчеты с полями из каждой таблицы, даже если они получены из различных источников. Например, если у вас есть данные о продажах клиентам, вам может потребоваться импортировать и связать данные логики операций со временем, чтобы проанализировать тенденции продаж по годам и месяцам.

Все таблицы в книге указываются в списках полей сводной таблицы и Power View.

Браузер не поддерживает видео.

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

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

  2. Вы можете отформатировать данные как таблицу или импортировать внешние данные в виде таблицы на новом.

  3. Присвойте каждой из таблиц понятное имя: На вкладке Работа с таблицами щелкните Конструктор > Имя таблицы и введите имя.

  4. Убедитесь, что столбец в одной из таблиц имеет уникальные значения без дубликатов. Excel может создавать связи только в том случае, если один столбец содержит уникальные значения.

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

  5. Щелкните Данные> Отношения.

Если команда Отношения недоступна, значит книга содержит только одну таблицу.

  1. В окне Управление связями нажмите кнопку Создать.

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

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

  4. В поле Связанная таблица выберите таблицу, содержащую хотя бы один столбец данных, которые связаны с таблицей, выбранной в поле Таблица.

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

  6. Нажмите кнопку ОК.

Дополнительные сведения о связях между таблицами в Excel

  • Примечания о связях

  • Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании

  • «Могут потребоваться связи между таблицами»

    • Шаг 1. Определите, какие таблицы указать в связи

    • Шаг 2. Найдите столбцы, которые могут быть использованы для создания пути от одной таблицы к другой

Примечания о связях

  • Вы узнаете, существуют ли связи, при перетаскивании полей из разных таблиц в список полей сводной таблицы. Если вам не будет предложено создать связь, то в Excel уже есть сведения, необходимые для связи данных.

  • Создание связей аналогично использованию VLOOKUP: вам нужны столбцы, содержащие совпадающие данные, чтобы Excel могли ссылаться на строки в одной таблице с строками из другой таблицы. В примере со временем в таблице Customer должны быть значения дат, которые также существуют в таблице аналитики времени.

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

  • Типы данных в двух столбцах должны быть совместимы. Подробные сведения см. в статье Типы данных в моделях данных.

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

Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании

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

  1. Запустите надстройку Power Pivot в Microsoft Excel и откройте окно Power Pivot.

  2. Нажмите Получение внешних данных > Из службы данных > Из Microsoft Azure Marketplace. В мастере импорта таблиц откроется домашняя страница Microsoft Azure Marketplace.

  3. В разделе Price (Цена) нажмите Free (Бесплатно).

  4. В разделе Category (Категория) нажмите Science & Statistics (Наука и статистика).

  5. Найдите DateStream и нажмите кнопку Subscribe (Подписаться).

  6. Введите свои учетные данные Майкрософт и нажмите Sign in (Вход). Откроется окно предварительного просмотра данных.

  7. Прокрутите вниз и нажмите Select Query (Запрос на выборку).

  8. Нажмите кнопку Далее.

  9. Чтобы импортировать данные, выберите BasicCalendarUS и нажмите Готово. При быстром подключении к Интернету импорт займет около минуты. После выполнения вы увидите отчет о состоянии перемещения 73 414 строк. Нажмите Закрыть.

  10. Чтобы импортировать второй набор данных, нажмите Получение внешних данных > Из службы данных > Из Microsoft Azure Marketplace.

  11. В разделе Type (Тип) нажмите Data Данные).

  12. В разделе Price (Цена) нажмите Free (Бесплатно).

  13. Найдите US Air Carrier Flight Delays и нажмите Select (Выбрать).

  14. Прокрутите вниз и нажмите Select Query (Запрос на выборку).

  15. Нажмите кнопку Далее.

  16. Нажмите Готово для импорта данных. При быстром подключении к Интернету импорт займет около 15 минут. После выполнения вы увидите отчет о состоянии перемещения 2 427 284 строк. Нажмите Закрыть. Теперь у вас есть две таблицы в модели данных. Чтобы связать их, нужны совместимые столбцы в каждой таблице.

  17. Убедитесь, что значения в столбце DateKey в таблице BasicCalendarUS указаны в формате 01.01.2012 00:00:00. В таблице On_Time_Performance также есть столбец даты и времени FlightDate, значения которого указаны в том же формате: 01.01.2012 00:00:00. Два столбца содержат совпадающие данные одинакового типа и по крайней мере один из столбцов (DateKey) содержит только уникальные значения. В следующих действиях вы будете использовать эти столбцы, чтобы связать таблицы.

  18. В окне Power Pivot нажмите Сводная таблица, чтобы создать сводную таблицу на новом или существующем листе.

  19. В списке полей разверните таблицу On_Time_Performance и нажмите ArrDelayMinutes, чтобы добавить их в область значений. В сводной таблице вы увидите общее время задержанных рейсов в минутах.

  20. Разверните таблицу BasicCalendarUS и нажмите MonthInCalendar, чтобы добавить его в область строк.

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

  22. В списке полей, в разделе «Могут потребоваться связи между таблицами» нажмите Создать.

  23. В поле «Связанная таблица» выберите On_Time_Performance, а в поле «Связанный столбец (первичный ключ)» — FlightDate.

  24. В поле «Таблица» выберитеBasicCalendarUS, а в поле «Столбец (чужой)» — DateKey. Нажмите ОК для создания связи.

  25. Обратите внимание, что время задержки в настоящее время отличается для каждого месяца.

  26. В таблице BasicCalendarUS перетащите YearKey в область строк над пунктом MonthInCalendar.

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

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

  1. Таблица BasicCalendarUS должна быть открыта в окне Power Pivot.

  2. В главной таблице нажмите Сортировка по столбцу.

  3. В поле «Сортировать» выберите MonthInCalendar.

  4. В поле «По» выберите MonthOfYear.

Сводная таблица теперь сортирует каждую комбинацию «месяц и год» (октябрь 2011, ноябрь 2011) по номеру месяца в году (10, 11). Изменить порядок сортировки несложно, потому что канал DateStream предоставляет все необходимые столбцы для работы этого сценария. Если вы используете другую таблицу логики операций со временем, ваши действия будут другими.

«Могут потребоваться связи между таблицами»

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

Кнопка "Создать", отображаемая при необходимости создать связь

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

Шаг 1. Определите, какие таблицы указать в связи

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

Представление диаграммы, в котором показаны несвязанные таблицы

Примечание:  Можно создавать неоднозначные связи, которые являются недопустимыми при использовании в сводной таблице или отчете Power View. Пусть все ваши таблицы связаны каким-то образом с другими таблицами в модели, но при попытке объединения полей из разных таблиц вы получите сообщение «Могут потребоваться связи между таблицами». Наиболее вероятной причиной является то, что вы столкнулись со связью «многие ко многим». Если вы будете следовать цепочке связей между таблицами, которые подключаются к необходимым для вас таблицам, то вы, вероятно, обнаружите наличие двух или более связей «один ко многим» между таблицами. Не существует простого обходного пути, который бы работал в любой ситуации, но вы можете попробоватьсоздать вычисляемые столбцы, чтобы консолидировать столбцы, которые вы хотите использовать в одной таблице.

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

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

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

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

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

  • Типы данных столбца подстановок и исходного столбца должны быть совместимы. Подробнее о типах данных см. в статье Типы данных в моделях данных.

Подробнее о связях таблиц см. в статье Связи между таблицами в модели данных.

К началу страницы

Содержание

  • Создание связанных таблиц
    • Способ 1: прямое связывание таблиц формулой
    • Способ 2: использование связки операторов ИНДЕКС — ПОИСКПОЗ
    • Способ 3: выполнение математических операций со связанными данными
    • Способ 4: специальная вставка
    • Способ 5: связь между таблицами в нескольких книгах
  • Разрыв связи между таблицами
    • Способ 1: разрыв связи между книгами
    • Способ 2: вставка значений
  • Вопросы и ответы

Связанные таблицы в Microsoft Excel

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

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

Создание связанных таблиц

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

Способ 1: прямое связывание таблиц формулой

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

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

Таблица заработной платы в Microsoft Excel

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

Таблица со ставками сотрудников в Microsoft Excel

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

  1. На первом листе выделяем первую ячейку столбца «Ставка». Ставим в ней знак «=». Далее кликаем по ярлычку «Лист 2», который размещается в левой части интерфейса Excel над строкой состояния.
  2. Переход на второй лист в Microsoft Excel

  3. Происходит перемещения во вторую область документа. Щелкаем по первой ячейке в столбце «Ставка». Затем кликаем по кнопке Enter на клавиатуре, чтобы произвести ввод данных в ячейку, в которой ранее установили знак «равно».
  4. Связывание с ячейкой второй таблицы в Microsoft Excel

  5. Затем происходит автоматический переход на первый лист. Как видим, в соответствующую ячейку подтягивается величина ставки первого сотрудника из второй таблицы. Установив курсор на ячейку, содержащую ставку, видим, что для вывода данных на экран применяется обычная формула. Но перед координатами ячейки, откуда выводятся данные, стоит выражение «Лист2!», которое указывает наименование области документа, где они расположены. Общая формула в нашем случае выглядит так:

    =Лист2!B2

  6. Две ячейки двух таблиц связаны в Microsoft Excel

  7. Теперь нужно перенести данные о ставках всех остальных работников предприятия. Конечно, это можно сделать тем же путем, которым мы выполнили поставленную задачу для первого работника, но учитывая, что оба списка сотрудников расположены в одинаковом порядке, задачу можно существенно упростить и ускорить её решение. Это можно сделать, просто скопировав формулу на диапазон ниже. Благодаря тому, что ссылки в Excel по умолчанию являются относительными, при их копировании происходит сдвиг значений, что нам и нужно. Саму процедуру копирования можно произвести с помощью маркера заполнения.

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

  8. Маркер заполнения в Microsoft Excel

  9. Все данные из аналогичного столбца на Листе 2 были подтянуты в таблицу на Листе 1. При изменении данных на Листе 2 они автоматически будут изменяться и на первом.

Все данные столбца второй таблицы перенесены в первую в Microsoft Excel

Lumpics.ru

Способ 2: использование связки операторов ИНДЕКС — ПОИСКПОЗ

Но что делать, если перечень сотрудников в табличных массивах расположен не в одинаковом порядке? В этом случае, как говорилось ранее, одним из вариантов является установка связи между каждой из тех ячеек, которые следует связать, вручную. Но это подойдет разве что для небольших таблиц. Для массивных диапазонов подобный вариант в лучшем случае отнимет очень много времени на реализацию, а в худшем – на практике вообще будет неосуществим. Но решить данную проблему можно при помощи связки операторов ИНДЕКСПОИСКПОЗ. Посмотрим, как это можно осуществить, связав данные в табличных диапазонах, о которых шел разговор в предыдущем способе.

  1. Выделяем первый элемент столбца «Ставка». Переходим в Мастер функций, кликнув по пиктограмме «Вставить функцию».
  2. Вставить функцию в Microsoft Excel

  3. В Мастере функций в группе «Ссылки и массивы» находим и выделяем наименование «ИНДЕКС».
  4. Переход в окно аргуметов функции ИНДЕКС в Microsoft Excel

  5. Данный оператор имеет две формы: форму для работы с массивами и ссылочную. В нашем случае требуется первый вариант, поэтому в следующем окошке выбора формы, которое откроется, выбираем именно его и жмем на кнопку «OK».
  6. Выбор формы функции ИНДЕКС в Microsoft Excel

  7. Выполнен запуск окошка аргументов оператора ИНДЕКС. Задача указанной функции — вывод значения, находящегося в выбранном диапазоне в строке с указанным номером. Общая формула оператора ИНДЕКС такова:

    =ИНДЕКС(массив;номер_строки;[номер_столбца])

    «Массив» — аргумент, содержащий адрес диапазона, из которого мы будем извлекать информацию по номеру указанной строки.

    «Номер строки» — аргумент, являющийся номером этой самой строчки. При этом важно знать, что номер строки следует указывать не относительно всего документа, а только относительно выделенного массива.

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

    Ставим курсор в поле «Массив». После этого переходим на Лист 2 и, зажав левую кнопку мыши, выделяем все содержимое столбца «Ставка».

  8. Аргумент Массив в окне аргументов функции ИНДЕКС в Microsoft Excel

  9. После того, как координаты отобразились в окошке оператора, ставим курсор в поле «Номер строки». Данный аргумент мы будем выводить с помощью оператора ПОИСКПОЗ. Поэтому кликаем по треугольнику, который расположен слева от строки функций. Открывается перечень недавно использованных операторов. Если вы среди них найдете наименование «ПОИСКПОЗ», то можете кликать по нему. В обратном случае кликайте по самому последнему пункту перечня – «Другие функции…».
  10. Окно аргументов функции ИНДЕКС в Microsoft Excel

  11. Запускается стандартное окно Мастера функций. Переходим в нем в ту же самую группу «Ссылки и массивы». На этот раз в перечне выбираем пункт «ПОИСКПОЗ». Выполняем щелчок по кнопке «OK».
  12. Переход в окно аргуметов функции ПОИСКПОЗ в Microsoft Excel

  13. Производится активация окошка аргументов оператора ПОИСКПОЗ. Указанная функция предназначена для того, чтобы выводить номер значения в определенном массиве по его наименованию. Именно благодаря данной возможности мы вычислим номер строки определенного значения для функции ИНДЕКС. Синтаксис ПОИСКПОЗ представлен так:

    =ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])

    «Искомое значение» — аргумент, содержащий наименование или адрес ячейки стороннего диапазона, в которой оно находится. Именно позицию данного наименования в целевом диапазоне и следует вычислить. В нашем случае в роли первого аргумента будут выступать ссылки на ячейки на Листе 1, в которых расположены имена сотрудников.

    «Просматриваемый массив» — аргумент, представляющий собой ссылку на массив, в котором выполняется поиск указанного значения для определения его позиции. У нас эту роль будет исполнять адрес столбца «Имя» на Листе 2.

    «Тип сопоставления» — аргумент, являющийся необязательным, но, в отличие от предыдущего оператора, этот необязательный аргумент нам будет нужен. Он указывает на то, как будет сопоставлять оператор искомое значение с массивом. Этот аргумент может иметь одно из трех значений: -1; 0; 1. Для неупорядоченных массивов следует выбрать вариант «0». Именно данный вариант подойдет для нашего случая.

    Итак, приступим к заполнению полей окна аргументов. Ставим курсор в поле «Искомое значение», кликаем по первой ячейке столбца «Имя» на Листе 1.

  14. Аргумент Искомое значение в окне аргументов функции ПОИСКПОЗ в Microsoft Excel

  15. После того, как координаты отобразились, устанавливаем курсор в поле «Просматриваемый массив» и переходим по ярлыку «Лист 2», который размещен внизу окна Excel над строкой состояния. Зажимаем левую кнопку мыши и выделяем курсором все ячейки столбца «Имя».
  16. Аргумент Просматриваемый массив в окне аргументов функции ПОИСКПОЗ в Microsoft Excel

  17. После того, как их координаты отобразились в поле «Просматриваемый массив», переходим к полю «Тип сопоставления» и с клавиатуры устанавливаем там число «0». После этого опять возвращаемся к полю «Просматриваемый массив». Дело в том, что мы будем выполнять копирование формулы, как мы это делали в предыдущем способе. Будет происходить смещение адресов, но вот координаты просматриваемого массива нам нужно закрепить. Он не должен смещаться. Выделяем координаты курсором и жмем на функциональную клавишу F4. Как видим, перед координатами появился знак доллара, что означает то, что ссылка из относительной превратилась в абсолютную. Затем жмем на кнопку «OK».
  18. Окно аргуметов функции ПОИСКПОЗ в Microsoft Excel

  19. Результат выведен на экран в первую ячейку столбца «Ставка». Но перед тем, как производить копирование, нам нужно закрепить ещё одну область, а именно первый аргумент функции ИНДЕКС. Для этого выделяем элемент колонки, который содержит формулу, и перемещаемся в строку формул. Выделяем первый аргумент оператора ИНДЕКС (B2:B7) и щелкаем по кнопке F4. Как видим, знак доллара появился около выбранных координат. Щелкаем по клавише Enter. В целом формула приняла следующий вид:

    =ИНДЕКС(Лист2!$B$2:$B$7;ПОИСКПОЗ(Лист1!A4;Лист2!$A$2:$A$7;0))

  20. Преобразование ссылки в абсолютную в Microsoft Excel

  21. Теперь можно произвести копирование с помощью маркера заполнения. Вызываем его тем же способом, о котором мы говорили ранее, и протягиваем до конца табличного диапазона.
  22. Маркер заполнения в программе Microsoft Excel

  23. Как видим, несмотря на то, что порядок строк у двух связанных таблиц не совпадает, тем не менее, все значения подтягиваются соответственно фамилиям работников. Этого удалось достичь благодаря применению сочетания операторов ИНДЕКСПОИСКПОЗ.

Значения связаны благодаря комбинации функций ИНДЕКС-ПОИСКПОЗ в Microsoft Excel

Читайте также:
Функция ИНДЕКС в Экселе
Функция ПОИСКПОЗ в Экселе

Способ 3: выполнение математических операций со связанными данными

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

Посмотрим, как это осуществляется на практике. Сделаем так, что на Листе 3 будут выводиться общие данные заработной платы по предприятию без разбивки по сотрудникам. Для этого ставки сотрудников будут подтягиваться из Листа 2, суммироваться (при помощи функции СУММ) и умножаться на коэффициент с помощью формулы.

  1. Выделяем ячейку, где будет выводиться итог расчета заработной платы на Листе 3. Производим клик по кнопке «Вставить функцию».
  2. Переход в Мастер функций в Microsoft Excel

  3. Следует запуск окна Мастера функций. Переходим в группу «Математические» и выбираем там наименование «СУММ». Далее жмем по кнопке «OK».
  4. Переход в окно аргуметов функции СУММ в Microsoft Excel

  5. Производится перемещение в окно аргументов функции СУММ, которая предназначена для расчета суммы выбранных чисел. Она имеет нижеуказанный синтаксис:

    =СУММ(число1;число2;…)

    Поля в окне соответствуют аргументам указанной функции. Хотя их число может достигать 255 штук, но для нашей цели достаточно будет всего одного. Ставим курсор в поле «Число1». Кликаем по ярлыку «Лист 2» над строкой состояния.

  6. Окно аргметов функции СУММ в Microsoft Excel

  7. После того, как мы переместились в нужный раздел книги, выделяем столбец, который следует просуммировать. Делаем это курсором, зажав левую кнопку мыши. Как видим, координаты выделенной области тут же отображаются в поле окна аргументов. Затем щелкаем по кнопке «OK».
  8. Суммирование данных с помощью функции СУММ в Microsoft Excel

  9. После этого мы автоматически перемещаемся на Лист 1. Как видим, общая сумма размера ставок работников уже отображается в соответствующем элементе.
  10. Общая сумма ставок работников в Microsoft Excel

  11. Но это ещё не все. Как мы помним, зарплата вычисляется путем умножения величины ставки на коэффициент. Поэтому снова выделяем ячейку, в которой находится суммированная величина. После этого переходим к строке формул. Дописываем к имеющейся в ней формуле знак умножения (*), а затем щелкаем по элементу, в котором располагается показатель коэффициента. Для выполнения вычисления щелкаем по клавише Enter на клавиатуре. Как видим, программа рассчитала общую заработную плату по предприятию.
  12. Общая зарплата по предприятию в Microsoft Excel

  13. Возвращаемся на Лист 2 и изменяем размер ставки любого работника.
  14. Изменение ставки работника в Microsoft Excel

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

Сумма заработной платы по предприятию пересчитана в Microsoft Excel

Способ 4: специальная вставка

Связать табличные массивы в Excel можно также при помощи специальной вставки.

  1. Выделяем значения, которые нужно будет «затянуть» в другую таблицу. В нашем случае это диапазон столбца «Ставка» на Листе 2. Кликаем по выделенному фрагменту правой кнопкой мыши. В открывшемся списке выбираем пункт «Копировать». Альтернативной комбинацией является сочетание клавиш Ctrl+C. После этого перемещаемся на Лист 1.
  2. Копирование в Microsoft Excel

  3. Переместившись в нужную нам область книги, выделяем ячейки, в которые нужно будет подтягивать значения. В нашем случае это столбец «Ставка». Щелкаем по выделенному фрагменту правой кнопкой мыши. В контекстном меню в блоке инструментов «Параметры вставки» щелкаем по пиктограмме «Вставить связь».
    Вставка связи через контекстное меню в Microsoft Excel

    Существует также альтернативный вариант. Он, кстати, является единственным для более старых версий Excel. В контекстном меню наводим курсор на пункт «Специальная вставка». В открывшемся дополнительном меню выбираем позицию с одноименным названием.

  4. Переход в специальную вставку в Microsoft Excel

  5. После этого открывается окно специальной вставки. Жмем на кнопку «Вставить связь» в нижнем левом углу ячейки.
  6. Окно специальной вставки в Microsoft Excel

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

Значения вставлены с помощью специальной вставки в Microsoft Excel

Урок: Специальная вставка в Экселе

Способ 5: связь между таблицами в нескольких книгах

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

  1. Выделяем диапазон данных, который нужно перенести в другую книгу. Щелкаем по нему правой кнопкой мыши и выбираем в открывшемся меню позицию «Копировать».
  2. Копирование данных из книги в Microsoft Excel

  3. Затем перемещаемся к той книге, в которую эти данные нужно будет вставить. Выделяем нужный диапазон. Кликаем правой кнопкой мыши. В контекстном меню в группе «Параметры вставки» выбираем пункт «Вставить связь».
  4. Вставка связи из другой книги в Microsoft Excel

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

Связь из другой книги вставлена в Microsoft Excel

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

Информационное сообщение в Microsoft Excel

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

Разрыв связи между таблицами

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

Способ 1: разрыв связи между книгами

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

  1. В книге, в которой подтягиваются значения из других файлов, переходим во вкладку «Данные». Щелкаем по значку «Изменить связи», который расположен на ленте в блоке инструментов «Подключения». Нужно отметить, что если текущая книга не содержит связей с другими файлами, то эта кнопка является неактивной.
  2. Переход к изменениям связей в Microsoft Excel

  3. Запускается окно изменения связей. Выбираем из списка связанных книг (если их несколько) тот файл, с которым хотим разорвать связь. Щелкаем по кнопке «Разорвать связь».
  4. Окно изменения связей в Microsoft Excel

  5. Открывается информационное окошко, в котором находится предупреждение о последствиях дальнейших действий. Если вы уверены в том, что собираетесь делать, то жмите на кнопку «Разорвать связи».
  6. Информационное предупреждение о разрыве связи в Microsoft Excel

  7. После этого все ссылки на указанный файл в текущем документе будут заменены на статические значения.

Ссылки заменены на статические значения в Microsoft Excel

Способ 2: вставка значений

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

  1. Выделяем диапазон, в котором желаем удалить связь с другой таблицей. Щелкаем по нему правой кнопкой мыши. В раскрывшемся меню выбираем пункт «Копировать». Вместо указанных действий можно набрать альтернативную комбинацию горячих клавиш Ctrl+C.
  2. Копирование в программе Microsoft Excel

  3. Далее, не снимая выделения с того же фрагмента, опять кликаем по нему правой кнопкой мыши. На этот раз в списке действий щелкаем по иконке «Значения», которая размещена в группе инструментов «Параметры вставки».
  4. Вставка как значения в Microsoft Excel

  5. После этого все ссылки в выделенном диапазоне будут заменены на статические значения.

Значения вставлены в Microsoft Excel

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

Каждый пользователь Microsoft Excel, наверняка довольно часто создает ссылки, ведь, в программе постоянно используются формулы, и для работы с ними ссылки необходимы. Также линки (так по-другому называются “ссылки”) применяются для осуществления перехода на определенные страницы в Интернете, доступа к другим документам или внешним источникам. Итак, давайте разберемся, как именно можно создавать ссылки в Эксель.

Содержание

  • Разновидности ссылок
  • Как создавать ссылки на одном листе
  • Создание ссылки на другой лист
  • Внешняя ссылка на другую книгу
  • Использование оператора ДВССЫЛ
  • Создание гиперссылок
  • Заключение

Разновидности ссылок

Ссылки делятся две основные категории:

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

Также, все ссылки делятся на внутренние и внешние, и их применяют в разных случаях:

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

Соответственно, способ создания ссылок следует выбирать исходя из того, какого именно типа ссылку требуется создать. Ниже мы подробно рассмотрим все варианты.

Как создавать ссылки на одном листе

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

Самая простая ссылка – это просто указание адреса ячейки в виде: =B2.

Как создавать ссылки на одном листе

В данном случае незаменимой составной частью ссылки является знак “равно” (“=”) в самом начале. После того, как мы напишем его в ячейке, программа будет воспринимать все выражение как ссылку. Главное здесь – правильно указать координаты ячейки: буквенное обозначение столбца и порядковый номер строки.

В нашем случае выражение “=B2” означает, что в ячейку D3 (на ее месте может быть любая другая ячейка), куда мы написали данную формулу, будет “подтянуто” значение из ячейки с адресом B2.

Как создавать ссылки на одном листе

Так как ячейка D3 ссылается на B2, если мы изменим значение в B2, автоматически измениться и содержимое D3.

Как создавать ссылки на одном листе

Благодаря таким нехитрым ссылкам у нас есть возможность выполнять различные арифметические действия. Давайте, к примеру, введем в ячейку D3 выражение: =A5+B2.

Как создавать ссылки на одном листе

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

Как создавать ссылки на одном листе

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

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

Обращаем ваше внимание на то, что в Эксель предусмотрено два стиля ссылок:

  • в более привычном для всех виде A1
  • в формате R1C1, когда координаты представлены буквами и цифрами, а только цифрами. Причем, первая указывает на номер строки, а вторая – на номер столбца.

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

  1. Переходим в меню “Файл”.Как создавать ссылки на одном листе
  2. В боковом перечне слева кликаем по пункту “Параметры” внизу окна.Как создавать ссылки на одном листе
  3. Откроется окно с параметрами программы, где мы выбираем раздел “Формулы”. Здесь в блоке “Работа с формулами” можем поставить галочку напротив опции “Стиль ссылок R1C1”, если нужен именно такой стиль, либо убрать галочку, если мы хотим вернуться к более привычному виду. После того, как мы сделаем выбор, щелкаем OK для сохранения настроек.Как создавать ссылки на одном листе

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

Давайте теперь остановимся на варианте ссылок R1C1. Так выглядит наш пример со ссылками данного типа.

Как создавать ссылки на одном листе

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

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

Как создавать ссылки на одном листе

Все дело в том, что в первом случае был отображен относительный вид ссылок (=R[2]C[-3]+R[-1]C[-2]), в то время, как при ручном наборе ссылки представлены в абсолютном выражении (=R5C1+R2C2).

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

В привычном варианте отображения ссылок относительные ссылки выглядят как просто буква с цифрой (A1), в то время, как в абсолютных ссылках перед наименованием столбца и номера строки добавляется знак “$” ($A$1).

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

Давайте рассмотрим, как это работает на примере ячейки B1.

  1. Выбираем, скажем, ячейку D1 и пишем в ней выражение, ссылающееся на ячейку B1. Выглядит это так: =B1.Как создавать ссылки на одном листе
  2. После того, как формула набрана, жмем клавишу Enter, чтобы получить результат.Как создавать ссылки на одном листе
  3. Теперь наводим указатель мыши на правый нижний угол ячейки, как только он изменит свой вид на крестик, зажав левую кнопку мыши растягиваем формулу вниз.Как создавать ссылки на одном листе
  4. Готово, формула скопирована на остальные ячейки.Как создавать ссылки на одном листе
  5. Теперь, если мы установим курсор на ячейку D2, мы увидим, что она ссылается на B2, а не на B1. Это значит, что ссылка была изменена в соответствии со смещением (+1). Таким образом, например, ячейка D3 ссылается на B3 (+2) и т.д.Как создавать ссылки на одном листе

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

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

  1. Зафиксировать адрес ячейки можно с помощью символа “$” перед наименованием столбца и номером строки.Как создавать ссылки на одном листе
  2. Тепер, если мы снова растянем формулу на нижние строки, мы можем легко заметить, что значения в нижних ячейках такие же, как и в первой ячейке. Все дело в том, из-за ссылки в виде абсолютного адреса ячейки, при копировании формулы в нее не были внесены какие-либо корректировки в соответствии со смещением.Как создавать ссылки на одном листе

Но и это еще не все. Помимо относительных и абсолютных ссылок, есть еще и смешанные ссылки. В таких линках можно “заморозить” координаты столбца, и в этом случае символ “$” ставится только перед наименованием столбца. Например, =$B1.

Как создавать ссылки на одном листе

Или мы можем зафиксировать только конкретную строку, и тогда нужно поставить знак “$” перед порядковым номером соответствующей строки. Например, =B$1.

Как создавать ссылки на одном листе

Символ “$” мы можем напечатать вручную, найдя его на клавиатуре. Печатается он при английской раскладке с помощью комбинации Shif+4.

Однако, можно использовать иной способ с помощью функциональной клавиши F4.

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

Ссылка на диапазон ячеек

Помимо ссылки на определенную ячейку в Эксель можно сослаться на диапазон ячеек, координаты которого включают в себя адрес верхней левой ячейки и нижней правой, а между ними знак “:”. Например, координатам A1:С6 соответствует следующий диапазон на картинке ниже:

Как создавать ссылки на одном листе

Таким образом, ссылка на этот диапазон пишется следующим образом: =A1:С6.

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

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

В целом, алгоритм аналогичен тому, что мы уже описали выше для операций, выполняемых на одном и том же листе. Однако, теперь нужно, помимо адреса самой ячейки (или диапазона ячеек), указать еще и адрес конкретного листа. Для этого после знака “=” прописываем его название, затем ставим восклицательный знак (“!”), после чего уже указываем адрес требуемого элемента.

Например, ссылка на ячейку C5, расположенную на Листе 2, имеет следующий вид: =Лист2!C5.

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

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

  1. Переходим в нужную ячейку, пишем знак “=”, далее кликаем по названию требуемого листа внизу окна программы.Создание ссылки на другой лист
  2. Мы окажемся на втором листе, где также кликом мыши выбираем ячейку, которую хотим добавить в наше выражение.Создание ссылки на другой лист
  3. Жмем клавишу Enter, что вернет нас на первоначальный лист с уже готовым результатом.Создание ссылки на другой лист

Внешняя ссылка на другую книгу

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

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

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

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

Итак, допустим, нам нужно создать ссылку на ячейку B5, которая находится на листе  в открытой книге “Ссылки.xlsx”. В этом случае нам нужно прописать выражение, имеющее вид: =[Ссылки.xlsx]Лист3!B5.

Внешняя ссылка на другую книгу

Ссылка же на закрытый файл выглядит несколько иначе: ='С:Папка1[Ссылки.xlsx]Лист3'!B5.

Здесь также можно вместо прописывания адресов вручную, переключаться к нужным элементам и добавлять их в выражение путем клика по ним левой кнопкой мыши.

  1. Переходим в ячейку, куда планируем добавить выражение. Ставим знак “=”.Внешняя ссылка на другую книгу
  2. Переключаемся в открытую книгу, в которой находится ячейка, на которую мы хотим сослаться. Щелкаем по нужному листу и далее – по требуемой ячейке.Внешняя ссылка на другую книгу
  3. После того, как мы нажмем Enter, мы вернемся к первоначальной книге с готовым результатом по заданному выражению.Внешняя ссылка на другую книгу
  4. В случае ненадобности, книгу, на которую мы сослались, можно закрыть. Ссылка изменит свой вид, и в нее добавится путь к документу. Соответственно, в тех случаях, когда функция, формула или иной инструмент способны работать с закрытыми документами, такая автозамена линка окажется крайне полезной.Внешняя ссылка на другую книгу

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

Использование оператора ДВССЫЛ

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

=ДВССЫЛ(Ссылка_на_ячейку;A1), где:

  1. “Ссылка_на_ячейку” – аргумент, который который содержит адрес ячейки (указывается в кавычках).
  2. “A1” – определяет стиль используемых координат:
    • “Истина” – для стиля A1
    • “Ложь” – для стиля R1C1
    • при незаполненном значении будет применяться стиль A1.

Давайте теперь попробуем применить функцию на практике.

  1. Выделяем нужную ячейку и кликаем по значку “Вставить функцию” (рядом со строкой формул).Использование оператора ДВССЫЛ
  2. Откроется окно мастера функций. Кликаем по текущей категории и в раскрывшемся перечне выбираем строку “Ссылки и массивы”.Использование оператора ДВССЫЛ
  3. В предложенном списке операторов выбираем ДВССЫЛ и жмем кнопку OK.Использование оператора ДВССЫЛ
  4. Перед нами появится окно для редактирования аргументов функци, после заполнения которых нажимаем OK.
    • ставим курсор в область “Ссылка_на_ячейку”, затем пишем вручную адрес ячейки, на которую планируем сослаться. Также можно вместо ручного прописывания координат просто кликнуть по требуемому элементу.
    • в поле “A1” можем написать одно из двух значений, рассмотренных выше, либо оставить его незаполненным.Использование оператора ДВССЫЛ
  5. В выбранной ячейке появится результат согласно заданным нами настройкам.Использование оператора ДВССЫЛ

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

  1. Чтобы создать гиперссылку, нужно перейти к специальному окну, позволяющему его создать. Сделать это можно по-разному:
  2. Появится окно, позволяющее настроить гиперссылку. На выбор предлагаются следующие объекты для связки:
    • файл или веб-страница (по умолчанию);
    • новый документ;
    • место в документе;
    • электронная почта;
  3. Давайте попробуем связать ячейку с документом. Для этого в основной части окна открываем папку с требуемым файлом и отмечаем его. В качестве документа может служить файлы как с расширением “xls” (“xlsx”), так и других форматов. После выбора нужного документа щелкаем OK.Создание гиперссылок
  4. В ситуациях, когда нужно создать ссылку на страницу в Интернете, выбирав тот же самый пункт, пишем в поле “Адрес” ссылку на веб-страницу, после чего жмем OK.Создание гиперссылок
  5. Когда нужно создать гиперссылку на конкретное место в текущем документе, выбираем пункт “Место в документе”. В основной области окна отмечаем нужный лист и координаты именно той ячейки, связь с которой нужно создать. Как обычно, по завершении щелкаем OK.Создание гиперссылок
  6. В тех случаях, когда нам нужно создать связь с новым документом Excel, выбираем соответствующий пункт. Затем придумываем имя новой книги, выбираем место для сохранения и щелкаем OK.Создание гиперссылок
  7. В определенных ситуациях возникает потребность связать какой-то элемент книги с e-mail. Помочь в этом может пункт “Электронная почта”. Здесь в поле “Адрес эл. почты” пишем, соответственно, требуемый e-mail, после чего щелкаем OK.Создание гиперссылок
  8. Как только мы выбрали тип гиперссылки, заполнили нужные поля и щелкнули OK, в выбранной ячейке появится активная ссылка синего цвета, нажатие на которую осуществит переход к связанному с ней объекту.Создание гиперссылок

Применение функции “ГИПЕРССЫЛКА”

Также, в программе Эксель предусмотрена возможность создания гиперссылки с помощью функции, которая так и называется – “ГИПЕРССЫЛКА”. Формула оператора выглядит следующим образом:

=ГИПЕРССЫЛКА(Адрес;Имя), где:

  • “Адрес” – это, собственно говоря, конкретный адрес страницы в Интернете или путь к файлу, с которым нужно связать выбранный элемент.
  • “Имя” – текстовое значение, отображаемое в выбранном элементе, при нажатии на которое активируется гиперссылка.

Как пользоваться оператором “ГИПЕРССЫЛКА”:

  1. Выбираем нужную ячейку и нажимаем кнопку “Вставить функцию”.Применение функции
  2. В категории “Ссылки и массивы” выбираем оператор “ГИПЕРССЫЛКА” и щелкаем OK.Применение функции
  3. Заполняем аргументы функции и жмем OK.
    • в поле “Адрес” указываем путь к файлу или конкретный адрес страницы в Интернете.
    • в поле “Имя” прописываем текстовое значение, которое будет показываться в выбранной ячейке.Применение функции
  4. Получаем в выбранной ячейке активную ссылку, ведущую на веб-страницу, адрес которой мы указали.Применение функции

Заключение

Таким образом, в Эксель используются два вида ссылок в зависимости от назначения. Одни используются в формулах и функциях, с помощью других (гиперссылки) осуществляется переход к нужным объектам в виде других документов, веб-страниц или e-mail. В зависимости от выбранного типа ссылки меняется алгоритм действий по созданию нужного линка.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

В Excel существует два типа ссылок: абсолютные и относительные. Эти ссылки ведут себя по-разному при копировании и заполнении ячеек. Относительные ссылки изменяются когда вы копируете формулу из одной ячейки в другую, а абсолютные ссылки, напротив, не меняются вне зависимости от того, куда бы вы их ни скопировали.

Содержание

  1. Относительные ссылки в Excel
  2. Как создать и скопировать формулу с относительными ссылками
  3. Абсолютные ссылки в Excel
  4. Как создать и скопировать формулу с абсолютными ссылками
  5. Как создать ссылки на другие листы в Excel

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

По умолчанию, все ссылки в Excel относительные. Когда вы копируете ссылку из одной ячейки в другую, она автоматически изменяется относительно позиции столбца и строки новой ячейки к ячейке, из которой вы скопировали ссылку. Например, если вы скопируете формулу =A1+B1 из строки 1 в строку 2, то формула изменится на =A2+B2. Относительные ссылки полезны в том случае, когда нам нужно повторить один и тот же расчет на несколько столбцов и строк.

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

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

  • Выделим первую ячейку, в столбце «Итог» в которой будет создана наша формула:

относительные ссылки в excel - 1

  • Вставим в ячейку D2 формулу, которая перемножает цену за блюдо и количество: =B2*C2.
  • Нажмите клавишу «Enter» на клавиатуре. Формула произведет расчет и его результат вы увидите в ячейке D2.

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

  • Зажав левую клавишу мыши, протяните ячейку D2 за правый нижний угол по всему диапазону ячеек D3:D12. Таким образом, вы скопируете формулу из ячейки D2 и перенесете ее на каждую ячейку диапазона.

относительные ссылки в excel - 3

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

относительные ссылки в excel - 4

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

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

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

  • $A$2 — столбец и строка не изменяются при копировании формулы;

  • A$2 — при копировании формулы не меняется только строка;

  • $A2 — столбец не изменяется при копировании формулы.

    Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

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

Как создать и скопировать формулу с абсолютными ссылками

В нашем примере мы будем использовать в ячейке E1 — 18% как значение НДС для расчета налога на товары в колонке D. Для правильного расчета нам потребуется использовать абсолютную ссылку $E$1 в нашей формуле, так как нам важно, чтобы  стоимость каждого товара перемножалась на ставку НДС, указанную в ячейке E1. Ниже рассмотрим как мы, будем это делать:

  • Выделим ячейку, в которую мы хотим вставить формулу для расчета налога. В нашем примере это ячейка D3.

абсолютные ссылки в excel - 1

  • Напишем формулу, рассчитывающую сумму налога для каждого товара, с учетом его стоимости и количества =(B3*C3)*$E$1.

абсолютные ссылки в excel - 21

  • Протянем полученную формулу на все ячейки в диапазоне D4:D13.

абсолютные ссылки в excel - 3

  • Дважды кликните на любой ячейке из диапазона D4:D13 и убедитесь, что формула сработала корректно. Важно убедиться, что вы правильно указали ссылку на ячейку $E$1 в абсолютном формате.

Как создать ссылки на другие листы в Excel

Зачастую, нам в расчетах требуется задействовать данные с разных листов файла Excel. Для этого, при создании ссылки на ячейку из другого листа нужно использовать название листа и восклицательного знака на конце (!). Например, если вы хотите создать ссылку на ячейку A1 на листе Sheet1, то ссылка на эту ячейку будет выглядеть так:

=Sheet1!A1

ВАЖНО! Если в название листа, на ячейку с которого вы ссылаетесь есть пробелы, то название этого листа в ссылке должно быть заключено в кавычки (‘ ‘). Например, если название вашего листа Бюджет Финал, то ссылка на ячейку A1 будет выглядеть так:

‘Бюджет Финал’!A1

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

  • Выберем ячейку, на которую мы хотим сослаться и обратим внимание на название листа. В нашем случае это ячейка E14 на вкладке «Меню»:

Ссылки между листами в Excel - 11

  • Перейдем на лист и выберем ячейку, в которой мы хотим поставить ссылку. В нашем примере это ячейка B2.

Ссылки между листами в Excel - 22

  • В ячейке B2 введем формулу, ссылающуюся на ячейку E14 с листа «Меню»: =Меню!E14
  • Нажмем клавишу «Enter» на клавиатуре и увидим в ячейке B2 значение ячейки E14 с листа «Меню».

Если, в дальнейшем, вы переименуете лист, на который вы ссылались, то система автоматически обновит формулу.

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

Excel позволяет делать ссылки в формулах и функциях на другие листы и даже книги. Можно сделать ссылку на данные отдельного файла. Кстати в такой способ можно восстановить данные из поврежденного файла xls.

Ссылка на лист в формуле Excel

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

Отчеты по месяцам.

Возникает вопрос: как сделать ссылку на другой лист в Excel? Для реализации данной задачи делаем следующее:

  1. Заполните Лист1, Лист2 и Лист3 так как показано выше на рисунке.
  2. Перейдите на Лист4, ячейка B2.
  3. Поставьте знак «=» и перейдите на Лист1 чтобы там щелкнуть левой клавишей мышки по ячейке B2.
  4. Ввод ссылки на лист.

  5. Поставьте знак «+» и повторите те же действия предыдущего пункта, но только на Лист2, а потом и Лист3.
  6. Сумма доходов за квартал.

  7. Когда формула будет иметь следующий вид: =Лист1!B2+Лист2!B2+Лист3!B2, нажмите Enter. Результат должен получиться такой же, как на рисунке.



Как сделать ссылку на лист в Excel?

Ссылка на лист немного отличается от традиционной ссылки. Она состоит из 3-х элементов:

  1. Имя листа.
  2. Знак восклицания (служит как разделитель и помогает визуально определить, к какому листу принадлежит адрес ячейки).
  3. Адрес на ячейку в этом же листе.

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

Ссылка на лист в другой книге Excel

Ссылка на лист в другой книге имеет уже 5 элементов. Выглядит она следующим образом: =’C:Docs[Отчет.xlsx]Лист1′!B2.

Описание элементов ссылки на другую книгу Excel:

  1. Путь к файлу книги (после знака = открывается апостроф).
  2. Имя файла книги (имя файла взято в квадратные скобки).
  3. Имя листа этой книги (после имени закрывается апостроф).
  4. Знак восклицания.
  5. Ссылка на ячейку или диапазон ячеек.

Данную ссылку следует читать так:

  • книга расположена на диске C: в папке Docs;
  • имя файла книги «Отчет» с расширением «.xlsx»;
  • на «Лист1» в ячейке B2 находится значение на которое ссылается формула или функция.

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

Без функций и формул Excel был бы одной большой таблицей предназначенной для ручного заполнения данными. Благодаря функциям и формулам он является мощным вычислительным инструментом. А полученные результаты, динамически представляет в желаемом виде (если нужно даже в графическом).

Это продолжение перевода книги Зак Барресс и Кевин Джонс. Таблицы 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.

Понимание того, как работают структурированные ссылки, начинается с понимания их синтаксиса:

Ris. 4.1. Sintaksis strukturirovannoj ssylki

Рис. 4.1. Синтаксис структурированной ссылки

Скачать заметку в формате Word или pdf, примеры в формате Excel

  1. Одна структурированная ссылка на диапазон ячеек.
  2. Имя таблицы. Если структурированная ссылка находится в ячейке внутри таблицы, то имя таблицы не требуется. Если вы не вводите имя таблицы при указании нескольких столбцов, Excel автоматически добавляет его при вводе структурированной ссылки. Имя таблицы ссылается на весь диапазон тела данных, исключая заголовки и итоги.
  3. Ссылка на таблицу определяет диапазон в таблице путем указания имени столбца (имен столбцов) и, при необходимости, специального идентификатора, который изменяет ссылку на конкретную ячейку столбца.
  4. Специальный идентификатор изменяет ссылку со всего столбца на предопределенную область таблицы:

[#Все] относится ко всему столбцу, включая заголовок и итоги, если они включены.

[#Заголовки] ссылается на ячейку заголовка, если он включен.

[#Данные] относится к диапазону тела данных, исключая заголовок и итоги; этот идентификатор может быть опущен.

[#Итоги] относится к строке итоги, если она включена.

[#Эта строка] относится к той же строке, в которую введена структурированная ссылка. Начиная с Excel 2010 вместо него используется символ @.

  1. Имя столбца.

Неявные пересечения

Неявное пересечение имеет место, когда формула в ячейке ссылается на столбец таблицы целиком, а значение вычисляется на основе той же строки этого столбца (рис. 4.2). При неявном пересечении Excel разрешает структурированную ссылку на одну ячейку в столбце ссылок, которая находится в той же строке, что и ячейка, содержащая ссылку (J7). Excel не разрешает структурированную ссылку на иную ячейку в столбце ссылок (обычная ссылка, естественно, возможна). Например, нельзя сослаться на ячейки J8 или J6. Excel также не разрешает ссылку, если ссылка передается в функцию, которая ожидает массив ячеек. Преимущество неявных пересечений заключается в том, что одна и та же формула используется в нескольких ячейках. В нашем примере в диапазоне L5:L10 все формулы идентичны.

Ris. 4.2. Primer neyavnogo peresecheniya

Рис. 4.2. Пример неявного пересечения

Преимущество структурированных ссылок

Помимо использования неявных пересечений, структурированные ссылки имеют явное преимущество в том, что их легче читать. До появления структурированных ссылок пользователи Excel полагались на именованные диапазоны, чтобы облегчить чтение и понимание формул. Таблицы Excel поощряют использование имен, а не стандарта А1. Например:

=A2-B2

Ячейки A2 и B2 не говорят вам, к чему на самом деле относится формула, и вам нужно посмотреть на эти ячейки, чтобы понять назначение формулы. Когда структурированные ссылки используются с говорящими именами таблиц и столбцов, текст формул говорит сам за себя, и не требует изучения содержимого ячеек, на которые ссылается формула. Например:

=[@Доходы]-[@Расходы]

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

Создание формул

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

Ris. 4.3. Obychnaya ssylka tak kak yachejka nahoditsya na odnu stroku nizhe

Рис. 4.3. Ссылка на ячейку таблицы, которая не может быть представлена в виде структурированной ссылки

Если же ссылка на ячейку находится в той же строке, что и ячейка, в которую вводится формула, Excel создает структурированную ссылку:

Ris. 4.4. Ssylka na yachejku tablitsy kotoraya mozhet byt predstavlena v vide strukturirovannoj ssylki

Рис. 4.4. Ссылка на ячейку таблицы, которая может быть представлена в виде структурированной ссылки

При вводе формулы с несколькими выделенными ячейками Excel вставляет стандартные ссылки вместо структурированных ссылок. Обходной путь состоит в том, чтобы ввести формулу с выделенной только одной ячейкой.

Если в вычисляемом столбце используется функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ, то при каждой фильтрации таблицы дополнительные строки исключаются из фильтра без каких-либо причин, даже если они включены в критерии фильтрации. Это подтвержденная ошибка в Excel 2013. Обходной путь состоит в том, чтобы не использовать функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ в вычисляемом столбце. (В Excel 2019 ошибка исправлена.)

Ссылки на заголовок столбца

Сослаться на заголовок можно с помощью специального идентификатора [#Заголовки]. Например, эта ссылка на ячейку заголовка столбца Категория:

=tblRegister[[#Заголовки];[Категория]]

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

Ссылка на итоги

Сослаться на итоги можно с помощью специального идентификатора [#Итоги]:

=tblRegister[[#Итоги];[Категория]]

Когда вы ссылаетесь в формуле на итоги, строка итогов должна быть включена. Иначе формула вернет ошибку #ССЫЛКА!

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

Вы не можете использовать проверку данных в строке итоги.

Excel показывает список встроенных функций, если выбрать ячейку строки итогов и нажать кнопку раскрывающегося меню. Эти встроенные функции используют функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ. При выборе одной из этих функций агрегирования Excel помещает функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ в ячейку итоговой строки с соответствующими параметрами. Стандартно доступно 8 функций агрегирования:

Ris. 4.5. Funktsii agregirovaniya dostupnye po umolchaniyu

Рис. 4.5. Функции агрегирования, доступные по умолчанию

Если вам нужна иная функция, кликните в окне на строку Другие функции… и вы получите доступ к стандартному окну Excel Вставка функции.

Ris. 4.6. Mozhno ispolzovat dlya agregirovaniya lyubuyu funktsiyu 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, чтобы ввести выбранный элемент в формулу.

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

Ris. 4.7. Avtozapolnenie dlya strukturirovannyh ssylok

Рис. 4.7. Автозаполнение для структурированных ссылок

Использование абсолютных структурированных ссылок

Абсолютные и относительные ссылки – это понятия, описывающие, как Excel изменяет ссылки на ячейки при перемещении формулы в другое место на листе. При абсолютной ссылке целевая ячейка не изменяется при перемещении формулы. При относительной ссылке цель перемещается точно так же, как перемещается формула. Например, при традиционной ссылке A1 размещение знака доллара ($) перед буквой столбца и номером строки устанавливает эту ссылку в качестве абсолютной – $A$1. Независимо от того, куда перемещается формула, ссылка всегда будет ссылаться на A1. Ссылка может быть смешанной. В этом случае знак $ стоит только перед буквой столбца, или только перед числом строки.

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

Вы можете перемещать или копировать формулы из одного столбца в другой несколькими способами:

  • Копирование / вставка – структурированные ссылки не изменяются при перемещении в другие столбцы.
  • Протаскивание формулы – структурированные ссылки изменяются, когда они перемещаются в другие столбцы.
  • Формулы массива – структурированные ссылки не изменяются при перемещении в другие столбцы.

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

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

Таблица1[[Столбец1]:[Столбец1]]

Такая запись эквивалентна традиционной ссылке $A1. В отличие от стандартных ссылок на ячейки, вы не можете переключать абсолютный/относительный синтаксис с помощью клавиши F4.

В следующем примере показана работа абсолютных ссылок. Исходная таблица "tblData":

Ris. 4.8. Ishodnaya tablitsa

Рис. 4.8. Исходная таблица

Вы хотите суммировать все Units по кварталам, регионам и цветам, используя следующий макет в таблице "tblSum":

Ris. 4.9. Maket obobshhayushhej tablitsy

Рис. 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])

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

Ris. 4.10. Zapolnennaya obobshhayushhaya tablitsa

Рис. 4.10. Заполненная обобщающая таблица

Отключение структурированных ссылок

Чтобы отключить использование структурированных ссылок пройдите по меню Файл –> Параметры. Перейдите на вкладку Формулы и снимите галочку напротив опции Использовать имена таблиц в формулах.

Ris. 4.11. Otklyuchenie strukturirovannyh ssylok v okne Parametry Excel

Рис. 4.11. Отключение структурированных ссылок в окне Параметры Excel; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

Операторы структурированных ссылок

Операторы структурированных ссылок аналогичны операторам стандартных ссылок:

  • Двоеточие (:) – это оператор диапазона, который объединяет все, что находится между двумя ссылками и включает их.
  • Точка с запятой (;) – это оператор объединения, который соединяет все, что указано в двух ссылках.
  • Пробел ( ) – это оператор пересечения, который возвращает всё что находится на пересечении двух ссылок.

В следующей таблице приведены некоторые примеры использования операторов. Имя таблицы – "Table1", заголовок таблицы находится в строке 1, а диапазон тела данных начинается в строке 2 и заканчивается в строке 20. Столбцы расположены в следующем порядке: А – "OrderDate", В – "Region", С – "Rep", D – "Item", E – "Cost", F – "Units".

Ris. 4.12. Primery operatorov strukturirovannyh ssylok

Рис. 4.12. Примеры операторов структурированных ссылок

Специальные символы, используемые в структурированных ссылках

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

Ris. 4.13. Spetsialnye simvoly v imeni stolbtsa trebuyushhie dopolnitelnyh kvadratnyh skobok

Рис. 4.13. Специальные символы в имени столбца, требующие дополнительных квадратных скобок

Например, =Web_Table[@OrderDate], но =Web_Table[@[Order Date]]

Более того, некоторые символы имеют особое значение в структурированных ссылках, поэтому, если они используются в именах столбцов, требуют наличия escape-символа – апострофа ('):

  • левая квадратная скобка ([);
  • правая квадратная скобка (]);
  • решетка (#);
  • апостроф (').

Например, если имя столбца, Order [Date], то ссылка на него будет иметь вид

=Web_Table[@[Order '[Date']]]

Динамические ссылки

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

Шаг 1. Создайте новую таблицу и назовите ее "tblValues". Назовите один из столбцов "Value" и введите в него два или более уникальных значения.

Шаг 2. Выберите часть диапазона области данных столбца "Value". Если отображаются строки заголовка или итога, не выделяйте их; выберите только диапазон тела данных столбца.

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

Шаг 3. Пройдите по меню Формулы –> Диспетчер имен (или используйте сочетание клавиш Ctrl+F3), чтобы открыть диалоговое окно Диспетчер имен.

Ris. 4.14. Dialogovoe okno Dispetcher imen

Рис. 4.14. Диалоговое окно Диспетчер имен

Шаг 4. Нажмите кнопку Создать, чтобы открыть диалоговое окно Создание имени.

Ris. 4.15. Dialogovoe okno Sozdanie imeni

Рис. 4.15. Диалоговое окно Создание имени

Шаг 5. Введите "ValidValues" в текстовое поле Имя. Обратите внимание, что структурированная ссылка на столбец таблицы "Value" уже введена в поле Диапазон: =tblValues[Value]. Нажмите OK. Вы вернетесь в окно Диспетчер имен. Нажмите Закрыть.

Шаг 6. Выберите ячейку, к которой должен быть применен список проверки, и пройдите по меню Данные –> Работа с данными –> Проверка данных. Откроется окно Проверка вводимых значений (рис. 4.16). Выберите "Cписок" в поле Тип данных. Введите "=ValidValues" в поле Источник. Нажмите ОК.

Ris. 4.16. Okno Proverka vvodimyh znachenij

Рис. 4.16. Создание списка проверки с использованием именованной динамической ссылки

Список проверки, содержащий значения из столбца таблицы "Value", теперь находится в выбранной ячейке:

Ris. 4.17. Spisok proverki

Рис. 4.17. Список проверки

Использование текущего номера строки

Следующая формула отображает номер строки в таблице, где номер строки относится к первой строке таблицы, а не к номеру строки листа:

=СТРОКА()-СТРОКА(tblNumber[[#Заголовки];[Номер]])

Ris. 4.18. Formula nomera stroki Tablitsy

Рис. 4.18. Формула номера строки Таблицы

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

Нарастающий итог

Следующая формула отображает нарастающий итог другого столбца в той же таблице:

=СУММ(tblNumber[[#Заголовки];[Итого]]:[@Итого])

Ris. 4.19. Narastayushhij itog

Рис. 4.19. Нарастающий итог

Эта формула предполагает, что строка заголовка включена; функция СУММ игнорирует текстовое значение в заголовке. Если строка заголовка указанного столбца не включена, приведенная выше формула вернет ошибку #ССЫЛКА! Чтобы избежать этого, можно усовершенствовать формулу:

=СУММ(ИНДЕКС([Итого];1):[@Итого])

Ris. 4.20. Narastayushhij itog rabotayushhij pri otklyuchennyh imenah stolbtsov

Рис. 4.20. Нарастающий итог, работающий при отключенных именах столбцов

Этот пример можно реализовать с помощью стандартной ссылки =СУММ(D$2:D2). Вы используете абсолютную ссылку на строку, чтобы зафиксировать начало диапазона, в то время как вторая часть смещается по мере копирования формулы вниз по строкам. Однако такой подход даст сбой при добавлении новых строк в таблицу. Excel допускает ошибку, искажая ссылку в предпоследней строке (рис. 4.21). Корректная формула должна быть такой =СУММ($D$4:D10).

Ris. 4.21. Oshibka Excel

Рис. 4.21. Ошибка Excel

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

=СУММ(ИНДЕКС([Credit];1):[@Credit])-СУММ(ИНДЕКС([Debit];1):[@Debit])

Использование структурированных ссылок может оказать негативное влияние на производительность вычислений в больших наборах данных (свыше 100 000 строк). Если это критично, можно заменить структурированные ссылки обычными.

Самый быстрый ВПР

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

В этом случае, правильный выбор функции, применяемой для связывания таблиц, играет решающую роль — разница в производительности между ними, как мы увидим далее, может составлять более 20 раз!

Когда я писал свою первую книжку пять лет назад, то уже делал сравнительный скоростной тест различных способов поиска и подстановки данных функциями ВПР, ИНДЕКС+ПОИСКПОЗ, СУММЕСЛИ и др. С тех пор сменилось три версии Office, появились надстройки Power Query и Power Pivot, кардинально изменившие весь процесс работы с данными. А в прошлом году ещё и обновился вычислительный движок Excel, получив поддержку динамических массивов и новые функции ПРОСМОТРХ, ФИЛЬТР и т.п.

Так что пришла пора снова взяться за секундомер и выяснить — кто же самый быстрый. Ну и, заодно, проверить — какие способы поиска и подстановки данных в Excel вы знаете 🙂

Подопытный кролик

Тест будем проводить на следующем примере:

Исходный пример

Это книга Excel с одним листом, где расположены две таблицы: отгрузки (500 000 строк) и прайс-лист (600 строк). Наша задача — подставить цены из прайс-листа в таблицу отгрузок. Для каждого способа будем вводить формулу в ячейку С2 и копировать вниз на весь столбец, замеряя время, которое потребуется Excel, чтобы просчитать весь столбец из полумиллиона ячеек. Полученные значения, безусловно, зависят от множества факторов (поколение процессора, объем оперативной памяти, текущая загрузка системы, версия Office и т.д.), но нам важны не конкретные цифры, а, скорее, их сравнение друг с другом. Важно понимать прожорливость каждого способа и их ограничения.

Способ 1. ВПР

Сначала — классика 🙂 Легендарная функция вертикального просмотра — ВПР (VLOOKUP) , которая приходит в голову первой в подобных ситуациях:

ВПР

  • B2 — искомое значение, т.е. название товара, который мы хотим найти в прайс-листе
  • $G$2:$H$600 — закреплённая знаками доллара (чтобы не сползала при копировании формулы вниз) абсолютная ссылка на прайс
  • 2 — номер столбца в прайс-листе, откуда мы хотим взять цену
  • 0 или ЛОЖЬ — переключение в режим поиска точного соответствия, когда любое некорректное название товара (например, ФОНЕРА) в столбце B в таблице отгрузок приведёт к появлению ошибки #Н/Д как результата работы функции.

Время вычисления = 4,3 сек.

Способ 2. ВПР с выделением столбцов целиком

Многие пользователи, применяя ВПР, во втором аргументе этой функции, где нужно задать поисковую таблицу (прайс), выделяют не ограниченный диапазон ( $G$2:$H$600 ), а сразу столбцы G:H целиком. Это проще, быстрее, позволяет не думать про F4 и то, что завтра прайс-лист может быть на несколько строк больше. Формула в этом случае выглядит тоже компактнее:

ВПР с выделением столбцов целиком

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

Время вычисления = 14,5 сек.

Способ 3. ИНДЕКС и ПОИСКПОЗ

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

ИНДЕКС и ПОИСКПОЗ

Функция ИНДЕКС извлекает из заданного в первом аргументе диапазона (столбца $H$2:$H$600 с ценами в прайс-листе) содержимое ячейки с заданным номером. А номер этот, в свою очередь, определяется функцией ПОИСКПОЗ, у которой три аргумента:

  • Что нужно найти — название товара из B2
  • Где мы это ищем — столбец с названиями товаров в прайсе ( $G$2:$G$600 )
  • Режим поиска: 0 — точный, 1 или -1 — приблизительный с округлением в меньшую или большую сторону, соответственно.

Формула выходит чуть сложнее, но, при этом имеет несколько ощутимых преимуществ перед классической ВПР, а именно:

  • Не нужно отсчитывать номер столбца (как в третьем аргументе ВПР).
  • Можно извлекать данные, которые находятся левее столбца, где просходит поиск.

По скорости, однако же, этот способ проигрывает ВПР почти в два раза:

Время вычисления = 7,8 сек.

Если же, вдобавок, полениться и выделять не ограниченные диапазоны, а столбцы целиком:

ИНДЕКС и ПОИСКПОЗ с выделением столбцов целиком

. то результат получается совсем печальный:

Время вычисления = 28,5 сек.

28 секунд, Карл! В 6 раз медленнее ВПР!

Способ 4. СУММЕСЛИ

Если нужно найти не текстовые, а именно числовые данные (как в нашем случае — цену), то вместо ВПР вполне можно использовать функцию СУММЕСЛИ (SUMIF) . Изначально она задумывалась как инструмент для выборочного суммирования данных по условию (найди и сложи мне все продажи кабелей, например), но можно заставить её искать нужный нам товар и в прайс-листе. Если грузы в нём не повторяются, то суммировать будет не с чем и эта функция просто выведет искомое значение:

СУММЕСЛИ

  • Первый аргумент СУММЕСЛИ — это диапазон проверяемых ячеек, т.е. названия товаров в прайсе ( $G$2:$G$600 ).
  • Второй аргумент ( B2 ) — что мы ищем.
  • Третий аргумент — диапазон ячеек с ценами $H$2:$H$600 , числа из которых мы хотим просуммировать, если в соседних ячейках проверяемого диапазона есть искомое значение.

Очевидным минусом такого подхода является то, что он работает только с числами. Также этот способ не удобен, если прайс-лист находится в отдельном файле — придется всё время держать его открытым, т.к. функция СУММЕСЛИ не умеет брать данные из закрытых книг, в отличие от ВПР, для которой это не проблема.

В плюсы же можно записать удобство при поиске сразу по нескольким столбцам — для этого идеально подходит более продвинутая версия этой функции — СУММЕСЛИМН (SUMIFS) . Скорость вычислений же, при этом, весьма посредственная:

Время вычисления = 12,8 сек.

При выделении столбцов целиком, т.е. использовании формулы вида =СУММЕСЛИ( G:G ; B2 ; H:H ) всё ещё хуже:

Время вычисления = 41,7 сек.

Это самый плохой результат в нашем тесте.

Способ 5. СУММПРОИЗВ

Этот подход сейчас встречается не часто, но всё ещё достаточно регулярно. Обычно так любят извращаться пользователи старой школы, ещё хорошо помнящие те времена, когда в Excel было всего 255 столбцов и 56 цветов 🙂

Суть этого метода заключается в использовании функции СУММПРОИЗВ (SUMPRODUCT) , изначально предназначенной для поэлементного перемножения нескольких диапазонов с последующим суммированием полученных произведений. В нашем случае, вместо одного из массивов будет выступать условие, а вторым будут цены:

СУММПРОИЗВ

Выражение ($G$2:$G$600=B2) , по сути, проверяет каждое название груза в прайс-листе на предмет соответствия искомому значению (ФАНЕРА ПР). Результатом каждого сравнения будет логическое значение ИСТИНА (TRUE ) или ЛОЖЬ (FALSE) , что в Excel интерпретируется как 1 и 0, соответственно. Последующее умножение этих нулей и единиц на цены оставит в живых цену только того товара, который нам, в данном случае, и нужен.

Эта формула является, по сути, формулой массива, но не требует нажатия обычного для них сочетания клавиш Ctrl + Shift + Enter , т.к. функция СУММПРОИЗВ поддерживает массивы уже сама по себе. Возможно, по этой же причине (формулы массива всегда медленнее, чем обычные) такой скорость пересчёта такой формулы — не очень:

Время вычисления = 11,8 сек.

  • Совместимость с любыми, самыми древними версиями Excel.
  • Возможность задавать сложные условия (и несколько)
  • Способность этой формулы работать с данными из закрытых файлов, если добавить перед ней двойное бинарное отрицание (два подряд знака «минус»). СУММЕСЛИМН таким похвастаться не может.

Способ 6. ПРОСМОТР

Ещё один относительно экзотический способ поиска и подстановки данных, наравне с ВПР — это использование функции ПРОСМОТР (LOOKUP) . Только не перепутайте её с новой, буквально, на днях появившейся функцией ПРОСМОТРХ (XLOOKUP) — про неё мы поговорим дальше особо. Функция ПРОСМОТР существовала в Excel начиная с самых ранних версий и тоже вполне может решить нашу задачу:

ПРОСМОТР

  • B2 — название груза, которое мы ищем
  • $G$2:$G$600 — одномерный диапазон-вектор (столбец или строка), где мы ищем совпадение
  • $H$2:$H$600 — такого же размера диапазон, откуда нужно вернуть найденный результат (цену)

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

  • Эта функция требует обязательной сортировки прайс-листа по возрастанию (алфавиту) и без этого не работает.
  • Если в таблице отгрузок искомое значение будет написано с опечаткой (например, АГ Е ДОЛ вместо АГИДОЛ), то функция ПРОСМОТР выдаст не ошибку #Н/Д, а цену для ближайшего предыдущего товара:

При работе с неидеальными данными в реальном мире это гарантированно создаст проблемы, как вы понимаете.

Скорость же вычислений у функции ПРОСМОТР (LOOKUP) весьма приличная:

Время вычисления = 7,6 сек.

Способ 7. Новая функция ПРОСМОТРХ

Эта функция пришла с одним из недавних обновлений пока только пользователям Office 365 и пока отсутствует во всех остальных версиях (Excel 2010, 2013, 2016, 2019). По сравнению с классической ВПР у этой функции есть масса преимуществ (упрощенный синтаксис, возможность искать не только сверху-вниз, возможность сразу задать значение вместо #Н/Д и т.д.) Формула для решения нашей задачи будет выглядеть в этом случае так:

ПРОСМОТРХ

Если не брать в расчёт необязательные 4,5,6 аргументы, то синтаксис этой функции полностью совпадает с её предшественником — функцией ПРОСМОТР (LOOKUP) . Скорость вычислений при тестировании на наши 500000 строк тоже оказалась аналогичной:

Время вычисления = 7,6 сек.

Почти в два раза медленнее, чем у ВПР, вместо которой Microsoft предлагает теперь использовать ПРОСМОТРХ. Жаль.

И, опять же, если полениться и выделить диапазоны в прайс-листе целыми столбцами:

ПРОСМОТРХ и выделение столбцов целиком

. то скорость падает до совершенно неприличных уже значений:

Время вычисления = 28,3 сек.

А если на динамических массивах?

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

ВПР на динамических массивах

Разница с классическим вариантом в том, что первым аргументом ВПР здесь выступает не одно искомое значение (а формулу потом нужно копировать вниз на остальные строки), а сразу весь массив из полумиллиона грузов B2:B500000, цены для которых мы хотим найти. Формула при этом сама распространяется вниз, занимая требуемое количество ячеек.

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

Время вычисления = 1 сек.

Что интересно, и новая ПРОСМОТРХ, и старая ПРОСМОТР, и связка ИНДЕКС+ПОИСКПОЗ в таком режиме тоже были очень быстрыми — время вычислений не больше 1 секунды! Фантастика.

А вот олдскульные подходы на основе СУММПРОИЗВ и СУММЕСЛИ(МН) с динамическими массивами работать отказались 🙁

Что с умными таблицами?

Обрадовавшись фантастическим результатам, полученным на динамических массивах, я решил вдогон попробовать протестировать разницу в скорости при работе с обычными и «умными» таблицами. Я имею ввиду те самые «красивые таблицы», в которые вы можете преобразовать ваш диапазон с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table) или с помощью сочетания клавиш Ctrl + T .

Если предварительно превратить наши отгрузки и прайс в «умные» (по умолчанию они получат имена Таблица1 и Таблица2, соответственно), то формула с той же ВПР будет выглядеть как:

ВПР на умных таблицах

  • [@Груз] — ссылка на ячейку B2, означающая, в данном случае, что нужно взять значение из той же строки из столбца Груз текущей умной таблицы.
  • Таблица2 — ссылка на прайс-лист

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

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

Время вычисления = 1 сек.

У меня есть подозрение, что дело тут не в самих «умных» таблицах, а всё в том же обновлении вычислительного движка, т.к. на старых версиях Excel такого прироста в скорости на умных таблицах я не помню.

Бонус. Запрос Power Query

Замерять, так замерять! Давайте, для полноты картины, сравним наши перечисленные способы еще и с запросом Power Query, который тоже может решить нашу задачу. Кто-то скажет, что некорректно сравнивать пересчёт формул с механизмом обновления запроса, но мне, откровенно говоря, просто самому было интересно — кто быстрее?

  1. Превращаем обе наши таблицы в «умные» с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table) или с помощью сочетания клавиш Ctrl + T .
  2. По очереди загружаем таблицы в Power Query с помощью команды Данные — Из таблицы / диапазона (Data — From Table/Range) .
  3. После загрузки в Power Query возвращаемся обратно в Excel, оставляя загруженные данные как подключение. Для этого в окне Power Query выбираем Главная — Закрыть и загрузить — Закрыть и загрузить в. — Только создать подключение (Home — Close&Load — Close&Load to. — Only create connection) .
  4. После того, как обе исходные таблицы будут загружены как подключения, создадим ещё один, третий запрос, который будет объединять их между собой, подставляя цены из прайса в отгрузки. Для этого на вкладке Данные выберем Получить данные / Создать запрос — Объединить запросы — Объединить (Get Data / New Query — Merge queries — Merge) :

Объединяем запросы

Настройки объединения

Разворачиваем вложенные таблицы после объединения

В отличие от формул, запросы Power Query не обновляются автоматически «на лету», а требуют щелчка правой кнопкой мыши по таблице (или запросу в правой панели) и выбору команды Обновить (Refresh) . Также можно воспользоваться командой Обновить все (Refresh All) на вкладке Данные (Data) .

Время обновления = 8,2 сек.

Итоговая таблица и выводы

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

Итоговая таблица результатов

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

ВПР с несколькими условиями: 5 примеров.

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

Мы предложим вам несколько вариантов решения проблемы поиска по нескольким условиям.

ВПР по нескольким условиям с использованием дополнительного столбца.

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

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

Сразу по трем столбцам функция ВПР искать не может. Поэтому нам нужно объединить их в один. И, поскольку поиск производится всегда в крайнем левом (первом) столбце, то нужно добавить его в нашу таблицу тоже слева.

Вставляем перед таблицей с данными дополнительный столбец A. Затем при помощи оператора & объединяем в нем содержимое B,C и D. Записываем в А7

и копируем в находящиеся ниже ячейки.

Формула поиска в D4 будет выглядеть:

В диапазон поиска включаем и наш дополнительный столбец. Критерий поиска – также объединение 3 значений. И извлекаем результат из 5 колонки.

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

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

ВПР по двум условиям при помощи формулы массива.

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

Для этого в верхней части нашего листа запишем критерии поиска: дата и магазин. В ячейке B3 будем выводить сумму выручки.

Формула в B3 выглядит следующим образом:

Обратите внимание на фигурные скобки, которые означают, что это формула массива. То есть наша функция ВПР работает не с отдельными значениями, а разу с массивами данных.

Разберем процесс подробно.

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

То есть, в том случае, если наименование магазина совпадает с критерием в ячейке B2, мы оставляем исходные значения из нашего диапазона. А если нет – заменяем их на пробелы. И так по каждой строке.

В результате получим вот такой виртуальный массив данных на основе нашей исходной таблицы:

Как видите, строки, в которых ранее был «Магазин 1», заменены на пустые. И теперь искать нужную дату мы будем только среди информации по «Магазин 2». И извлекать значения выручки из третьей колонки.

С такой работой функция ВПР вполне справится.

Такой ход стал возможен путем применения формулы массива. Поэтому обратите особое внимание: круглые скобки в формуле писать руками не нужно! В ячейке B3 вы записываете формулу

И затем нажимаете комбинацию клавиш CTRL+Shift+Enter. При этом Excel поймет, что вы хотите ввести формулу массива и сам подставит скобки.

Таким образом, функция ВПР поиск по двум столбцам производит в 2 этапа: сначала мы очищаем диапазон данных от строк, не соответствующих одному из условий, при помощи функции ЕСЛИ и формулы массива. А затем уже в этой откорректированной информации производим обычный поиск по одному только второму критерию при помощи ВПР.

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

Вот как это будет выглядеть.

ВПР по нескольким критериям с применением массивов — способ 2.

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

Условия возьмем те же, что и в предыдущем примере.

Формулу в С4 введем такую:

Естественно, не забываем нажать CTRL+Shift+Enter.

Теперь давайте пошагово разберем, как это работает.

Наше задача здесь – также создать дополнительный столбец для работы функции ВПР. Только теперь мы создаем его не на листе рабочей книги Excel, а виртуально.

Как и в предыдущем примере, мы ищем текст из объединенных в одно целое условий поиска.

Далее определяем данные, среди которых будем искать.

Конструкция вида A7:A20&B7:B20&C7:C20;D7:D20 создает 2 элемента. Первый – это объединение колонок A, B и C из исходных данных. Если помните, то же самое мы делали в нашем дополнительном столбце. Второй D7:D20 – это значения, одно из которых нужно в итоге выбрать.

Функция ВЫБОР позволяет из этих элементов создать массив. как раз и означает, что нужно взять сначала первый элемент, затем второй, и объединить их в виртуальную таблицу – массив.

В первой колонке этой виртуальной таблицы мы будем искать, а из второй – извлекать результат.

Таким образом, для работы функции ВПР с несколькими условиями мы вновь используем дополнительный столбец. Только создаем его не реально, а виртуально.

Двойной ВПР при помощи ИНДЕКС + ПОИСКПОЗ

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

Формула в С4 теперь выглядит так:

И не забываем при вводе нажать CTRL+Shift+Enter! Это формула массива.

Теперь давайте разбираться, как это работает.

Функция ИНДЕКС в нашем случае позволяет извлечь элемент из списка по его порядковому номеру. Список – это диапазон D7:D20, где записаны суммы выручки. А вот порядковый номер, который нужно извлечь, мы определяем при помощи ПОИСКПОЗ.

Синтаксис здесь следующий:

ПОИСКПОЗ(что_ищем; где_ищем; тип_поиска)

Тип поиска ставим 0, то есть точное совпадение. В нашем случае мы будем искать 1. Далее мы определим массив, в котором будем работать.

Выражение (A7:A20=C1)*(B7:B20=C2)*(C7:C20=C3) позволит создать виртуальную таблицу примерно такого вида:

Как видите, первоначально мы последовательно сравниваем каждое значение с нашим критерием отбора. В столбце А у нас записаны месяцы – сравниваем их с месяцем-критерием из ячейки C1. В случае совпадения получаем ИСТИНА, иначе – ЛОЖЬ. Аналогично последовательно проверяем год и название магазина. А затем просто перемножаем значения. Поскольку логические переменные для Excel – это либо 0, либо 1, то произведение их может быть равно 1 только в том случае, если мы имеем по каждой колонке ИСТИНА (то есть,1). Во всех остальных случаях получаем 0.

Убеждаемся, что цифра 1 встречается только единожды.

При помощи ПОИСКПОЗ определяем, на какой позиции она находится. На какой позиции находится 1, на той же позиции находится в массиве и искомая сумма выручки. В нашем случае это 10-я.

Далее при помощи ИНДЕКС извлекаем 10-ю по счету выручку.

Таким образом мы выбрали значение по нескольким условиям без использования функции ВПР.

Достойная замена – функция СУММПРОИЗВ.

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

Работает как формула массива, хотя по факту таковой не является. В этом заключается замечательное свойство функции СУММПРОИЗВ, о которой мы еще много будем говорить в других статьях.

Последовательно по каждой строке диапазона от 2-й до 27-й она проверяет совпадение каждого соответствующего значения с критерием поиска. Эти результаты перемножаются между собой и в итоге еще умножаются на сумму выручки. Если среди трех условий будет хотя бы одно несовпадение, то итогом будет 0. В случае совпадения сумма выручки трижды умножится на 1.

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

В качестве бонуса можно продолжить этот пример и рассчитать общую сумму продаж менеджера в определенном регионе.

Для этого из формулы просто уберем сравнение по дате.

Кстати, возможен и другой вариант расчета с этой же функцией:

Итак, мы рассмотрели примеры использования функции ВПР с двумя и с несколькими условиями. А также обнаружили, что этой ценной функции есть замечательная альтернатива.

Примеры использования функции ВПР:

Как объединить две или несколько таблиц в Excel — В этом руководстве вы найдете некоторые приемы объединения таблиц Excel путем сопоставления данных в одном или нескольких столбцах. Как часто при анализе в Excel вся необходимая информация собирается на одном…

ВПР с несколькими таблицами

2 способа извлечь данные из разных таблиц при помощи ВПР. — Задача: Данные, которые нужно найти и извлечь при помощи функции ВПР, находятся в нескольких таблицах. Эти таблицы имеют одинаковую структуру (то есть, одни и те же столбцы, расположенные в одном…
/> Вычисление номера столбца для извлечения данных в ВПР — Задача: Наиболее простым способом научиться указывать тот столбец, из которого функция ВПР будет извлекать данные. При этом мы не будем изменять саму формулу, поскольку это может привести в случайным ошибкам.…
4 способа, как сделать левый ВПР в Excel. — Функция ВПР – одна из самых популярных, когда нужно найти и извлечь из таблицы какие-либо данные. Но при этом она имеет один существенный недостаток. Поиск она производит в крайнем левом…
Формула ВПР в Excel для сравнения двух таблиц — 4 способа — Сравнение таблиц – это задача, которую в Excel приходится довольно часто решать. Например, у нас есть старый прайс-лист и его новая версия. Нужно просмотреть, цены на какие товары изменились и…
Почему не работает ВПР в Excel? — Функция ВПР – это очень мощный инструмент поиска. Но если он по каким-то причинам завершился неудачно, то вы получите сообщение об ошибке #Н/Д (#N/A в английском варианте). Давайте постараемся вместе…
Функция ВПР в Excel: пошаговая инструкция с 5 примерами — ВПР — это функция Excel для поиска и извлечения данных из определенного столбца в таблице. Она поддерживает приблизительное и точное сопоставление, а также подстановочные знаки (* и ?). Значения поиска…
Формула ВПР в Excel — 22 факта, которые нужно знать. — В процессе работы в Excel часто возникает задача извлечения нужных данных из рабочих таблиц. Для этой цели в Excel предусмотрена формула ВПР (VLOOKUP в английском варианте). И хотя ВПР относительно…

Суть запроса на выборку – выбрать из исходной таблицы строки, удовлетворяющие определенным критериям (подобно применению стандартного Фильтра ). Произведем отбор значений из исходной таблицы с помощью формул массива . В отличие от применения Фильтра ( CTRL+SHIFT+L или Данные/ Сортировка и фильтр/ Фильтр ) отобранные строки будут помещены в отдельную таблицу.

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

1. Один числовой критерий (Выбрать те Товары, у которых цена выше минимальной)

Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист Один критерий — число ).

Необходимо отобразить в отдельной таблице только те записи (строки) из Исходной таблицы, у которых цена выше 25.

Решить эту и последующие задачи можно легко с помощью стандартного фильтра . Для этого выделите заголовки Исходной таблицы и нажмите CTRL+SHIFT+L . Через выпадающий список у заголовка Цены выберите Числовые фильтры. , затем задайте необходимые условия фильтрации и нажмите ОК.

Будут отображены записи удовлетворяющие условиям отбора.

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

Критерий (минимальную цену) разместим в ячейке Е6 , таблицу для отфильтрованных данных — в диапазоне D10:E19 .

Теперь выделим диапазон D11:D19 (столбец Товар) и в Строке формул введем формулу массива :

Вместо ENTER нажмите сочетание клавиш CTRL+SHIFT+ENTER .

Те же манипуляции произведем с диапазоном E11:E19 куда и введем аналогичную формулу массива :

В результате получим новую таблицу, которая будет содержать только товары, у которых цены попадают в интервал, указанный в ячейках Е5 и Е6 .

Чтобы показать динамизм полученного Отчета (Запроса на выборку) введем в Е6 значение 65. В новую таблицу будет добавлена еще одна запись из Исходной таблицы, удовлетворяющая новому критерию.

Если в Исходную таблицу добавить новый товар с Ценой в диапазоне от 25 до 65, то в новую таблицу будет добавлена новая запись.

В файле примера также содержатся формулы массива с обработкой ошибок, когда в столбце Цена содержится значение ошибки, например #ДЕЛ/0! (см. лист Обработка ошибок ).

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

3. Один критерий Дата (Выбрать те Товары, у которых Дата поставки совпадает заданной)

Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист Один критерий — Дата ).

Для отбора строк используются формулы массива, аналогичные Задаче1 (вместо критерия =$B$12:$B$20)*(СТРОКА($B$12:$B$20)-СТРОКА($B$11));$J$12-СТРОКА(A12)+СТРОКА($B$11)+1))

Примечание : После ввода формулы вместо клавиши ENTER (ВВОД) нужно нажать сочетание клавиш CTRL+SHIFT+ENTER. Это сочетание клавиш используется для ввода формул массива.

Скопируйте формулу массива вниз на нужное количество ячеек. Формула вернет только те значения Товаров, которые были поставлены в диапазоне указанных дат. В остальных ячейках будут содержаться ошибки #ЧИСЛО! Ошибки в файле примера (Лист 4.Диапазон Дат) скрыты с помощью Условного форматирования .

Аналогичную формулу нужно ввести и для дат в столбец E.

В ячейке J12 вычислено количество строк исходной таблицы, удовлетворяющих критериям:

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

Для ввода первой формулы выделите диапазон ячеек G12:G20 . После ввода формулы вместо клавиши ENTER (ВВОД) нужно нажать сочетание клавиш CTRL+SHIFT+ENTER.

Решение3 : Если столбец Дат СОРТИРОВАН, то можно не использовать формулы массива.

Сначала необходимо вычислить первую и последнюю позиции строк, которые удовлетворяют критериям. Затем вывести строки с помощью функции СМЕЩ() .

Этот пример еще раз наглядно демонстрирует насколько предварительная сортировка данных облегчает написание формул.

5. Один критерий Дата (Выбрать те Товары, у которых Дата поставки не раньше/ не позже заданной)

Пусть имеется Исходная таблица с перечнем Товаров и Датами поставки (см. файл примера, лист Один критерий — Дата (не позже) ).

Для отбора строк, дата которых не раньше (включая саму дату), используется формула массива:

= ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ($E$7 C15;И($B$7>=B15;$B$7 =$B$13:$B$21)*($B$13:$B$21>0);СТРОКА($B$13:$B$21);»»);СТРОКА($B$13:$B$21)-СТРОКА($B$12)) -СТРОКА($B$12))

Условие $E$7=$A$13:$A$21 гарантирует, что будут отобраны товары только определенного типа. Условие $E$8>=$B$13:$B$21 гарантирует, что будут отобраны даты не позже заданной (включая). Условие $B$13:$B$21>0 необходимо, если в диапазоне дат имеются пустые ячейки. Знак * (умножение) используется для задания Условия И (все 3 критерия должны выполняться для строки одновременно).

Примечание . Случай, когда список несортирован, рассмотрен в статье Поиск ДАТЫ (ЧИСЛА) ближайшей к заданной, с условием в MS EXCEL. Несортированный список .

7. Один Текстовый критерий (Выбрать Товары определенного вида)

Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист Один критерий — Текст ).

Задача решается аналогично Задачам 1 и 3. Более подробное решение см. в статье Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск .

8. Два Текстовых критерия (Выбрать Товары определенного вида, поставленные в заданный месяц)

Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист 2 критерия — текст (И) ).

Для отбора строк используется формула массива:

Выражение ($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19) задает оба условия (Товар и Месяц).

Выражение СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19))) формирует массив последовательных чисел , т.е. номера строк в таблице.

9. Два Текстовых критерия (Выбрать Товары определенных видов)

Пусть имеется Исходная таблица с перечнем Товаров и Ценами (см. файл примера, лист 2 критерия — текст (ИЛИ) ).

В отличие от Задачи 7 отберем строки с товарами 2-х видов ( Условие ИЛИ ).

Для отбора строк используется формула массива:

= ИНДЕКС(A$11:A$19; НАИБОЛЬШИЙ((($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19))*(СТРОКА($A$11:$A$19)-СТРОКА($A$10)); СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1))

Условие ($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19) гарантирует, что будут отобраны товары только заданных видов из желтых ячеек (Товар2 и Товар3). Знак + (сложение) используется для задания Условие ИЛИ (должен быть выполнен хотя бы 1 критерий).

Вышеуказанное выражение вернет массив . Умножив его на выражение СТРОКА($A$11:$A$19)-СТРОКА($A$10) , т.е. на массив последовательных чисел , получим массив позиций (номеров строк таблицы), удовлетворяющих критериям. В нашем случае это будет массив .

С помощью функции НАИБОЛЬШИЙ() выведем 3 значения из позиции 5 (строка 15 листа), 6 (16) и 7 (17), т.е. значения Товар2, Товар2 и Товар3. Для этого используем выражение СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1 , которое последовательно (начиная со строки 11) будет возвращать числа 3; 2; 1; 0; -1; -2; . Формула НАИБОЛЬШИЙ(. ;3) вернет число 5, НАИБОЛЬШИЙ(. ;2) вернет число 6, НАИБОЛЬШИЙ(. ;1) вернет число 7, а НАИБОЛЬШИЙ(. ;0) и далее вернет ошибку, которую мы скроем условным форматированием .

И наконец, с помощью функции ИНДЕКС() последовательно выведем наши значения из соответствующих позиций: = ИНДЕКС(A$11:A$19;5) вернет Товар2, = ИНДЕКС(A$11:A$19;6) вернет Товар2, = ИНДЕКС(A$11:A$19;7) вернет Товар3.

10. Отбор значений с учетом повторов

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

Наиболее популярные статьи из этого раздела:

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

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

Предположим, что нас интересует сколько и каких партий товаров поставлялось по цене от 1000р. до 2000р. (критерий 1). Причем, партий с одинаковой ценой должно быть минимум 3 (критерий 2).

Решением является формула массива:

Эта формула возвращает номера строк, которые удовлетворяют обоим критериям.

Формула =СУММПРОИЗВ(($C$14:$C$27>=$B$7)*($C$14:$C$27 =$B$10)) подсчитывает количество строк, которые удовлетворяют критериям.

В файле примера на листе «10.Критерий — колич-во повторов» настроено Условное форматирование , которое позволяет визуально определить строки удовлетворяющие критериям, а также скрыть ячейки, в которых формула массива возвращает ошибку #ЧИСЛО!

11. Используем значение критерия (Любой) или (Все)

В фильтре Сводных таблиц MS EXCEL используется значение (Все), чтобы вывести все значения столбца. Другими словами, в выпадающем списке значений критерия содержится особое значение, которое отменяет сам критерий (см. статью Отчеты в MS EXCEL , Отчет №3).

В файле примера на листе «11. Критерий Любой или (Все)» реализован данный вариант критерия.

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

Остальная часть формулы аналогична рассмотренным выше.

12. Актуальная цена

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

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

2) определяем последнюю (максимальную) дату для каждого товара с помощью формулы массива =МАКС((Таблица1[товар]=E8)*Таблица1[дата])

3) наконец, выводим актуальную цену =СУММЕСЛИМН(Таблица1[цена];Таблица1[товар];E8;Таблица1[дата];F8)

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

Понравилась статья? Поделить с друзьями:
  • Excel формулы с процентами примеры
  • Excel формулы с переменными значениями ячеек
  • Excel формулы с датами день недели
  • Excel формулы с данными на разных листах
  • Excel формулы регулярные выражения