Индекс поискпоз в excel поиск по двум столбцам

Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ

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

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

Функции ВПР и ГПР вместе с функцией индекс и ПОИСКПОЗявляются наиболее полезными функциями в Excel.

Примечание: Функция “Мастер подстановок” больше не доступна в Excel.

Ниже приведен пример использования функции ВПР.

В этом примере ячейка B2 является первым аргументом— элементом данных, для работы которого требуется функция. Для функции ВПР первым аргументом является значение, которое нужно найти. Этот аргумент может быть ссылкой на ячейку или фиксированным значением, таким как “Иванов” или 21 000. Второй аргумент — это диапазон ячеек (C2-: E7, в котором нужно найти искомое значение. Третьим аргументом является столбец в диапазоне ячеек, который содержит искомое значение.

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

В этом примере показано, как работает функция. Когда вы вводите значение в ячейке B2 (первый аргумент), функция ВПР ищет ячейки в диапазоне C2: E7 (второй аргумент) и возвращает ближайшее приближенное соответствие из третьего столбца в диапазоне, столбец E (Третий аргумент).

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

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

Использование функций индекс и MATCH вместо функции ВПР

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

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

Дополнительные примеры использования функции индекс и MATCH вместо функции ВПР можно найти в статье https://www.MrExcel.com/Excel-Tips/Excel-VLOOKUP-index-Match/ by Bill Джилена, Microsoft MVP.

Попробуйте попрактиковаться

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

Пример функции ВПР на работе

Скопируйте указанные ниже данные в пустой лист.

Совет: Перед вставкой данных в Excel задайте ширину столбцов для столбцов A — 250 пикселей и нажмите кнопку Перенос текста (вкладка Главная , группа Выравнивание ).

Источник: support.office.com

Поиск и подстановка по нескольким условиям

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

Если вы продвинутый пользователь 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, чтобы ввести формулу не как обычную, а как формулу массива.
  • Как это на самом деле работает:

    Читайте также:  Добавить столбец в сводную таблицу в excel

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

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

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

    Источник: www.planetaexcel.ru

    Индекс поискпоз в excel поиск по двум столбцам

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

    Есть длина, ширина, толщина. Нужно найти значение соответствующее этим трем критериям. Есть столбец “Длина” значения 500, 1000 и др. В столбце “Ширина” при длине 500, есть значения 100, 150, 200. Так же при следующей длине – 1000. Есть так же столбцы с шириной и значениями 30, 50, 70, 100. Всем этим критериям соответствует определенное значение со временем. Которое и нужно найти.

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

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

    Есть длина, ширина, толщина. Нужно найти значение соответствующее этим трем критериям. Есть столбец “Длина” значения 500, 1000 и др. В столбце “Ширина” при длине 500, есть значения 100, 150, 200. Так же при следующей длине – 1000. Есть так же столбцы с шириной и значениями 30, 50, 70, 100. Всем этим критериям соответствует определенное значение со временем. Которое и нужно найти.

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

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

    Есть длина, ширина, толщина. Нужно найти значение соответствующее этим трем критериям. Есть столбец “Длина” значения 500, 1000 и др. В столбце “Ширина” при длине 500, есть значения 100, 150, 200. Так же при следующей длине – 1000. Есть так же столбцы с шириной и значениями 30, 50, 70, 100. Всем этим критериям соответствует определенное значение со временем. Которое и нужно найти.

    Возможно ли это при заданной таблице в таком виде или лучше разбить таблицу на несколько различных? Автор – Anatoly88
    Дата добавления – 11.06.2016 в 15:57

    Источник: www.excelworld.ru

    ВПР по двум и более критериям

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

    Для большего понимания смысла статьи рекомендую сначала скачать файл с примером данных и формул:
    Скачать пример:

    Tips_All_VlookupMany.xls (62,5 KiB, 5 173 скачиваний)

    Например, имеется файл с таблицей такого вида:

    И необходимо получить сумму выручки не только на основании салона, но и на основании бренда. При этом делать это автоматически, например для получения данных в такую табличку:

    Т.е. в ячейке B2 из выпадающего списка выбирается Салон, а из B3 – Бренд(подробнее про выпадающие списки можно прочесть в статье Выпадающие списки). И в зависимости от выбора должна рассчитаться сумма Выручки и должен проставиться комментарий.

    В приложенном к статье файле исходная таблица находится на листе ” Отчет сентябрь “, а вторая(с выбором) на листе ” Выбор “. На самом деле это не сильно принципиально, просто будет более понятна логика формул, приведенных ниже.
    Сумму по двум критериям можно найти при помощи той же СУММЕСЛИМН (SUMIFS) :
    =СУММЕСЛИМН(‘Отчет сентябрь’!$C$2:$C$67;’Отчет сентябрь’!$A$2:$A$67; B2 ;’Отчет сентябрь’!$B$2:$B$67; B3 )
    =SUMIFS(‘Отчет сентябрь’!$C$2:$C$67,’Отчет сентябрь’!$A$2:$A$67,Выбор!B2,’Отчет сентябрь’!$B$2:$B$67,Выбор!B3)
    Подробнее про поиск сумм по двум и более критериям можно прочитать в статье Функция СУММЕСЛИ, а так же СУММЕСЛИ по двум критериям.
    А вот с комментарием сложнее – там содержится текст и СУММЕСЛИМН ничего не найдет. Да и в случае, если в исходных данных есть задвоения и суммировать по определению ничего не надо СУММЕСЛИМН будет не лучшим вариантом – ведь она вернет сумму всех ячеек, удовлетворяющих условиям. А это, повторюсь – не всегда нужно.
    Здесь на помощь придет родственная с ВПР функция – ПОИСКПОЗ (MATCH) :
    =ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( B2 & B3 ;’Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67;0))
    =INDEX(‘Отчет сентябрь’!$D$2:$D$67,MATCH(B2&B3,’Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67,0))
    Эта функция является формулой массива. Это означает, что вводить её в ячейки надо нажатием не просто Enter, а сочетанием трех клавиш – Ctrl+Shift+Enter. Теперь рассмотрим подробнее принцип работы этой формулы, чтобы можно было применить на любых данных. На самом деле принцип не так уж сложен. Основной упор сделан на эти две “связки”:

    • B2 & B3 – здесь объединяем значение выбранного Салона(Санкт-Петербург) и Бренда(Ниссан) в одну строку, чтобы получилось “Санкт-ПетербургНиссан”. За объединение двух значений отвечает амперсанд(&).
    • ‘Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67 – а здесь мы последовательно объединяем в одну строку значения двух столбцов исходных данных – Салон и Бренд. Т.е. в результате мы получим массив объединенных значений: МоскваBMW, ВоронежBMW, СамараЛексус и т.д. (именно это объединение требует, чтобы формула вводилась как формула массива) . И уже среди этих значений ищем “Санкт-ПетербургНиссан”. При нахождении совпадения ПОИСКПОЗ вернет позицию строки, в которой нашел. И передаст её в ИНДЕКС. А т.к. ИНДЕКС в нашем случае возвращает значение из заданной строки указанного массива, то мы получаем требуемое.

    По шагам это будет выглядеть так:

    сначала искомые значения будут объединены в один
    =ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( B2 & B3 ;’Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67;0))
    =>
    =ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( Санкт-Петербург & Ниссан ;’Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67;0))
    =>
    =ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( Санкт-Петербург Ниссан ;’Отчет сентябрь’!$A$2:$A$67&’Отчет сентябрь’!$B$2:$B$67;0))
    =>
    далее так же объединяем построчно значения всех столбцов для поиска значений
    =ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( Санкт-Петербург Ниссан ;<"МоскваBMW":"ВоронежBMW":"СамараЛексус". >;0))
    =>
    =ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;4)
    =>
    только допы

    Читайте также:  Как сложить суммы в столбцах excel

    Здесь важно следить за тем, чтобы значения в исходном массиве для поиска объединялись в том же порядке, что и искомые значения. На приложенном примере, если первым аргументом(искомое_значение) в ПОИСКПОЗ мы указали сначала Салон( B2 ) , а потом Бренд( B3 ) , то и вторым аргументом(просматриваемый_массив) мы должны указать два столбца в том же порядке – сначала Салон( ‘Отчет сентябрь’!$A$2:$A$67 ), а уже потом Бренд( ‘Отчет сентябрь’!$B$2:$B$67 ). Если их перепутать ошибки как таковой это не вызовет, но и значения найдены не будут.
    Так же стоит учитывать, что такая формула будет рассчитываться дольше обычной, поэтому не стоит указывать столбцы полностью( ‘Отчет сентябрь’!$A:$A ), т.к. это может повлечь за собой расчет всего одной формулы непозволительно долгое время.
    При этом очевидно, что просматривать значения можно не только из смежных столбцов, а из любых и уж точно они могут быть и первыми, и последними. И значения возвращаемые могут так же располагаться в любом столбце таблицы. И также хочу заметить, что это в примере используется только два критерия – реально их можно сделать и три, и пять, и десять. Объединяем сколько надо, указываем нужное кол-во столбцов так же с объединением и все. Но тут надо понимать, что в некоторых случаях будет оптимальнее добавить в исходные данные(те, где ищем) еще один столбец, в котором записать все данные, объединив их. Т.е. опять же на примере файла из статьи можно на листе “Отчет сентябрь” добавить формулу в столбец E: = A2 & B2
    и затем искать можно будет обычной формулой:
    =ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;ПОИСКПОЗ( B2 & B3 ;’Отчет сентябрь’!$E$2:$E$67;0))
    =INDEX(‘Отчет сентябрь’!$D$2:$D$67,MATCH(B2&B3,’Отчет сентябрь’!$E$2:$E$67,0))
    Больше нюансов, о которых я бы хотел рассказать, нет. Все стандартно, как для обычной связки ИНДЕКС(ПОИСКПОЗ .

    В приложенном к статье примере приведен пример и с функцией СУММЕСЛИМН и с функцией ПОИСКПОЗ.
    Скачать пример:

    Tips_All_VlookupMany.xls (62,5 KiB, 5 173 скачиваний)

    P.S. Если кого-то пугает тот факт, что формулу надо вводить как формулу массива(Ctrl+Shift+Enter), то можно модифицировать формулу так:
    =ИНДЕКС(‘Отчет сентябрь’!$D$2:$D$67;СУММПРОИЗВ(МАКС(( B2 =’Отчет сентябрь’!$A$2:$A$67)*( B3 =’Отчет сентябрь’!$B$2:$B$67)*(СТРОКА( $B$2:$B$67 )-1))))
    =INDEX(‘Отчет сентябрь’!$D$2:$D$67,SUMPRODUCT(MAX((B2=’Отчет сентябрь’!$A$2:$A$67)*(B3=’Отчет сентябрь’!$B$2:$B$67)*(ROW($B$2:$B$67)-1))))
    Здесь вместо ПОИСКПОЗ роль поиска номера строки в массиве ‘Отчет сентябрь’!$D$2:$D$67 играет СУММПРОИЗВ. Сам принцип работы СУММПРОИЗВ я описывал в этой статье – Функция СУММЕСЛИ, а так же СУММЕСЛИ по двум критериям. К этому могу добавить лишь некоторые разъяснения(хотя если хотите понять сам принцип – лучше потратить пару минут на статью).
    ( B2 =’Отчет сентябрь’!$A$2:$A$67) – здесь значение выбранного салона сверяется со списком салонов на листе Отчет сентябрь . Где значения равны получаем значение ИСТИНА(TRUE), где отличаются – ЛОЖЬ(FALSE).
    ( B3 =’Отчет сентябрь’!$B$2:$B$67) – здесь значение выбранного бренда сверяется со списком брендов на листе Отчет сентябрь . Где значения равны получаем значение ИСТИНА(TRUE), где отличаются – ЛОЖЬ(FALSE).
    В результате перемножения этих двух выражений мы получим массив 1 и 0(1 будет там, где бренд и салон совпали, 0 – где различаются), т.к. ИСТИНА для Excel по сути =1, а ЛОЖЬ =0.
    Далее полученный массив единиц и нулей перемножаем на выражение: СТРОКА( $B$2:$B$67 ) . Это выражение дает нам массив номеров строк т.к. в выражении берется номер строки на листе, а нам нужен номер в диапазоне ‘Отчет сентябрь’!$D$2:$D$67 , то мы еще вычитаем 1(т.к. диапазон у нас начинается со второй строки). С таким же успехом можно было не вычитать, а либо все диапазоны взять с первой строки, либо указать так: СТРОКА( $B$1:$B$66 )
    Полученный массив строк перемножаются на массив единиц и нулей салона и бренда. В результате получим номер строки, умноженный на 1 там, где салон и бренд равны искомым, и на ноль там, где отличаются. И в итоге массив номеров строки и нулей. И из этого отбирается максимальный номер строки.
    По сути, это уже решает проблему поиска, но если значений, подходящих под условия больше одного, то именно такой результат может быть(даже скорее всего будет) неверным. Чтобы этого избежать мы применяем функцию МАКС (MAX) , чтобы в результате из всех строк была отобрана только максимальная. Т.е. в результате мы получим не первое совпадение из всех возможных, а последнее.
    Так же рекомендую ознакомиться со статьей Как просмотреть этапы вычисления формул, чтобы можно было самостоятельно поразбираться в принципах работы формул.

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

    Статья помогла? Поделись ссылкой с друзьями!

    Источник: www.excel-vba.ru

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

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

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

    Пример 1. В турнирной таблице хранятся данные о сыгранных футбольных матчах для нескольких команд. Определить:

    1. Сколько очков заработала команда (поиск по названию) на данный момент.
    2. Суммарное значение очков, заработанных всеми командами.
    3. Сколько игр было сыграно какой-либо командой.

    Вид исходной таблицы данных:

    Для удобства в ячейках A11, A13 и A15 созданы выпадающие списки, элементы которых выбраны из диапазонов ячеек B1:E1 (для A11) и A2:A9 (для A13 и A15), содержащих названия команд. Для создания первого выпадающего списка необходимой перейти курсором на ячейку A11. Выбрать вкладку «ДАННЫЕ» ленты меню, найти секцию с инструментами «Работа с данными» и выбрать инструмент «Проверка данных»:

    В открывшемся диалоговом окне необходимо выбрать «Тип данных:» – «Список» и указать в поле «Источник» диапазон ячеек:

    Переходим в ячейку A13 и выполняем аналогичные действия только лишь указываем другую ссылку на диапазон в поле «Источник:»

    Такой же выпадающий список следует создать и для ячейки A15.

    Для подсчета общего количества очков в ячейке B11 используем формулу:

    Для получения корректного результата выражение должно быть выполнено как формула массива. Функция СУММ получает массив ячеек в виде столбца таблицы, номер которого был определен функцией ПОИСКПОЗ по критерию поиска «Очки» (наименование столбца). Поскольку в качестве аргумента номер_строки функции ИНДЕКС было передано значение 0, будет возвращен весь столбец.

    Читайте также:  Как найти дубли в excel в столбце

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

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

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

    В результате мы получили значение по 2-м критериям:

    Динамическое суммирование диапазона ячеек по критерию в Excel

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

    Вид таблицы данных:

    Искомое значение может быть найдено с помощью следующей формулы:

    Функция СУММ рассчитывает сумму значений, хранящихся в столбце «Очки», при этом количество ячеек для расчета может быть задано с помощью критерия – выбранного названия команды. Функция ИНДЕКС может возвращать не только значение, хранящееся в искомой ячейке, но и ссылку на эту ячейку. Поэтому можно использовать запись типа E2:ИНДЕКС(…). В результате выполнения функция ИНДЕКС вернет ссылку на ячейку, и приведенная выше запись примет, например, следующий вид: E2:E4 (если выбрана команда «Манчестер Ю.».

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

    Сумма чисел в диапазоне E2:E7 и в ячейке B13 совпадает все ОК.

    Подсчет количества рабочих дней в Excel по условию начальной даты

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

    Вид таблицы данных:

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

    Для определения искомого значения даты используем следующую формулу (формула массива CTRL+SHIFT+ENTER):

    Первая функция ИНДЕКС выполняет поиск ячейки с датой из диапазона A1:I1. Номер строки указан как 1 для упрощения итоговой формулы. Функция СТОЛБЕЦ возвращает номер столбца с ячейкой, в которой хранится первая запись о часах работы. Выражение «ИНДЕКС(B1:I6;ПОИСКПОЗ(A10;A1:A6;0);ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B1:I6;ПОИСКПОЗ(A10;A1:A6;0);0)<>“”» выполняет поиск первой непустой ячейки для выбранной фамилии работника, указанной в ячейке A10 (<>”” – не равно пустой ячейке). Второй аргумент «ПОИСКПОЗ(A10;A1:A6;0)» возвращает номер строки с выбранной фамилией, а «ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B1:I6;ПОИСКПОЗ(A10;A1:A6;0);0)<>“”» – номер позиции значения ИСТИНА в массиве (соответствует номеру столбца), полученном в результате операции сравнения с пустым значением.

    Примеры определения дат для нескольких сотрудников:

    Для автоматического подсчета количества только рабочих дней начиная от даты приема сотрудника на работу, будем использовать функцию ЧИСТРАБДНИ:

    Для проверки выберем другую фамилию сотрудника из выпадающего списка в ячейке A9:

    Особенности работы с формулами ИНДЕКС И ПОИСКПОЗ в Excel

    Функция ИНДЕКС может возвращать ссылку или массив значений из одного диапазона или нескольких несмежных диапазонов, принимая на вход ссылку на области ячеек или константу массива. При этом последующие аргументы позволяют указать номера интересующих строки и столбца относительно выбранного диапазона, а также порядковый номер диапазона (если диапазоны ячеек не являются смежными, например, при поиске в различных таблицах). В простейшем случае функция ИНДЕКС возвращает значение, хранящееся в ячейке на пересечении строки и столбца. Например, =ИНДЕКС(A2:B5;2;2) вернет значение, которое хранится в ячейке B3, поскольку третья строка является второй по счету относительно ячейки A2, а столбец B:B является вторым относительно столбца A:A.

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

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

    Поскольку ПОИСКПОЗ возвращает относительную позицию элемента в диапазоне, то есть, номер строки или столбца, эта функция может быть использована как один или сразу два аргумента функции:

    =ИНДЕКС(диапазон; ПОИСКПОЗ(аргументы); ПОИСКПОЗ(аргументы))

    Такая формула используется чаще всего для поиска сразу по двум критериям.

    Источник: exceltable.com

    Поиск по нескольким критериям в таблицах Excel

    Добрый день уважаемый читатель!

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

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

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

    Для этой операции подойдёт формула:

    В обязательном порядке формулу необходимо вносить не просто так, а как формулу массива, о чём свидетельствуют фигурные скобки. Произвести это возможно с помощью комбинации горячих клавиш Shift+Ctrl+Enter. Как же собственно работает формула? Рассмотрим поподробнее… Используемый «амперсанд» в функции ПОИСКПОЗ соединяет нужные значения «Нагаев А.В.» и «Апельсин» в одно значение «Нагаев А.В.Апельсин» и производит просмотр массива данных таблицы «B2:B6» и «C2:C6», которые предварительно были условно сцеплены формулой, типа «Нагаев А.В.Банан», «Сидоров А.С.Лимон» и т.д.

    Следующим этапом после нахождения функцией ПОИСКПОЗ номера строки с необходимыми условиями, передается функции ИНДЕКС, которая с диапазона «D2:D6» вытянет нужную сумму по указанному адресу номера строки.

    Ну, вот результат и готов!

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

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

    Не забудьте подкинуть автору на кофе…

    Источник: topexcel.ru