Функция index (индекс) в excel. как использовать?

Алан-э-Дейл       30.08.2023 г.

Содержание

Особенности использования функции ИНДЕКС в Excel

Функция имеет два варианта синтаксической записи:

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

= ИНДЕКС(ссылка; номер_строки; ; )

Описание аргументов:

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

  1. Одну строку либо столбец. В этом случае один из последующих аргументов функции является необязательным для заполнения (строка или столбец соответственно).
  2. Несколько строк и столбцов. Функция ИНДЕКС вернет диапазон ячеек, являющихся строкой или столбцом массива (диапазона), переданного в качестве первого аргумента, если указан только номер его строки либо номер столбца соответственно.
  • ссылка – обязательный для заполнения первый аргумент функции ссылочной формы, принимающий ссылку на один или несколько диапазонов ячеек. Ссылки на два и более несмежных диапазона должны быть заключены в скобки (например, функция с аргументами ((A1:B4;D4:E9);2;2;1), принимающая ссылку на несмежные диапазоны A1:B4 и D4:E9). Один из последующих аргументов функции необязателен для заполнения, если в качестве данного аргумента передана ссылка на области, состоящие из одной строки или одного столбца.
  • номер_строки – обязательный для заполнения аргумент (если следующий явно не указан), принимающий числовые значения, которые характеризуют номер строки в массиве или диапазоне, заданном аргументом массив, либо номер строки в диапазоне ячеек, заданном аргументом ссылка.
  • – необязательный аргумент, принимающий число, которое соответствует номеру искомого столбца в массиве или диапазоне, который задан аргументом массив, либо номер строки в диапазоне ячеек, переданном в качестве аргумента ссылка.
  • – необязательный аргумент функции ИНДЕКС ссылочной формы, принимающий числовое значение, которое характеризует порядковый номер диапазона из переданных в качестве аргумента ссылка, в котором будет произведен поиск на основе заданных номерах столбца и строки. Нумерация диапазонов начинается с единицы (1). Для корректной работы функции ИНДЕКС все несмежные диапазоны, переданные в качестве аргумента ссылка, должны находиться на одном листе.

Примечания:

  1. Аргументы номер_строки и должны указывать на ячейку (ячейки) внутри массива или диапазона, переданных в качестве аргументов массив или ссылка, иначе функция вернет код ошибки #ССЫЛКА!.
  2. Если в качестве аргументов номер_строки и (или) указаны значения 0 (нуль), результатом выполнения функции ИНДЕКС будет массив значений из строки или столбца либо всего массива (диапазона) переданного в качестве аргумента массив. Это справедливо и для функции ИНДЕКС ссылочной формы, только вместо массива значений будет возвращена ссылка не весь столбец, всю строку или весь диапазон (если оба аргумента принимают значение 0).
  3. Если требуется, чтобы функция формы массива вернула значения нескольких ячеек, а не одной ячейки, находящейся на пересечении указанных номеров строки и столбца, она должна быть выполнена в качестве формулы массива (сочетание клавиш Ctrl+Shift+Enter).

Поиск позиции элемента в списке с ПОИСКПОЗ (MATCH)

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

Синтаксис этой функции следующий:

=ПОИСКПОЗ( Что_ищем ; Где_ищем ; Режим_поиска )

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

Давайте рассмотрим несколько полезных вариантов ее применения на практике.

Точный поиск

Классический сценарий — поиск точного текстового совпадения для нахождения позиции нужного нам текста или числа в списке:

Поиск первой или последней текстовой ячейки

Если в качестве искомого значения задать звездочку, то функция будет искать первую ячейку с текстом и выдавать её позицию. Для поиска последней текстовой ячейки можно изменить третий аргумент Режим_поиска с нуля на минус 1:

Числа и пустые ячейки в этом случае игнорируются.

Поиск ближайшего числа или даты

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

Например, нам нужно выбрать генератор из прайс-листа для расчетной мощности в 47 кВт. Если последний аргумент задать равным 1 и отсортировать таблицу по возрастанию, то мы найдем ближайшую наименьшую по мощности модель (Зверь):

Если же третий аргумент равен -1 и таблица отсортирована по убыванию, то мы найдем ближайшую более мощную модель (Бомба):

Связка функций ПОИСКПОЗ и ИНДЕКС

Очень часто функция ПОИСКПОЗ используется в связке с другой крайне полезной функцией — ИНДЕКС (INDEX) , которая умеет извлекать данные из диапазона по номеру строки-столбца, реализуя, фактически, «левый ВПР».

Так, в предыдущем примере получить не номер, а название модели генератора можно очень легко:

Ну, и поскольку Excel внутри хранит и обрабатывает даты как числа, то подобный подход на 100% работает и с датами. Например, мы можем легко определить на каком этапе сейчас находится наш проект:

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

Используем несколько ВПР в одной формуле

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

Давайте разберем следующий пример. У нас есть основная таблица (Main table) со столбцом SKU (new), куда необходимо добавить столбец с соответствующими ценами из другой таблицы. Кроме этого, у нас есть 2 таблицы поиска. Первая (Lookup table 1) содержит обновленные номера SKU (new) и названия товаров, а вторая (Lookup table 2) – названия товаров и старые номера SKU (old).

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

  1. Запишите функцию ВПР, которая находит имя товара в таблице Lookup table 1, используя SKU, как искомое значение:

    Здесь New_SKU – именованный диапазон $A:$B в таблице Lookup table 1, а 2 – это столбец B, который содержит названия товаров (смотрите на рисунке выше)

  2. Запишите формулу для вставки цен из таблицы Lookup table 2 на основе известных названий товаров. Для этого вставьте созданную ранее формулу в качестве искомого значения для новой функции ВПР:

    Здесь Price – именованный диапазон $A:$C в таблице Lookup table 2, а 3 – это столбец C, содержащий цены.

На рисунке ниже виден результат, возвращаемый созданной нами формулой:

Пример формулы с ВПР и ПОИСКПОЗ

Пример таблицы табель премии изображен ниже на рисунке:

Назначением данной таблицы является поиск соответственных значений премии в диапазоне B5:K11 на основе определенной сумы выручки и магазинов с пределами минимальных или максимальных размеров выплаты премии. Сложность возникает при автоматическом определении размера премии, на которую может рассчитывать сотрудник при преодолении определенной границы выручки. Так как нет четко определенной одной суммы выплаты премии для каждого вероятного размера выручки. Есть только пределы нижних и верхних границ сумм премий для каждого магазина.

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

Для этого:

  1. В ячейку B14 введите размер выручки: 370 000.
  2. В ячейке B15 укажите номер магазина: 3.
  3. В ячейке B16 введите следующую формулу:

В результате определена нижняя граница премии для магазина №3 при выручке больше >370 000, но меньше


Поиск ближайшего значения Excel формулой ВПР и ПОИСКПОЗ:

В первом аргументе функции ВПР указываем ссылку на ячейку с критерием поискового запроса (исходная сумма выручки), который содержится в ячейке B14. Область поиска в просматриваемом диапазоне A5:K11 указывается во втором аргументе функции ВПР. А в третьем аргументе должен быть указан номер столбца, но он пока неизвестен. Из второго критерия поискового запроса известно только что исходный номер столбца таблицы относится к 3-тьему магазину (ячейка B15).

Чтобы определить номер столбца, который содержит заголовок «Магазин 3» следует использовать функцию ПОИСКПОЗ. Как само название функции говорит о том, что ее задачей является поиск позиции где находится значение внутри определенного диапазона ячеек. В нашем случаи мы ищем значение: «Магазин 3», которое следует еще определить используя конструкцию сложения амперсандом текстовой строки «Магазин » и критерий из ячейки B15. Поэтому в первому аргументе функции указываем «Магазин »&B15. Во втором аргументе функции ПОИСКПОЗ указывается ссылка на просматриваемый диапазон A3:J3 где нужно искать исходное значение (указанное в первом аргументе). Третий аргумент содержит значение 0 – это значит, что функция возвратит результат, как только найдет первое совпадение значений. В нашем примере значение «Магазин 3» находится на позиции номер 6 в диапазоне A3:J3, а значит функция ПОИСКПОЗ возвращает число 6 которое будет использовано в качестве значения для третьего критерия функции ВПР. Есть еще и четвертый аргумент в функции ВПР который определяет точность совпадения найденного значения с критерием (0-точное совпадение; 1 или пусто – приближенное совпадение), но в формуле он опущен по следующей причине. Получив все аргументы функция ВПР не находит значения 370 000 и так как не указан последний аргумент выполняет поиск ближайшего значения в Excel – 350 000.

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

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

Полезные советы для формул с функциями ВПР, ИНДЕКС и ПОИСКПОЗ:

Чтобы пошагово проанализировать формулу Excel любой сложности, рационально воспользоваться встроенными инструментами в разделе: «ФОРМУЛЫ»-«Зависимости формул». Например, особенно полезный инструмент для пошагового анализа вычислительного цикла – это «Вычислить формулу».

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

Создание формулы подстановки с помощью мастера подстановок (толькоExcel 2007 )

Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).

В Excel 2007 мастер подстановок создает формулу подстановки на основе данных листа, имеющих заголовки строк и столбцов. Мастер подстановок помогает находить другие значения в строке, когда вы знаете значение в одном столбце, и наоборот. Мастер подстановок использует индекс и СОВПАДЕНИе в создаваемых формулах.

Щелкните ячейку в диапазоне.

На вкладке формулы в группе решения нажмите кнопку Подстановка .

Если команда подстановка недоступна, необходимо загрузить мастер подстановок надстройка программу.

Загрузка программы-надстройки «Мастер подстановок»

Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.

В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.

Постановка задачи

Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно – без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?

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

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

Способ 1. Дополнительный столбец с ключом поиска

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

Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:

Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:

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

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

Способ 2. Функция СУММЕСЛИМН

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

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

Минусы : Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).

Способ 3. Формула массива

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

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

Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.

Как это на самом деле работает:

Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.

Плюсы : Не нужен отдельный столбец, работает и с числами и с текстом.

Минусы : Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).

Именованные диапазоны облегчают понимание расчетов и еще больше упрощают работу.

Абсолютные ссылки выглядят довольно некрасиво и не очень понятно и наглядно. Поэтому можно сделать ваши расчёты намного чище и проще для понимания, заменив абсолютные ссылки именованными диапазонами. И никакие возможные изменения на вашем листе Excel не смогут их «испортить».

Копировать и переносить их также можно без проблем.

В приведенном выше примере с данными о сотрудниках вы можете назвать входную ячейку B2 «фамилия», а затем выделить все ячейки с информацией и назвать диапазон B5:F100 как «ДанныеСлужащего». Затем перепишите свою формулу в C2 следующим образом:

Сравните сами — насколько понятнее стал расчет из совета №12 по сравнению с №11.

Примеры формул с функциями ИНДЕКС и ПОИСКПОЗ СУММПРОИЗВ в Excel

​ примитивный случай применения​ когда с помощью​ ячейку, которая содержит​ того, чтобы найти​#N/A​ успеваемость учащихся в​ этим столбцом пишем​ включая шапку. Так​ удалось ли найти​ как показано на​ результата при использовании​Овощи​

Поиск значений по столбцам таблицы Excel

​ищет самое маленькое​ порядкового номера указанного​ случае – это​ использовать только один​«Сортировка и фильтр»​ оператора​

​ПОИСКПОЗ​ любое из вышеперечисленных​ из нескольких угаданных​(#Н/Д).​ буквенную систему оценок.​

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

Формула массива или функции ИНДЕКС и СУММПРОИЗВ

​ чисел ближайшее к​=MATCH(D5,{«Jan»,»Feb»,»Mar»},0)​Использовать вместе с​Первым аргументом у нас​ выпадающий список артикулов,​ выражение. Если нет,​ для искомого выражения​Итак, у нас есть​ C17 следующую формулу​ или равно заданному.​ данных. Но польза​«Наименование товара»​

​«Номер строки»​ ленте в блоке​, но даже его​ указанного элемента в​«Просматриваемый массив»​ правильному.​=ПОИСКПОЗ(D5;{«Jan»;»Feb»;»Mar»};0)​VLOOKUP​

  1. ​ будет не просто​
  2. ​ которые мы можем​ то функция возвращает​ «Прогулка в парке»).​ таблица, и мы​ и нажмем​ Требуется сортировка в​ от него значительно​.​или​«Редактирование»​

​ можно автоматизировать.​ массиве текстовых данных.​

​– это адрес​Функция​

​Вы можете преобразовать оценки​

​(ВПР) для гибкого​ массив, а максимальное​ выбирать.​ ошибку. С помощью​В результате мы получаем​ бы хотели, чтобы​Enter​ порядке убывания.​ увеличивается, если он​В поле​«Номер столбца»​. В появившемся списке​Для удобства на листе​ Узнаем, какую позицию​ диапазона, в котором​ABS​ учащихся в буквенную​ выбора столбца.​ число из массива.​Теперь нужно сделать так,​ функции ЕОШИБКА мы​ массив с нулями​ формула Excel отвечала​:​В одиночку функция​

​ применяется в комплексных​

​«Номер строки»​.​ выбираем пункт​ добавляем ещё два​ в диапазоне, в​ расположено искомое значение.​возвращает модуль разницы​ систему, используя функцию​Использовать вместе с​ Поэтому дополнительно используем​ чтобы при выборе​ проверяем выдала ли​ везде, где значения​ на вопрос, в​=ИНДЕКС(B2:E13; ПОИСКПОЗ(C15;A2:A13;0); ПОИСКПОЗ(C16;B1:E1;0))​ПОИСКПОЗ​ формулах.​будет располагаться вложенная​

​Особенность связки функций​«Сортировка от максимального к​ дополнительных поля:​ котором находятся наименования​ Именно позицию данного​ между каждым угаданным​MATCH​INDEX​ команду МАКС и​

​ артикула автоматически выдавались​

​(ПОИСКПОЗ) так же,​(ИНДЕКС), чтобы найти​ выделяем соответствующий массив.​ значения в остальных​ Если да, то​

Пример формулы поиска значений с функциями ИНДЕКС и ПОИСКПОЗ

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

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

Пример формулы функций ИНДЕКС и НЕ

​Функция​ не нужны никакие​ функцией ИНДЕКС. Записываем​

​ ИСТИНА. Быстро меняем​ столбца, в котором​ использую столбец), находится​ тип товара, формула​ ее очень часто​и​ вручную, используя синтаксис,​заключается в том,​

​ сортировка произведена, выделяем​. В поле​Выделяем ячейку, в которую​ПОИСКПОЗ​(МИН) находит наименьшую​VLOOKUP​MATCH​ аргументы, но требуется​ ее и параллельно​ её на ЛОЖЬ​

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

​ПОИСКПОЗ​

​ о котором говорится​ что последняя может​ ячейку, где будет​«Заданное значение»​ будет выводиться обрабатываемый​.​ из разниц.​(ВПР). В этом​(ПОИСКПОЗ) имеет следующий​ ввести номер строки​ изучаем синтаксис.​ и умножаем на​ найдено.​ что анимация, расположенная​ результат:​ функцией​в Excel –​ в самом начале​ использоваться в качестве​ выводиться результат, и​вбиваем то наименование,​ результат. Щелкаем по​«Тип сопоставления»​Функция​ примере функция использована​ синтаксис:​ и столбца. В​Массив. В данном случае​ введённый вручную номер​СУММ(($A$2:$D$9=F2)*СТОЛБЕЦ($A$2:$D$9))​ выше, полностью показывает​В данной формуле функция​ИНДЕКС​ хорошая альтернатива​ статьи. Сразу записываем​

exceltable.com>

Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ

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

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

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

Если у Вас всего два таких отчета, то можно использовать до безобразия простую формулу с функциями ВПР и ЕСЛИ (IF), чтобы выбрать нужный отчет для поиска:

Где:

$D$2 – это ячейка, содержащая название товара

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

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

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

Вы, конечно же, можете использовать обычные названия листов и ссылки на диапазоны ячеек, например ‘FL Sheet’!$A$3:$B$10, но именованные диапазоны гораздо удобнее.

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

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

Где:

  • $D$2 – это ячейка с названием товара, она неизменна благодаря абсолютной ссылке.
  • $D3 – это ячейка, содержащая первую часть названия региона. В нашем примере это FL.
  • _Sales – общая часть названия всех именованных диапазонов или таблиц. Соединенная со значением в ячейке D3, она образует полное имя требуемого диапазона. Ниже приведены некоторые подробности для тех, кто не имеет опыта работы с функцией ДВССЫЛ.

Как работают ДВССЫЛ и ВПР

Во-первых, позвольте напомнить синтаксис функции ДВССЫЛ (INDIRECT):

Первый аргумент может быть ссылкой на ячейку (стиль A1 или R1C1), именем диапазона или текстовой строкой. Второй аргумент определяет, какого стиля ссылка содержится в первом аргументе:

  • A1, если аргумент равен TRUE (ИСТИНА) или не указан;
  • R1C1, если FALSE (ЛОЖЬ).

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

Итак, давайте вернемся к нашим отчетам по продажам. Если Вы помните, то каждый отчёт – это отдельная таблица, расположенная на отдельном листе. Чтобы формула работала верно, Вы должны дать названия своим таблицам (или диапазонам), причем все названия должны иметь общую часть. Например, так: CA_Sales, FL_Sales, TX_Sales и так далее. Как видите, во всех именах присутствует “_Sales”.

Функция ДВССЫЛ соединяет значение в столбце D и текстовую строку “_Sales”, тем самым сообщая ВПР в какой таблице искать. Если в ячейке D3 находится значение “FL”, формула выполнит поиск в таблице FL_Sales, если “CA” – в таблице CA_Sales и так далее.

Результат работы функций ВПР и ДВССЫЛ будет следующий:

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

Если функция ДВССЫЛ ссылается на другую книгу, то эта книга должна быть открытой. Если же она закрыта, функция сообщит об ошибке #REF! (#ССЫЛ!).

Гость форума
От: admin

Эта тема закрыта для публикации ответов.