Excel все данные по условию

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

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

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

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

vlookup-2cols1.png

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

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

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

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

vlookup-2cols2.png

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

vlookup-2cols3.png

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

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

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

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

vlookup-2cols4.png

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

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

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

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

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

    vlookup-2cols6.png

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

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

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

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

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

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

  • Как искать и подставлять данные с помощью функции ВПР (VLOOKUP)
  • Что такое формулы массива и как их использовать
  • Как использовать связку функций ИНДЕКС и ПОИСКПОЗ вместо ВПР
  • Как извлечь сразу все значения, а не только первое с помощью ВПР

Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР

​Смотрите также​​​ B3, поскольку третья​​ «Работа с данными»​​ последовательных чисел;​​искомое_значение​INDIRECT(ref_text,[a1])​ в основную таблицу,​ столбца.​​ диапазона.​​=ВПР(B1;$A$7:$D$18;4;ЛОЖЬ)​.​ они возвращают, формула​, затем находит ближайшее​Формула не будет работать,​=ВПР(«Japan»;$B$2:$D$2;3)​​ число или текст,​​Этот учебник рассказывает о​

​Чтобы функция ПОИСКПОЗ работала​ строка является второй​ и выбрать инструмент​Функция ИНДЕКС() возвращает текстовые​.​​ДВССЫЛ(ссылка_на_текст;[a1])​​ необходимо выполнить действие,​Итак, давайте обратимся к​Эта формула находит только​Где ячейка​Синтаксис функции​ станет легкой и​​ к нему и​​ если значение в​В данном случае –​ который Вы ищите.​ главных преимуществах функций​

​ с таблицей с​ по счету относительно​ «Проверка данных»:​​ значения из Исходного​​Просматриваемый_массив​Первый аргумент может быть​ известное как двойной​ нашей таблице и​ второе совпадающее значение.​B1​ЕСЛИОШИБКА​ понятной:​ возвращает значение из​​ ячейке​​ смысла нет! Цель​​ Аргумент может быть​​ИНДЕКС​ двумя столбцами как​ ячейки A2, а​В открывшемся диалоговом окне​ списка, из строк,​​может быть не​​ ссылкой на ячейку​

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

  • ​ВПР​ запишем формулу с​
  • ​ Если же Вам​содержит объединенное значение​
  • ​очень прост:​=INDEX($A$1:$E$11,4,5))​
  • ​ столбца​A2​
    • ​ этого примера –​ значением, в том​
    • ​и​ с одним мы​
    • ​ столбец B:B является​ необходимо выбрать «Тип​
    • ​ номера которых были​
    • ​ упорядочен.​ (стиль A1 или​

Базовая информация об ИНДЕКС и ПОИСКПОЗ

​или вложенный​ функцией​ необходимо извлечь остальные​​ аргумента​​IFERROR(value,value_if_error)​​=ИНДЕКС($A$1:$E$11;4;5))​​C​длиннее 255 символов.​ исключительно демонстрационная, чтобы​ числе логическим, или​ПОИСКПОЗ​

​ использовали в ее​ вторым относительно столбца​ данных:» — «Список»​ получены на предыдущем​-1​ R1C1), именем диапазона​​ВПР​​ВПР​​ повторения, воспользуйтесь предыдущим​​lookup_value​​ЕСЛИОШИБКА(значение;значение_если_ошибка)​​Эта формула возвращает значение​

ИНДЕКС – синтаксис и применение функции

​той же строки:​​ Вместо неё Вам​​ Вы могли понять,​ ссылкой на ячейку.​в Excel, которые​ аргументах оператор &.​ A:A.​ и указать в​

​ шаге.​
​Функция​

​ или текстовой строкой.​.​

  • ​, которая найдет информацию​​ решением.​(искомое_значение), а​Где аргумент​ на пересечении​
  • ​=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))​​ нужно использовать аналогичную​ как функции​lookup_array​ делают их более​ Учитывая этот оператор​При необходимости можно получить​ поле «Источник» диапазон​​В предельном случае м.б.​​ПОИСКПОЗ​
  • ​ Второй аргумент определяет,​​Запишите функцию​ о стоимости проданных​Если Вам нужен список​4​value​4-ой​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))​​ формулу​​ПОИСКПОЗ​

​(просматриваемый_массив) – диапазон​ привлекательными по сравнению​​ первый аргументом для​​ целую строку или​ ячеек:​ найдено столько же​находит наименьшее значение,​

​ какого стиля ссылка​​ВПР​​ в марте лимонов.​

​ всех совпадений –​
​– аргумент​

​(значение) – это​строки и​​Результат: Moscow​​ИНДЕКС​и​​ ячеек, в котором​​ с​​ функции теперь является​​ целый столбец, указав​Переходим в ячейку A13​​ значений, сколько содержится​​ которое больше или​

​ содержится в первом​, которая находит имя​Существует несколько способов выполнить​ функция​col_index_num​ значение, проверяемое на​5-го​​Используя функцию​​/​

ПОИСКПОЗ – синтаксис и применение функции

​ИНДЕКС​​ происходит поиск.​​ВПР​ значение FordМаркетинговый. По​ в качестве номера​ и выполняем аналогичные​ в исходном списке​ равно значению аргумента​

​ аргументе:​​ товара в таблице​​ двумерный поиск. Познакомьтесь​ВПР​(номер_столбца), т.е. номер​ предмет наличия ошибки​​столбца в диапазоне​​СРЗНАЧ​ПОИСКПОЗ​работают в паре.​

​match_type​
​. Вы увидите несколько​

​ этой причине первый​​ строки и столбца​​ действия только лишь​ (когда все значения​

​искомое_значение​
​A1​

  • ​Lookup table 1​​ с возможными вариантами​тут не помощник,​ столбца, содержащего данные,​ (в нашем случае​A1:E11​в комбинации с​:​
  • ​ Последующие примеры покажут​​(тип_сопоставления) – этот​ примеров формул, которые​ Ford из отдела​
  • ​ соответственно значение 0​​ указываем другую ссылку​ удовлетворяют критерию). Поэтому​​.​​, если аргумент равен​, используя​ и выберите наиболее​
    • ​ поскольку она возвращает​​ которые необходимо извлечь.​​ – результат формулы​​, то есть значение​ИНДЕКС​=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))​ Вам истинную мощь​ аргумент сообщает функции​ помогут Вам легко​ продаж не учитывается,​
    • ​ (нуль). Для вывода​​ на диапазон в​ формулу массива нужно распространять​Просматриваемый_массив​​TRUE​​SKU​​ подходящий.​​ только одно значение​Если Вам необходимо обновить​ИНДЕКС​​ ячейки​​и​​=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))​​ связки​
    • ​ПОИСКПОЗ​​ справиться со многими​ ведь теперь для​ полученных строки или​ поле «Источник:»​ на диапазон той​должен быть упорядочен​(ИСТИНА) или не​, как искомое значение:​

​Вы можете использовать связку​ за раз –​​ основную таблицу (Main​​/​E4​ПОИСКПОЗ​4. Более высокая скорость​ИНДЕКС​

​, хотите ли Вы​ сложными задачами, перед​ функции два форда​ столбца функцию ИНДЕКС​Такой же выпадающий список​ же размерности, что​ по убыванию: ИСТИНА,​ указан;​​=VLOOKUP(A2,New_SKU,2,FALSE)​​ из функций​​ и точка. Но​​ table), добавив данные​​ПОИСКПОЗ​​. Просто? Да!​, в качестве третьего​​ работы.​​и​ найти точное или​ которыми функция​ – это разные​ необходимо использовать в​ следует создать и​ и исходный список.​ ЛОЖЬ, Z-A, …,​

Как использовать ИНДЕКС и ПОИСКПОЗ в Excel

​R1C1​=ВПР(A2;New_SKU;2;ЛОЖЬ)​ВПР​ в Excel есть​ из второй таблицы​); а аргумент​​В учебнике по​​ аргумента функции​​Если Вы работаете​​ПОИСКПОЗ​​ приблизительное совпадение:​​ВПР​ значения (FordПродажи и​ качестве формулы массива.​ для ячейки A15.​​ Вышеуказанная формула массива​​ 2, 1, 0,​, если​Здесь​(VLOOKUP) и​

​ функция​ (Lookup table), которая​​value_if_error​​ВПР​​ПОИСКПОЗ​​ с небольшими таблицами,​

​, которая легко справляется​1​бессильна.​
​ FordМаркетинговый). Просматриваемый диапазон​Функция ПОИСКПОЗ используется для​Для подсчета общего количества​

​ будет возвращать несколько​ -1, -2, …​F​New_SKU​ПОИСКПОЗ​

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

​INDEX​ находится на другом​(значение_если_ошибка) – это​мы показывали пример​

​чаще всего нужно​
​ то разница в​

​ с многими сложными​или​В нескольких недавних статьях​

  • ​ теперь распространяется на​​ поиска указанного в​​ очков в ячейке​ значений, поэтому перед​​ и т. д.​​ALSE​– именованный диапазон​​(MATCH), чтобы найти​​(ИНДЕКС), которая с​​ листе или в​​ значение, которое нужно​ формулы с функцией​ будет указывать​
  • ​ быстродействии Excel будет,​​ ситуациями, когда​​не указан​​ мы приложили все​​ 2 столбца, так​​ качестве первого аргумента​​ B11 используем формулу:​ вводом формулы нужно​Функция​(ЛОЖЬ).​$A:$B​

    ​ значение на пересечении​
    ​ легкостью справится с​

    ​ другой рабочей книге​ возвратить, если формула​ВПР​​1​​ скорее всего, не​​ВПР​​– находит максимальное​ усилия, чтобы разъяснить​ же благодаря оператору​ значения в диапазоне​​Для получения корректного результата​​ выделить сразу весь​ПОИСКПОЗ​В нашем случае ссылка​

​в таблице​ полей​

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

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

​возвращает не само​ имеет стиль​Lookup table 1​​Название продукта​​ будет выглядеть такая​ можете собрать искомое​Например, Вы можете вставить​ нескольким критериям. Однако,​​-1​​ последних версиях. Если​​Решая, какую формулу использовать​​ равное искомому. Просматриваемый​

​ функции​
​ применяем во втором​

​ массива. Она возвращает​ выполнено как формула​С10:С19​ значение, а его​A1​, а​​(строка) и​​ формула, Вы узнаете​​ значение непосредственно в​​ формулу из предыдущего​ существенным ограничением такого​в случае, если​ же Вы работаете​​ для вертикального поиска,​​ массив должен быть​​ВПР​​ аргументе для склейки​ относительную позицию найденного​ массива. Функция СУММ​​, ввести формулу в​​ позицию в аргументе​

Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?

​, поэтому можно не​2​Месяц​ в следующем примере.​​ формуле, которую вставляете​​ примера в функцию​​ решения была необходимость​​ Вы не уверены,​​ с большими таблицами,​​ большинство гуру Excel​ упорядочен по возрастанию,​и показать примеры​​ значений из двух​​ элемента или код​ получает массив ячеек​ Строке формул и​просматриваемый_массив​ указывать второй аргумент​– это столбец​(столбец) рассматриваемого массива:​​Как упоминалось выше,​​ в основную таблицу.​​ЕСЛИОШИБКА​​ добавлять вспомогательный столбец.​​ что просматриваемый диапазон​​ которые содержат тысячи​ считают, что​ то есть от​ более сложных формул​

​ смежных диапазонов. Таким​ ошибки #Н/Д, если​​ в виде столбца​​ нажать​​. Например, функция​​ и сосредоточиться на​ B, который содержит​=VLOOKUP(«Lemons»,$A$2:$I$9,MATCH(«Mar»,$A$1:$I$1,0),FALSE)​​ВПР​​Как и в предыдущем​​вот таким образом:​​ Хорошая новость: формула​​ содержит значение, равное​​ строк и сотни​

4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:

​ИНДЕКС​​ меньшего к большему.​ для продвинутых пользователей.​​ образом, значения берутся​​ искомые данные отсутствуют.​ таблицы, номер которого​CRTL+SHIFT+ENTER​ПОИСКПОЗ(«б»;{«а»;»б»;»в»};0)​ первом.​ названия товаров (смотрите​=ВПР(«Lemons»;$A$2:$I$9;ПОИСКПОЗ(«Mar»;$A$1:$I$1;0);ЛОЖЬ)​не может извлечь​​ примере, Вам понадобится​​=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),​​ИНДЕКС​​ среднему. Если же​ формул поиска, Excel​/​0​ Теперь мы попытаемся,​ одновременно из двух​ При поиске числовых​ был определен функцией​.​

​возвращает 2 — относительную​Итак, давайте вернемся к​​ на рисунке выше)​​Формула выше – это​​ все повторяющиеся значения​ в таблице поиска​»Совпадений не найдено.​/​ Вы уверены, что​ будет работать значительно​​ПОИСКПОЗ​​– находит первое​ если не отговорить​ столбцов Автомобиль и​ значений можно использовать​​ ПОИСКПОЗ по критерию​​Для скрытия ошибок #ССЫЛКА!,​ позицию буквы «б»​ нашим отчетам по​Запишите формулу для вставки​ обычная функция​

​ из просматриваемого диапазона.​ (Lookup table) вспомогательный​​ Попробуйте еще раз!»)​​ПОИСКПОЗ​ такое значение есть,​​ быстрее, при использовании​​намного лучше, чем​ значение, равное искомому.​​ Вас от использования​​ Отдел.​​ нежесткие критерии: ближайшее​​ поиска «Очки» (наименование​​ возвращаемой формулой массива,​​ в массиве {«а»;»б»;»в»}.​

​ продажам. Если Вы​
​ цен из таблицы​

​ВПР​ Чтобы сделать это,​ столбец с объединенными​​=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));​​может искать по​​ – ставьте​​ПОИСКПОЗ​ВПР​​ Для комбинации​​ВПР​​Читайте также: Функции ИНДЕКС​​ наибольшее или ближайшее​ столбца). Поскольку в​ к диапазону​

​Функция​​ помните, то каждый​​Lookup table 2​​, которая ищет точное​​ Вам потребуется чуть​ значениями. Этот столбец​»Совпадений не найдено.​ значениям в двух​0​и​. Однако, многие пользователи​ИНДЕКС​, то хотя бы​ и ПОИСКПОЗ в​ наименьшее числа заданному.​ качестве аргумента номер_строки​С10:С19​ПОИСКПОЗ​ отчёт – это​на основе известных​ совпадение значения «Lemons»​​ более сложная формула,​​ должен быть крайним​

​ Попробуйте еще раз!»)​ столбцах, без необходимости​​для поиска точного​​ИНДЕКС​​ Excel по-прежнему прибегают​/​ показать альтернативные способы​ Excel и примеры​Поскольку ПОИСКПОЗ возвращает относительную​​ функции ИНДЕКС было​​применено правило Условного​не различает регистры​ отдельная таблица, расположенная​ названий товаров. Для​ в ячейках от​​ составленная из нескольких​​ левым в заданном​​И теперь, если кто-нибудь​​ создания вспомогательного столбца!​

​ совпадения.​вместо​​ к использованию​​ПОИСКПОЗ​ реализации вертикального поиска​​ их использования​​ позицию элемента в​​ передано значение 0,​​ форматирования.​ при сопоставлении текста.​​ на отдельном листе.​​ этого вставьте созданную​

​ A2 до A9.​
​ функций Excel, таких​

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

​Если функция​
​ Чтобы формула работала​

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

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

​ может быть использована​Количество сыгранных игр для​​ критерием (без учета​​ значения, возвращается значение​​ таблицам (или диапазонам),​​ВПР​ столбце находятся продажи​SMALL​=VLOOKUP(B2&» «&C2,Orders!$A&$2:$D$2,4,FALSE)​

ИНДЕКС и ПОИСКПОЗ – примеры формул

​ случае ошибки оставить​ критериям –​ упорядочены по возрастанию,​​13%​​ очень немногие люди​​должен быть равен​​ВПР​ значений и их​ как один или​ каждой команды может​ РЕгиСТра). Критерий вводится​

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

​ ошибки #Н/Д.​​ причем все названия​​:​ за март, то​(НАИМЕНЬШИЙ) и​=ВПР(B2&» «&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ)​ ячейку пустой, то​имя покупателя​ а формула вернёт​.​​ до конца понимают​​0​

​– это не​​ суммирование по всем​​ сразу два аргумента​​ быть рассчитано как​​ в ячейку​Если​ должны иметь общую​=VLOOKUP(VLOOKUP(A2,New_SKU,2,FALSE),Price,3,FALSE)​ не сможете задать​ROW​Здесь в столбцах B​ можете использовать кавычки​(Customer) и​ максимальное значение, меньшее​Влияние​​ все преимущества перехода​​.​​ единственная функция поиска​​ листам книги?​ функции:​ сумма выигранных, сыгранных​E6​

​тип_сопоставления​ часть. Например, так:​=ВПР(ВПР(A2;New_SKU;2;ЛОЖЬ);Price;3;ЛОЖЬ)​ номер столбца для​

​(СТРОКА)​
​ и C содержатся​

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

​ («»), как значение​продукт​ или равное среднему.​ВПР​

  • ​ с​​-1​​ в Excel, и​При условии, что:​=ИНДЕКС(диапазон; ПОИСКПОЗ(аргументы); ПОИСКПОЗ(аргументы))​

    ​ вничью и проигранных​
    ​.​

  • ​равен 0 и​CA_Sales​​Здесь​​ третьего аргумента функции​Например, формула, представленная ниже,​ имена клиентов и​ второго аргумента функции​​(Product). Дело усложняется​​Если указываете​
  • ​на производительность Excel​ВПР​

    ​– находит наименьшее​
    ​ её многочисленные ограничения​

​- искомые значения​​Такая формула используется чаще​ игр. Используем следующую​Для создания списка, содержащего​​искомое_значение​​,​​Price​​ВПР​ находит все повторения​ названия продуктов соответственно,​ЕСЛИОШИБКА​

Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)

​ тем, что один​-1​​ особенно заметно, если​​на связку​​ значение, большее или​​ могут помешать Вам​ есть НЕ на​ всего для поиска​ формулу:​ найденные значения, воспользуемся​является текстом, то​FL_Sales​

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

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

​ каждом листе​

​ сразу по двум​​Данная формула аналогична предыдущей​​ формулой массива:​искомое_значение​​,​​$A:$C​ функция​​ F2 в диапазоне​​Orders!$A&$2:$D$2​

​IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),"")​
​ сразу несколько разных​

​ поиска должны быть​

​ сотни сложных формул​​и​​ Просматриваемый массив должен​ во многих ситуациях.​​- диапазон поиска​​ критериям.​ и также должна​=ИНДЕКС(Список; НАИМЕНЬШИЙ(​может содержать подстановочные​​TX_Sales​​в таблице​

​ПОИСКПОЗ​
​ B2:B16 и возвращает​

​определяет таблицу для​

О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ

​ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)​​ продуктов, и имена​​ упорядочены по убыванию,​​ массива, таких как​​ПОИСКПОЗ​​ быть упорядочен по​​ С другой стороны,​ и столбец со​​AlexKoul​​ использоваться в качестве​ЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30);​​ знаки: звездочку (​​и так далее.​​Lookup table 2​​, чтобы определить этот​ результат из тех​ поиска на другом​Надеюсь, что хотя бы​ покупателей в таблице​ а возвращено будет​ВПР+СУММ​, а тратить время​​ убыванию, то есть​​ функции​ значениями на каждом​

  • ​: Уважаемые форумчане!​​ формулы массива. Благодаря​​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​*​ Как видите, во​, а​ столбец.​ же строк в​
  • ​ листе.​​ одна формула, описанная​​ на листе​ минимальное значение, большее​. Дело в том,​ на изучение более​ от большего к​ИНДЕКС​

​ листе одинаков​Возникла такая задача:​​ списку, привязанному к​​В этом случае будут​) и вопросительный знак​ всех именах присутствует​​3​​MATCH(«Mar»,$A$1:$I$1,0)​​ столбце C.​​Чтобы сделать формулу более​​ в этом учебнике,​​Lookup table​​ или равное среднему.​ что проверка каждого​ сложной формулы никто​ меньшему.​и​- условие поиска​

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

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

​ имеется список марок​ ячейке A13, можно​​ выведены все значения,​​ (​ «_Sales».​– это столбец​ПОИСКПОЗ(«Mar»;$A$1:$I$1;0)​

​{=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3)),»»)}​​ читаемой, Вы можете​​ показалась Вам полезной.​​расположены в произвольном​​В нашем примере значения​ значения в массиве​ не хочет.​На первый взгляд, польза​ПОИСКПОЗ​ в списке на​

​ с соответствующими значениями​ легко определить число​​ которые начинаются или​​?​Функция​

​ C, содержащий цены.​
​В переводе на человеческий​

​{=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3));»»)}​ задать имя для​ Если Вы сталкивались​

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

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

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

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

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

​Пыталась ЕСЛИОШИБКА ВПР+ВПР,​ зеленую зону вывести​Для определения количества очков​ ячейку​ знак — любому одиночному​ столбце D и​ нами формулой:​

​Ищем символы «Mar» –​ ячеек, например, в​​ выглядеть гораздо проще:​​ не смогли найти​/​ поэтому мы используем​​. Поэтому, чем больше​​и​

  • ​ нужно знать положение​​ их более привлекательными,​ но получается слишком​​ список марок, значение​​ используем формулу ИНДЕКС,​G6​​ знаку. Если нужно​​ текстовую строку «_Sales»,​В начале разъясним, что​​ аргумент​​ ячейки​=VLOOKUP(B2&» «&C2,Orders,4,FALSE)​

    ​ подходящее решение среди​
    ​ПОИСКПОЗ​

    ​ тип сопоставления​​ значений содержит массив​​ИНДЕКС​ элемента в диапазоне?​ по сравнению с​​ длинная формула –​​ которых больше или​

  • ​ в которой оба​​.​ найти сам вопросительный​​ тем самым сообщая​​ мы подразумеваем под​​lookup_value​​F4:F8​=ВПР(B2&» «&C2;Orders;4;ЛОЖЬ)​​ информации в этом​​решает задачу:​

    ​1​
    ​ и чем больше​

    ​в Excel, а​​ Мы хотим знать​​ВПР​ не влезает (листов​

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

​ВПР​
​ выражением «Динамическая подстановка​

​(искомое_значение);​​, как показано на​​Чтобы формула работала, значения​ уроке, смело опишите​{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)*​. Формула​

​ формул массива содержит​
​ Вы решите –​

​ значение этого элемента!​.​​ много)​​ в ячейку С2.​​ строки и столбца,​​ найденные значения, воспользуемся​​ перед ними следует​​в какой таблице​ данных из разных​​Ищем в ячейках от​​ рисунке ниже. Количество​

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

Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ

​ в крайнем левом​​ свою проблему в​​(B2=’Lookup table’!$B$2:$B$13),0),3)}​ИНДЕКС​​ Ваша таблица, тем​​ остаться с​Позвольте напомнить, что относительное​Базовая информация об ИНДЕКС​AndreTM​Прошу помочь с​ будут принимать значения,​​ формулой массива:​​ ввести знак тильды​​ искать. Если в​​ таблиц», чтобы убедиться​ A1 до I1​ ячеек должно быть​ столбце просматриваемой таблицы​

​ комментариях, и мы​{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*​/​ медленнее работает Excel.​ВПР​​ положение искомого значения​​ и ПОИСКПОЗ​​: В такой ситуации​​ решением этой задачи.​ возвращаемые функцией ПОИСКПОЗ:​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​ (​ ячейке D3 находится​ правильно ли мы​ – аргумент​​ равным или большим,​​ должны быть объединены​ все вместе постараемся​

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

​(B2=’Lookup table’!$B$2:$B$13);0);3)}​​ПОИСКПО​​С другой стороны, формула​​или переключиться на​​ (т.е. номер строки​

​Используем функции ИНДЕКС и​
​ данные собирать проще​

​Заранее благодарю всех​
​Пример расчета:​

​ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30);​~​ значение «FL», формула​ понимает друг друга.​​lookup_array​​ чем максимально возможное​​ точно так же,​​ решить её.​Эта формула сложнее других,​З​​ с функциями​​ИНДЕКС​ и/или столбца) –​

​ ПОИСКПОЗ в Excel​
​ макросом, поскольку все​

​ откликнувшихся!​В результате мы получили​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​​).​​ выполнит поиск в​Бывают ситуации, когда есть​(просматриваемый_массив);​ число повторений искомого​ как и в​Урок подготовлен для Вас​ которые мы обсуждали​

  • ​возвращает «Moscow», поскольку​ПОИСКПОЗ​​/​​ это как раз​​Преимущества ИНДЕКС и ПОИСКПОЗ​​ равно действия два:​китин​ значение по 2-м​В этом случае будут​​Скопируйте образец данных из​​ таблице​
  • ​ несколько листов с​Возвращаем точное совпадение –​​ значения. Не забудьте​​ критерии поиска. На​ командой сайта office-guru.ru​​ ранее, но вооруженные​​ величина населения города​
  • ​и​ПОИСКПОЗ​ то, что мы​​ перед ВПР​​ сначала надо объединить​
  • ​: можно так​ критериям:​ выведены все значения,​ следующей таблицы и​FL_Sales​ данными одного формата,​ аргумент​​ нажать​​ рисунке выше мы​Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/​ знанием функций​ Москва – ближайшее​ИНДЕКС​​.​​ должны указать для​

​ИНДЕКС и ПОИСКПОЗ –​ данные из всех​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ИНДЕКС($G$2:$G$7;НАИМЕНЬШИЙ(ЕСЛИ($C$2​​– «Челси».​ которые заканчиваются или​​ вставьте их в​​, если «CA» –​ и необходимо извлечь​match_type​

​Ctrl+Shift+Enter​​ объединили значения и​Перевел: Антон Андронов​ИНДЕКС​ меньшее к среднему​​просто совершает поиск​​1. Поиск справа налево.​ аргументов​ примеры формул​ таблиц в один​формула массива​– «Очки».​ совпадают с критерием.​ ячейку A1 нового​ в таблице​​ нужную информацию с​​(тип_сопоставления).​, чтобы правильно ввести​​ поставили между ними​​Автор: Антон Андронов​

​и​ значению (12 269​ и возвращает результат,​Как известно любому​row_num​Как находить значения, которые​ список, а потом​для 2003 подлиньше​​ Критерий вводится в​ листа Excel. Чтобы​CA_Sales​​ определенного листа в​​Использовав​

​ формулу массива.​ пробел, точно так​Во второй части нашего​ПОИСКПОЗ​

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

ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel

​ 006).​ выполняя аналогичную работу​ грамотному пользователю Excel,​(номер_строки) и/или​ находятся слева​ уже сгруппировать с​​ будет Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ЕОШИБКА(ИНДЕКС($G$2:$G$7;НАИМЕНЬШИЙ(ЕСЛИ($C$2​​Пример 2. Используя таблицу​​ ячейку​​ отобразить результаты формул,​​и так далее.​​ зависимости от значения,​​0​​Если Вам интересно понять,​ же необходимо сделать​ учебника по функции​Вы одолеете ее.​Эта формула эквивалентна двумерному​ заметно быстрее.​​ВПР​​column_num​​Вычисления при помощи ИНДЕКС​​ агрегацией. Постов на​​_Boroda_​​ из предыдущего примера​

​I6​​ выделите их и​​Результат работы функций​

​ которое введено в​
​в третьем аргументе,​

​ как она работает,​​ в первом аргументе​​ВПР​ Самая сложная часть​ поиску​Теперь, когда Вы понимаете​не может смотреть​​(номер_столбца) функции​​ и ПОИСКПОЗ​​ тему «собрать/объединить данные​​: Еще вариант​​ определить суммарное количество​​.​ нажмите клавишу F2,​ВПР​ заданную ячейку. Думаю,​

​ Вы говорите функции​ давайте немного погрузимся​ функции (B2&» «&C2).​​(VLOOKUP) в Excel​​ – это функция​

​ВПР​
​ причины, из-за которых​ влево, а это​
​INDEX​
​Поиск по известным строке​ с нескольких листов"​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ПРОСМОТР(;-1/(H$2:H$7>=C$2)/ЕНД(ПОИСКПОЗ(G$2:G$7;C$3:C3;));G$2:G$7);»»)​ заработанных очков несколькими​Для создания списка, содержащего​ а затем — клавишу​

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

​и​ проще это объяснить​ПОИСКПОЗ​ в детали формулы:​Запомните!​ мы разберём несколько​​ПОИСКПОЗ​​и позволяет найти​

​ стоит изучать функции​
​ значит, что искомое​

​(ИНДЕКС). Как Вы​ и столбцу​ в поиске достаточно,​ввод обычный, немассивный​ командами (задается опционально).​ найденные значения, воспользуемся​ ВВОД. При необходимости​ДВССЫЛ​ на примере.​искать первое значение,​IF($F$2=B2:B16,ROW(C2:C16)-1,»»)​Функция​ примеров, которые помогут​, думаю, её нужно​ значение на пересечении​

​ПОИСКПОЗ​ значение должно обязательно​
​ помните, функция​
​Поиск по нескольким критериям​

​ а «группировка/агрегация» -​

office-guru.ru

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

​AlexKoul​Вид таблицы данных:​​ формулой массива:​​ измените ширину столбцов,​будет следующий:​Представьте, что имеются отчеты​ в точности совпадающее​ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»)​​ВПР​​ Вам направить всю​ объяснить первой.​ определённой строки и​и​ находиться в крайнем​ИНДЕКС​ИНДЕКС и ПОИСКПОЗ в​ это сводная таблица​: Огромное спасибо!​Искомое значение может быть​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​ чтобы видеть все​Если данные расположены в​​ по продажам для​​ с искомым значением.​$F$2=B2:B16​

  • ​ограничена 255 символами,​ мощь​
  • ​MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)​ столбца.​ИНДЕКС​
  • ​ левом столбце исследуемого​может возвратить значение,​
  • ​ сочетании с ЕСЛИОШИБКА​ по уже собранному​
  • ​AlexBer​ найдено с помощью​
  • ​ЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30);​ данные.​

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

​ разных книгах Excel,​​ нескольких регионов с​​ Это равносильно значению​– сравниваем значение​ она не может​ВПР​ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13)​В этом примере формула​, давайте перейдём к​ диапазона. В случае​ находящееся на пересечении​Так как задача этого​ в одно место​: Ребята, благодарю за​ следующей формулы:​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​

Пример 1: Поиск по 2-м разным критериям

​Продукт​ то необходимо добавить​ одинаковыми товарами и​​FALSE​​ в ячейке F2​ искать значение, состоящее​​на решение наиболее​​В формуле, показанной выше,​​ИНДЕКС​​ самому интересному и​ с​ заданных строки и​ учебника – показать​ источнику.​ Вашу поддержку,​

Руководство по функции ВПР в Excel

​Функция СУММ рассчитывает сумму​​СОВЕТ:​​Количество​ имя книги перед​ в одинаковом формате.​(ЛОЖЬ) для четвёртого​ с каждым из​ из более чем​ амбициозных задач Excel.​ искомое значение –​​/​​ увидим, как можно​​ПОИСКПОЗ​​ столбца, но она​ возможности функций​

​Ну или если​
​По образу и​

​ значений, хранящихся в​О поиске текстовых​​Бананы​​ именованным диапазоном, например:​​ Требуется найти показатели​​ аргумента​ значений диапазона B2:B16.​

​ 255 символов. Имейте​ Примеры подразумевают, что​ это​ПОИСКПОЗ​ применить теоретические знания​/​​ не может определить,​​ИНДЕКС​​ с макросами сложно​​ подобию составил свой​ столбце «Очки», при​ значений с использованием​25​=VLOOKUP($D$2,INDIRECT($D3&»Workbook1!_Sales»),2,FALSE)​ продаж для определенного​ВПР​​ Если найдено совпадение,​​ это ввиду и​ Вы уже имеете​

​1​будет очень похожа​ на практике.​ИНДЕКС​ какие именно строка​​и​​ — то можно​ рабочий файл, очень​ этом количество ячеек​ подстановочных знаков читайте​​Апельсины​​=ВПР($D$2;ДВССЫЛ($D3&»Workbook1!_Sales»);2;ЛОЖЬ)​ региона:​

​.​
​ то выражение​

​ следите, чтобы длина​

​ базовые знания о​
​, а массив поиска​

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

Руководство по функции ВПР в Excel

Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе

​Вот так Вы можете​СТРОКА(C2:C16)-1​ искомого значения не​ том, как работает​ – это результат​ мы уже обсуждали​ВПР​ быть, как в​ интересуют.​для реализации вертикального​ данных в «умные»,​Есть один нюанс,​ быть задано с​

​ текстовых значений в​Яблоки​ДВССЫЛ​ два таких отчета,​ создать формулу для​возвращает номер соответствующей​ превышала этот лимит.​ эта функция. Если​ умножения. Хорошо, что​

​ в этом уроке,​​твердит, что эта​​ левой, так и​

​Теперь, когда Вам известна​
​ поиска в Excel,​

​ а затем задействовать​ который хотелось бы​ помощью критерия –​ списках. Часть2. Подстановочные​40​​ссылается на другую​​ то можно использовать​ поиска по двум​ строки (значение​

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

​ базовая информация об​
​ мы не будем​

Руководство по функции ВПР в Excel

​ инструменты Power Query.​ доработать.​ выбранного названия команды.​ знаки. В статье​Груши​ книгу, то эта​ до безобразия простую​ критериям в Excel,​-1​ – не самое​ будет интересно начать​ перемножить и почему?​ отличием. Угадайте каким?​ смотреть влево. Т.е.​

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

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

Извлекаем 2-е, 3-е и т.д. значения, используя ВПР

​ как двумерный поиск​​ строку заголовков). Если​​ всегда приемлемое решение.​ этого учебника, в​ по порядку:​ функции​ не является крайним​ которые находятся слева​ становится понятно, как​Приведём здесь необходимый минимум​ данными?​ формулой​ значение, хранящееся в​ Условного форматирования приведено решение​Описание​ она закрыта, функция​

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

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

​: 24 листа, в​
​ снизу вверх ,​

Руководство по функции ВПР в Excel

​ и ссылку на​ использованием Условного форматирования.​​=ПОИСКПОЗ(39;B2:B5,1;0)​​#REF!​(IF), чтобы выбрать​

  • ​Функция​​(ЕСЛИ) возвращает пустую​​ без вспомогательного столбца,​​ВПР​​A​

    ​ три аргумента:​
    ​ шансов получить от​

  • ​2. Безопасное добавление или​​и​​ подробно примеры формул,​​ принципе можно разбить​​ а мне для​

    ​ эту ячейку. Поэтому​
    ​Как использовать функцию​

​Так как точного соответствия​(#ССЫЛ!).​ нужный отчет для​СУММПРОИЗВ​ строку.​ но в таком​. Что ж, давайте​

Руководство по функции ВПР в Excel

​(Customer) на листе​​INDEX(array,row_num,[column_num])​​ВПР​ удаление столбцов.​ИНДЕКС​ которые показывают преимущества​

​ н 2 файла​
​ удобства, да и​

​ можно использовать запись​

  • ​ВПР (VLOOKUP)​​ нет, возвращается позиция​Урок подготовлен для Вас​ поиска:​(SUMPRODUCT) возвращает сумму​
  • ​Результатом функции​​ случае потребуется гораздо​​ приступим.​​Main table​
  • ​ИНДЕКС(массив;номер_строки;[номер_столбца])​​желаемый результат.​Формулы с функцией​могут работать вместе.​ использования​
  • ​ по 12 листов​​ из эстетических соображений​ типа E2:ИНДЕКС(…). В​для поиска и​

​ ближайшего меньшего элемента​ командой сайта office-guru.ru​=VLOOKUP($D$2,IF($D3=»FL»,FL_Sales,CA_Sales),2,FALSE)​ произведений выбранных массивов:​IF​ более сложная формула​

Руководство по функции ВПР в Excel

​Поиск в Excel по​и сравниваем его​И я поздравляю тех​​Функции​​ВПР​ПОИСКПОЗ​ИНДЕКС​макросом не то​ хотелось бы видеть​ результате выполнения функция​ выборки нужных значений​​ (38) в диапазоне​​Источник: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/​=ВПР($D$2;ЕСЛИ($D3=»FL»;FL_Sales;CA_Sales);2;ЛОЖЬ)​=SUMPRODUCT(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»),$A$2:$I$9)​(ЕСЛИ) окажется вот​ с комбинацией функций​ нескольким критериям​

Извлекаем все повторения искомого значения

​ со всеми именами​​ из Вас, кто​​ПОИСКПОЗ​перестают работать или​определяет относительную позицию​и​ чтобы сложно, я​ список в том​ ИНДЕКС вернет ссылку​ из списка мы​ B2:B5.​​Перевел: Антон Андронов​​Где:​​=СУММПРОИЗВ(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»);$A$2:$I$9)​​ такой горизонтальный массив:​​INDEX​​Извлекаем 2-е, 3-е и​

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

​ на ячейку, и​
​ недавно разбирали. Если​

​2​Автор: Антон Андронов​$D$2​В следующей статье я​​{1,»»,3,»»,5,»»,»»,»»,»»,»»,»»,12,»»,»»,»»}​​(ИНДЕКС) и​ т.д. значения, используя​ на листе​Начнём с того, что​ИНДЕКС​ если удалить или​ заданном диапазоне ячеек,​вместо​​а умные таблицы​​ каком и в​ приведенная выше запись​

Руководство по функции ВПР в Excel

​ вы еще с​=ПОИСКПОЗ(41;B2:B5;0)​Функция​– это ячейка,​

Часть 1:

​ буду объяснять эти​
​ROW()-3​

​MATCH​​ ВПР​Lookup table​ запишем шаблон формулы.​в Excel гораздо​ добавить столбец в​ а​​ВПР​​ — это какие?​ исходной таблице.​​ примет, например, следующий​​ ней не знакомы​Позиция значения 41 в​ПОИСКПОЗ​​ содержащая название товара.​​ функции во всех​СТРОКА()-3​

​(ПОИСКПОЗ).​​Извлекаем все повторения искомого​​(A2:A13).​ Для этого возьмём​​ более гибкие, и​

Часть 2:

​ таблицу поиска. Для​
​ИНДЕКС​

​.​​AndreTM​​Подскажите пожалуйста если​ вид: E2:E4 (если​ — загляните сюда,​ диапазоне B2:B5​выполняет поиск указанного​​ Обратите внимание, здесь​​ деталях, так что​Здесь функция​​Вы уже знаете, что​​ значения​​Если совпадение найдено, уравнение​​ уже знакомую нам​ им все-равно, где​​ функции​​использует это число​​Функция​​: Если «боитесь» макросов​ это возможно сделать​ выбрана команда «Манчестер​

Часть 3:

​ не пожалейте пяти​
​4​

​ элемента в диапазоне​​ мы используем абсолютные​​ сейчас можете просто​​ROW​​ВПР​Двумерный поиск по известным​ возвращает​ формулу​ находится столбец со​ВПР​​ (или числа) и​​INDEX​ — изучайте Power​ улучшив уже используемую​​ Ю.».​​ минут, чтобы сэкономить​​=ПОИСКПОЗ(40;B2:B5;-1)​​ ячеек и возвращает​​ ссылки, чтобы избежать​​ скопировать эту формулу:​(СТРОКА) действует как​​может возвратить только​​ строке и столбцу​​1​​ИНДЕКС​​ значением, которое нужно​​любой вставленный или​ возвращает результат из​​(ИНДЕКС) в Excel​​ Query и Power​

Часть 4:

​ формулу.​
​Пример расчетов:​

​ себе потом несколько​​Возвращает сообщение об ошибке,​​ относительную позицию этого​ изменения искомого значения​=INDEX($A$2:$I$9,MATCH(«Lemons»,$A$2:$A$9,0),MATCH(«Mar»,$A$1:$I$1,0))​​ дополнительный счётчик. Так​​ одно совпадающее значение,​​Используем несколько ВПР в​​(ИСТИНА), а если​​/​​ извлечь. Для примера,​​ удалённый столбец изменит​​ соответствующей ячейки.​​ возвращает значение из​​ Pivot.​​С уважением,​​Проверим результат выборочного динамического​​ часов.​​ так как диапазон​

Часть 5:

​ элемента в диапазоне.​
​ при копировании формулы​

​=ИНДЕКС($A$2:$I$9;ПОИСКПОЗ(«Lemons»;$A$2:$A$9;0);ПОИСКПОЗ(«Mar»;$A$1:$I$1;0))​ как формула скопирована​​ точнее – первое​​ одной формуле​ нет –​ПОИСКПОЗ​​ снова вернёмся к​​ результат формулы, поскольку​Ещё не совсем понятно?​ массива по заданным​Ну и не​Александр.​ суммирования столбца таблицы​Если же вы знакомы​

Двумерный поиск по известным строке и столбцу

​ B2:B5 упорядочен не​ Например, если диапазон​ в другие ячейки.​Если Вы не в​ в ячейки F4:F9,​ найденное. Но как​Динамическая подстановка данных из​0​и добавим в​

​ таблице со столицами​ синтаксис​ Представьте функции​ номерам строки и​​ бойтесь спрашивать у​​Смотрите формулу выше​ с верху вниз.​ с ВПР, то​

Руководство по функции ВПР в Excel

​ по убыванию.​ A1:A3 содержит значения​$D3​ восторге от всех​ мы вычитаем число​

Функции ВПР и ПОИСКПОЗ

​ быть, если в​ разных таблиц​​(ЛОЖЬ).​​ неё ещё одну​​ государств и населением.​​ВПР​ИНДЕКС​ столбца. Функция имеет​​ Гуглояндекса​​ (пост №2).​​Сумма чисел в диапазоне​​ — вдогон -​

​#Н/Д​
​ 5, 25 и​

​– это ячейка​ этих сложных формул​​3​​ просматриваемом массиве это​Функция​Далее, мы делаем то​ функцию​ На этот раз​требует указывать весь​и​ вот такой синтаксис:​А «умные таблицы»​Если возникнут вопросы,​ E2:E7 и в​ стоит разобраться с​​Найдем текстовые значения, удовлетворяющие​​ 38, то формула​ с названием региона.​​ Excel, Вам может​​из результата функции,​ значение повторяется несколько​

​ВПР​
​ же самое для​

​ПОИСКПОЗ​ запишем формулу​ диапазон и конкретный​

  • ​ПОИСКПОЗ​INDEX(array,row_num,[column_num])​​ — это «форматировать​​ создавайте свою тему,​
  • ​ ячейке B13 совпадает​ похожими функциями:​ заданному пользователем критерию.​​=ПОИСКПОЗ(25;A1:A3;0)​​ Используем абсолютную ссылку​
  • ​ понравиться вот такой​ чтобы получить значение​​ раз, и Вы​​в Excel –​

​ значений столбца​​, которая будет возвращать​​ПОИСКПОЗ​ номер столбца, из​​в таком виде:​​ИНДЕКС(массив;номер_строки;[номер_столбца])​ как таблицу» и​ эта закрыта.​ все ОК.​​ИНДЕКС (INDEX)​​ Поиск будем осуществлять​возвращает значение 2, поскольку​​ для столбца и​​ наглядный и запоминающийся​

​1​ хотите извлечь 2-е​ это действительно мощный​B​ номер столбца.​/​ которого нужно извлечь​=INDEX(столбец из которого извлекаем,(MATCH​

Функция СУММПРОИЗВ

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

​и​
​ в диапазоне с​

Функции ИНДЕКС и ПОИСКПОЗ

​ элемент 25 является вторым​ относительную ссылку для​ способ:​в ячейке​ или 3-е из​ инструмент для выполнения​

​(Product).​
​=INDEX(Ваша таблица,(MATCH(значение для вертикального​

Именованные диапазоны и оператор пересечения

​ИНДЕКС​ данные.​ (искомое значение,столбец в​ простое объяснение:​ имя, если надо.​ очень часто приходится​ табеля рабочего времени​

  1. ​ПОИСКПОЗ (MATCH)​​ повторяющимися значениями. При​​ в диапазоне.​​ строки, поскольку планируем​​Выделите таблицу, откройте вкладку​
  2. ​F4​​ них? А что​​ поиска определённого значения​Затем перемножаем полученные результаты​​ поиска,столбец, в котором​​, которая покажет, какое​Например, если у Вас​ котором ищем,0))​array​А обработка с​ использовать функцию ПОИСКПОЗ​ хранятся данные о​, владение которыми весьма​ наличии повторов, можно​Совет:​Руководство по функции ВПР в Excel
  3. ​ копировать формулу в​Formulas​​(строка 4, вычитаем​​ если все значения?​

    ​ в базе данных.​
    ​ (1 и 0).​
    ​ искать,0)),(MATCH(значение для горизонтального​

    ​ место по населению​ есть таблица​=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое​(массив) – это​ помощью Power Query​ как вспомогательную в​

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

Руководство по функции ВПР в Excel

  1. ​ 3), чтобы получить​​ Задачка кажется замысловатой,​​ Однако, есть существенное​

​ Только если совпадения​ поиска,строка в которой​ занимает столица России​A1:C10​ значение;столбец в котором​ диапазон ячеек, из​

Руководство по функции ВПР в Excel

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

​ — то примерно​ комбинациях с другими​ фирмы. Определить, сколько​ опытному пользователю Excel.​ будет соответствовать несколько​ПОИСКПОЗ​ же столбца.​​Create from Selection​​2​ но решение существует!​ ограничение – её​ найдены в обоих​ искать,0))​ (Москва).​, и требуется извлечь​

​ ищем;0))​ которого необходимо извлечь​ вот так:​ функциями такими как:​​ рабочих дней на​​ Гляньте на следующий​ значений. Для их​следует пользоваться вместо​FL_Sal​(Создать из выделенного).​в ячейке​Предположим, в одном столбце​ синтаксис позволяет искать​ столбцах (т.е. оба​​=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального​​Как видно на рисунке​ данные из столбца​Думаю, ещё проще будет​ значение.​gling​​ ИНДЕКС, ВПР, ГПР​​ текущий момент отработал​

Руководство по функции ВПР в Excel

​ пример:​ вывода в отдельный​ одной из функций​es​Отметьте галочками​​F5​​ таблицы записаны имена​​ только одно значение.​​ критерия истинны), Вы​

  1. ​ поиска,столбец, в котором​​ ниже, формула отлично​​B​ понять на примере.​​row_num​​: Вариант формулами.​​ и др. Но​​ любой из новых​

    ​Необходимо определить регион поставки​
    ​ диапазон удобно использовать​

    ​ПРОСМОТР​​и​​Top row​​(строка 5, вычитаем​​ клиентов (Customer Name),​​ Как же быть,​​ получите​​ искать,0)),(MATCH(значение для горизонтального​​ справляется с этой​, то нужно задать​ Предположим, у Вас​(номер_строки) – это​

  2. ​AndreTM​ какую пользу может​​ недавно принятых сотрудников​​ по артикулу товара,​ формулы массива.​, когда требуется найти​CA_Sales​(в строке выше)​ 3) и так​​ а в другом​​ если требуется выполнить​

    ​1​
    ​ поиска,строка в которой​

    ​ задачей:​​ значение​​ есть вот такой​​ номер строки в​​: Для «примера» -​​ приносить данная функция​​ фирмы.​​ набранному в ячейку​​Пусть Исходный список значений​ позицию элемента в​

​– названия таблиц​ и​ далее.​

Руководство по функции ВПР в Excel

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

​ – товары (Product),​ поиск по нескольким​. Если оба критерия​ искать,0))​=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))​2​ список столиц государств:​

​ массиве, из которой​ формульного варианта, конечно,​ работая самостоятельно. Из​Вид таблицы данных:​ C16.​ (например, перечень инструментов)​ диапазоне, а не​ (или именованных диапазонов),​Left column​SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))​ которые они купили.​

​ условиям? Решение Вы​ ложны, или выполняется​Обратите внимание, что для​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​для аргумента​Давайте найдём население одной​ нужно извлечь значение.​ хватит.​

Руководство по функции ВПР в Excel

​ самого названия функции​Как видно на рисунке​Задача решается при помощи​ находится в диапазоне​ сам элемент. Например,​​ в которых содержаться​​(в столбце слева).​​НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3))​​ Попробуем найти 2-й,​ найдёте далее.​ только один из​

​ двумерного поиска нужно​
​Теперь у Вас не​

​col_index_num​

  • ​ из столиц, например,​​ Если не указан,​Тем более, что​ ПОИСКПОЗ понятно, что​ в ячейке A10​ двух функций:​A10:A19​ функцию​ соответствующие отчеты о​
  • ​ Microsoft Excel назначит​​Функция​ 3-й и 4-й​Предположим, у нас есть​ них – Вы​ указать всю таблицу​ должно возникать проблем​(номер_столбца) функции​ Японии, используя следующую​ то обязательно требуется​
  • ​ из него исключён​​ ее главная задача​​ снова используется выпадающий​​=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)​​(см. Файл примера).​ПОИСКПОЗ​ продажах. Вы, конечно​ имена диапазонам из​SMALL​ товары, купленные заданным​ список заказов и​ получите​ в аргументе​​ с пониманием, как​​ВПР​ формулу:​

Руководство по функции ВПР в Excel

​ аргумент​ шаг по собиранию​​ заключается в определении​​ список, созданный по​Функция​Выведем в отдельный диапазон​можно использовать для​​ же, можете использовать​​ значений в верхней​(НАИМЕНЬШИЙ) возвращает​

​ клиентом.​ мы хотим найти​​0​​array​ работает эта формула:​, вот так:​=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))​column_num​ списка «искомых значений»​ позиции исходного значения,​ аналогичной схеме, описанной​ПОИСКПОЗ​ значения, которые удовлетворяют​​ передачи значения аргумента​​ обычные названия листов​ строке и левом​​n-ое​​Простейший способ – добавить​​Количество товара​​.​​(массив) функции​​Во-первых, задействуем функцию​=VLOOKUP(«lookup value»,A1:C10,2)​

​=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ("Japan";$B$2:$B$10;0))​
​(номер_столбца).​

​ и «наименований листов».​

  • ​ которое содержит диапазон​​ выше.​ищет в столбце​ критерию. Рассмотрим различные​номер_строки​
  • ​ и ссылки на​​ столбце Вашей таблицы.​наименьшее значение в​ вспомогательный столбец перед​(Qty.), основываясь на​​Теперь понимаете, почему мы​​INDEX​
  • ​MATCH​​=ВПР(«lookup value»;A1:C10;2)​Теперь давайте разберем, что​column_num​ То есть при​ ячеек или таблица.​Для определения искомого значения​D1:D13​ варианты поиска.​функции​ диапазоны ячеек, например​ Теперь Вы можете​ массиве данных. В​​ столбцом​​ двух критериях –​

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

​ задали​(ИНДЕКС).​​(ПОИСКПОЗ), которая находит​​Если позднее Вы вставите​

​ делает каждый элемент​
​(номер_столбца) – это​

​ добавлении нового листа​ Применять эту функцию​ даты используем следующую​значение артикула из​Для удобства создадим именованный​ИНДЕКС​‘FL Sheet’!$A$3:$B$10​ осуществлять поиск, используя​ нашем случае, какую​

  • ​Customer Name​​Имя клиента​​1​​А теперь давайте испытаем​ положение «Russia» в​
  • ​ новый столбец между​​ этой формулы:​​ номер столбца в​​ — надо делать​​ очень просто для​

​ формулу (формула массива​ ячейки​​ диапазон Список.​​.​, но именованные диапазоны​ эти имена, напрямую,​ по счёту позицию​

​и заполнить его​(Customer) и​, как искомое значение?​ этот шаблон на​ списке:​ столбцами​Функция​ массиве, из которого​ не только телодвижения​ диапазонов или таблиц​ CTRL+SHIFT+ENTER):​C16​Диапазон может охватить в​ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​​ гораздо удобнее.​​ без создания формул.​​ (от наименьшего) возвращать​​ именами клиентов с​​Название продукта​​ Правильно, чтобы функция​ практике. Ниже Вы​=MATCH(«Russia»,$B$2:$B$10,0))​A​

​MATCH​​ нужно извлечь значение.​​ по внесению его​ с одним столбцом​»»;0))))’ class=’formula’>​. Последний аргумент функции​​ том числе и​​Аргументы функции ПОИСКПОЗ описаны​Однако, когда таких таблиц​В любой пустой ячейке​ – определено функцией​ номером повторения каждого​(Product). Дело усложняется​​ПОИСКПОЗ​​ видите список самых​=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​​и​​(ПОИСКПОЗ) ищет значение​

​ Если не указан,​​ имени в список​​ или с одной​​Первая функция ИНДЕКС выполняет​​ 0 — означает​

Руководство по функции ВПР в Excel

​ незаполненные ячейки перечня.​ ниже.​ много, функция​ запишите​ROW​

​ имени, например,​
​ тем, что каждый​

​возвращала позицию только,​​ населённых стран мира.​​Далее, задаём диапазон для​B​ «Japan» в столбце​ то обязательно требуется​ — но и​ строкой. Поэтому сразу​​ поиск ячейки с​​ поиск точного (а​

​ В дальнейшем пользователь​Искомое_значение.​
​ЕСЛИ​
​=имя_строки имя_столбца​

​(СТРОКА) (смотри Часть​

office-guru.ru

Функция ПОИСКПОЗ

​John Doe1​​ из покупателей заказывал​​ когда оба критерия​ Предположим, наша задача​ функции​, то значение аргумента​B​ аргумент​ быть уверенным, что​ усложним задачу и​ датой из диапазона​​ не приблизительного) соответствия.​​ может расширить перечень​    Обязательный аргумент. Значение, которое​– это не​

​, например, так:​​ 2). Так, для​​,​​ несколько видов товаров,​ выполняются.​​ узнать население США​​INDEX​ придется изменить с​, а конкретно –​row_num​ там не появилось​​ на конкретном примере​​ A1:I1. Номер строки​ Функция выдает порядковый​​ инструментов, указанные ниже​​ сопоставляется со значениями​​ лучшее решение. Вместо​​=Lemons Mar​

Синтаксис

​ ячейки​

​John Doe2​ как это видно​

  • ​Обратите внимание:​​ в 2015 году.​(ИНДЕКС), из которого​2​​ в ячейках​​(номер_строки)​ нового «искомого значения»,​ проиллюстрируем как применять​ указан как 1​ номер найденного значения​ формулы автоматически учтут​ в аргументе​
    ​ нее можно использовать​​… или наоборот:​​F4​и т.д. Фокус​ из таблицы ниже:​В этом случае​Хорошо, давайте запишем формулу.​

  • ​ нужно извлечь значение.​​на​B2:B10​Если указаны оба аргумента,​

  • ​ которое отсутствует в​​ функцию ПОИСКПОЗ для​ для упрощения итоговой​ в диапазоне, т.е.​​ новые значения.​​просматриваемый_массив​ функцию​​=Mar Lemons​​функция​ с нумерацией сделаем​​Обычная функция​​ необходимо использовать третий​ Когда мне нужно​ В нашем случае​
    ​3​, и возвращает число​ то функция​ общем списке (или​ таблицы с двумя​​ формулы. Функция СТОЛБЕЦ​​ фактически номер строки,​

​Выведем в отдельный диапазон​

​. Например, при поиске​

​ДВССЫЛ​

​Помните, что имена строки​​НАИМЕНЬШИЙ({массив};1)​​ при помощи функции​ВПР​ не обязательный аргумент​​ создать сложную формулу​​ это​​, иначе формула возвратит​​3​ИНДЕКС​ выявить эти новые​ столбцами и более.​ возвращает номер столбца​

​ где найден требуемыый​

​ все значения Исходного​​ номера в телефонной​​(INDIRECT), чтобы возвратить​ и столбца нужно​​возвращает​​COUNTIF​​не будет работать​​ функции​ в Excel с​

​A2:A10​

​ результат из только​​, поскольку «Japan» в​​возвращает значение из​ значения и добавить​Для примера возьмем список​​ с ячейкой, в​​ артикул.​​ списка, в которых​​ книге имя абонента​ нужный диапазон поиска.​ разделить пробелом, который​1-й​(СЧЁТЕСЛИ), учитывая, что​ по такому сценарию,​

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

  • ​ указывается в качестве​​Как Вы, вероятно, знаете,​​ в данном случае​(наименьший) элемент массива,​

  • ​ имена клиентов находятся​​ поскольку она возвратит​​. Он необходим, т.к.​ я сначала каждую​Затем соединяем обе части​

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

Пример

​выбирает из диапазона​ дрель). Критерий вводится​ нужным значением будет​ДВССЫЛ​ пересечения.​1​=B2&COUNTIF($B$2:B2,B2)​ соответствующее заданному искомому​ мы задаем всю​Итак, начнём с двух​=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))​/​INDEX​

​Вот простейший пример функции​

​- «​

​ рисунке:​

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

​A1:G13​

​ в ячейку​

​ номер телефона.​

​используется для того,​

​При вводе имени, Microsoft​

​. Для ячейки​

​=B2&СЧЁТЕСЛИ($B$2:B2;B2)​

​ значению. Например, если​

​ таблицу и должны​

​ функций​

​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​ИНДЕКС​(ИНДЕКС) использует​INDEX​диапазон​

​В обеих столбцах названия​

​ непустой ячейки для​

​значение, находящееся на​С6​

​Аргумент​

​ чтобы вернуть ссылку,​

​ Excel будет показывать​F5​После этого Вы можете​ Вы хотите узнать​

​ указать функции, из​

support.office.com

Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск

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

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

Задача

​, которые будут возвращать​Правильным решением будет​ или добавлять столбцы​для аргумента​

А. Найти значения, которые содержат критерий

​=INDEX(A1:C10,2,3)​ листе НЕ одинаков»,​

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

​ВПР​Sweets​ извлечь значение. В​​ номера строки и​​ всегда использовать абсолютные​ к исследуемому диапазону,​row_num​​=ИНДЕКС(A1:C10;2;3)​​ поскольку количество записей​

​ парных дубликатов. Например,​ A10 (<>”” –​ артикулом выдает функция​

​ найденные значения, воспользуемся​
​ (числом, текстом или​
​ раз то, что​

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

  • ​ ссылки для​ не искажая результат,​(номер_строки), который указывает​Формула выполняет поиск в​ в таблицах -​ в списке 2​ не равно пустой​ПОИСКПОЗ​ формулой массива:​ логическим значением) или​ нам сейчас нужно.​ вводе формулы.​ то есть​ заказ. Например:​Jeremy Hill​
  • ​ столбец​ИНДЕКС​ИНДЕКС​ так как определен​
  • ​ из какой строки​ диапазоне​ различно.​ автомобиля марки Ford,​ ячейке). Второй аргумент​) и столбца (нам​=ИНДЕКС(Список; НАИМЕНЬШИЙ(​ ссылкой на ячейку,​ Итак, смело заменяем​Нажмите​3​Находим​, запишите вот такую​C​:​и​
  • ​ непосредственно столбец, содержащий​ нужно возвратить значение.​A1:C10​
  • ​Ну и мы​ но оба они​
  • ​ «ПОИСКПОЗ(A10;A1:A6;0)» возвращает номер​ нужен регион, т.е.​ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30);​ содержащую такое значение.​ в представленной выше​Enter​

​, и так далее.​2-й​ формулу:​(Sum), и поэтому​ПОИСКПОЗ для столбца​ПОИСКПОЗ​ нужное значение. Действительно,​ Т.е. получается простая​и возвращает значение​ все знаем, что​ из разных отделов.​ строки с выбранной​ второй столбец).​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​Просматриваемый_массив​ формуле выражение с​​и проверьте результат​​INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))​товар, заказанный покупателем​=VLOOKUP(B1,$A$5:$C$14,3,FALSE)​​ мы ввели​​– мы ищем​

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

Б. Найти значения, которые совпадают с критерием (точное совпадение)

​ фамилией, а «ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B1:I6;ПОИСКПОЗ(A10;A1:A6;0);0)<>»»»​Одним из основных способов​Алгоритм работы формулы следующий​    Обязательный аргумент. Диапазон ячеек,​ функцией​В целом, какой бы​​ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3))​​Dan Brown​

​=ВПР(B1;$A$5:$C$14;3;ЛОЖЬ)​3​ в столбце​
​ не сбились при​
​ особенно когда работать​
​=INDEX($D$2:$D$10,3)​

B. Найти значения, которые начинаются с критерия

​2-й​ при использовании ДВССЫЛ()​ узнать номер позиции​ — номер позиции​ поиска данных в​ (для просмотра промежуточных​​ в которых производится​​ЕСЛИ​

​ из представленных выше​Функция​:​
​– эта формула вернет​
​.​
​B​

Г. Найти значения, которые заканчиваются на критерий

​ копировании формулы в​ приходится с большими​=ИНДЕКС($D$2:$D$10;3)​строке и​ на, например, статысячах​ этого автомобиля, то​​ значения ИСТИНА в​​ таблицах Excel является​

​ шагов работы формулы​ поиск.​на ссылку с​
​ методов Вы ни​
​INDEX​
​=VLOOKUP(«Dan Brown2»,$A$2:$C$16,3,FALSE)​

​ результат​
​И, наконец, т.к. нам​, а точнее в​ другие ячейки.​ объёмами данных. Вы​Формула говорит примерно следующее:​3-м​ записей​ в результате функция​ массиве (соответствует номеру​ функция ВПР, однако​ воспользуйтесь клавишей​Тип_сопоставления.​

excel2.ru

Поиск нужных данных в диапазоне

​ функцией​​ выбрали, результат двумерного​​(ИНДЕКС) просто возвращает​=ВПР(«Dan Brown2»;$A$2:$C$16;3;ЛОЖЬ)​15​ нужно проверить каждую​ диапазоне​Вы можете вкладывать другие​ можете добавлять и​ ищи в ячейках​столбце, то есть​Но для «домашнего​ ПОИСПОЗ вернет нам​

​ столбца), полученном в​ она имеет массу​F9​    Необязательный аргумент. Число -1,​ДВССЫЛ​​ поиска будет одним​​ значение определённой ячейки​​Находим​​, соответствующий товару​ ячейку в массиве,​B2:B11​ функции Excel в​ удалять столбцы, не​

Поиск всех значений по условию вȎxcel

​ от​ из ячейки​ использования» — вполне.​ позицию в диапазоне​

​ результате операции сравнения​ недостатков, и зачастую​

​):​

​ 0 или 1.​​. Вот такая комбинация​​ и тем же:​​ в массиве​​3-й​Apples​​ эта формула должна​​, значение, которое указано​ИНДЕКС​ беспокоясь о том,​D2​C2​Nesa​ где встречается первое​ с пустым значением.​ пользователи испытывают сложности​Функция ПОИСК(), перебирая элементы​

​ Аргумент​​ВПР​​Бывает так, что основная​​C2:C16​​товар, заказанный покупателем​, так как это​ быть формулой массива.​ в ячейке​​и​​ что нужно будет​до​.​

planetaexcel.ru

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

​:​ значение – 3.​Примеры определения дат для​ при ее использовании.​ исходного списка, определяет,​тип_сопоставления​и​ таблица и таблица​. Для ячейки​Dan Brown​ первое совпадающее значение.​ Вы можете видеть​H2​ПОИСКПОЗ​ исправлять каждую используемую​D10​

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

​Очень просто, правда? Однако,​gling, спасибо Вам за​ То есть Ford​ нескольких сотрудников:​ Связка функций ИНДЕКС​

  1. ​ содержится ли в​указывает, каким образом​ДВССЫЛ​
  2. ​ поиска не имеют​F4​
  3. ​:​Есть простой обходной путь​

​ это по фигурным​

Пример 1.

​(USA). Функция будет​, например, чтобы найти​ функцию​и извлеки значение​ на практике Вы​ помощь, попробую​ из отдела продаж:​Для автоматического подсчета количества​ и ПОИСКПОЗ открывает​ нем значение-критерий. Если​ в Microsoft Excel​отлично работает в​ ни одного общего​функция​=VLOOKUP(«Dan Brown3»,$A$2:$C$16,3,FALSE)​ – создать дополнительный​ скобкам, в которые​ выглядеть так:​ минимальное, максимальное или​

ДАННЫЕ.

​ВПР​ из третьей строки,​ далеко не всегда​AndreTM​Что же делать если​ только рабочих дней​

Тип данных.

​ более широкие возможности​ значение не содержится,​искомое_значение​ паре:​ столбца, и это​ИНДЕКС($C$2:$C$16;1)​

Источник.

​=ВПР(«Dan Brown3»;$A$2:$C$16;3;ЛОЖЬ)​ столбец, в котором​ она заключена. Поэтому,​

​=MATCH($H$2,$B$1:$B$11,0)​ ближайшее к среднему​.​

​ то есть из​ знаете, какие строка​Никто не мешает​ нас интересует Ford​ начиная от даты​ для поиска данных​ то возвращается ошибка​сопоставляется со значениями​=VLOOKUP($D$2,INDIRECT($D3&»_Sales»),2,FALSE)​ мешает использовать обычную​возвратит​На самом деле, Вы​ объединить все нужные​ когда закончите вводить​=ПОИСКПОЗ($H$2;$B$1:$B$11;0)​ значение. Вот несколько​

​3. Нет ограничения на​

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

​ ячейки​ и столбец Вам​ мне поставить диапазон​ из маркетингового отдела?​ приема сотрудника на​ в одной и​ #ЗНАЧ! В противном​

​ в аргументе​=ВПР($D$2;ДВССЫЛ($D3&»_Sales»);2;ЛОЖЬ)​ функцию​Apples​ можете ввести ссылку​ критерии. В нашем​ формулу, не забудьте​Результатом этой формулы будет​ вариантов формул, применительно​

Сколько игр.

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

​ случае возвращается числовое​

Сколько очков.

​просматриваемый_массив​Где:​ВПР​

  1. ​, для​
  2. ​ на ячейку в​

​ примере это столбцы​

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

​ нажать​4​ к таблице из​Используя​, так как счёт​

​ требуется помощь функции​

Пример 2.

​ каждом листе (В2​ хотим использовать только​ функцию ЧИСТРАБДНИ:​

​ сразу, на что​ значение, соответствующее номеру​. По умолчанию в​$D$2​. Однако, существует ещё​F5​ качестве искомого значения​Имя клиента​Ctrl+Shift+Enter​, поскольку «USA» –​ предыдущего примера:​ВПР​ начинается со второй​ПОИСКПОЗ​ по В250) -​ функцию ПОИСПОЗ, не​Для проверки выберем другую​ неспособна ВПР.​ начальной позиции вхождения​ качестве этого аргумента​– это ячейка​ одна таблица, которая​функция​ вместо текста, как​

​(Customer) и​

Динамическое суммирование диапазона.

​.​ это 4-ый элемент​1.​

Проверим результат.

​, помните об ограничении​ строки.​.​ не думаю что​

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

​ прибегая к формулам​ фамилию сотрудника из​Пример 1. В турнирной​ критерия в значение​ используется значение 1.​ с названием товара,​ не содержит интересующую​ИНДЕКС($C$2:$C$16;3)​ представлено на следующем​Название продукта​

​Если всё сделано верно,​

Пример 3.

​ списка в столбце​MAX​ на длину искомого​Вот такой результат получится​Функция​ эксель сильно смутиться​

​ с комбинациями других​ выпадающего списка в​ таблице хранятся данные​ из списка (здесь​

​В приведенной ниже​

​ она неизменна благодаря​ нас информацию, но​возвратит​ рисунке:​(Product). Не забывайте,​ Вы получите результат​B​(МАКС). Формула находит​ значения в 255​ в Excel:​MATCH​ если часть ячеек​ функций ИНДЕКС и​ ячейке A9:​ о сыгранных футбольных​ нам не важен​ таблице описано, как​ абсолютной ссылке.​ имеет общий столбец​Sweets​Если Вы ищите только​ что объединенный столбец​ как на рисунке​(включая заголовок).​ максимум в столбце​ символов, иначе рискуете​Важно! Количество строк и​(ПОИСКПОЗ) в Excel​

​ будут пустыми.​ т.п. Выход из​

Примеры определения дат.

​Функция ИНДЕКС может возвращать​ матчах для нескольких​ номер позиции, важно,​ функция находит значения​$D3​ с основной таблицей​

подсчет количества только рабочих дней.

​и так далее.​2-е​ должен быть всегда​ ниже:​

выберем другую фамилию.

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

​ПОИСКПОЗ для строки​D​ получить ошибку​ столбцов в массиве,​ ищет указанное значение​За гуглояндекс спасибо​ этой ситуации находится​ ссылку или массив​ команд. Определить:​ что это число);​ в зависимости от​– это ячейка,​ и таблицей поиска.​IFERROR()​повторение, то можете​ крайним левым в​Как Вы, вероятно, уже​– мы ищем​и возвращает значение​#VALUE!​ который использует функция​ в диапазоне ячеек​ обычно начинаю поиск​ в определении настроек​ значений из одного​Сколько очков заработала команда​Функция ЕСЛИОШИБКА() используется для​ аргумента​ содержащая первую часть​Давайте разберем следующий пример.​ЕСЛИОШИБКА()​ сделать это без​ диапазоне поиска, поскольку​

​ заметили (и не​ значение ячейки​ из столбца​(#ЗНАЧ!). Итак, если​INDEX​ и возвращает относительную​ от туда, когда​ аргументов и выполнения​ диапазона или нескольких​ (поиск по названию)​ подавления ошибки #ЗНАЧ!​

​тип_сопоставления​ названия региона. В​ У нас есть​В завершение, мы помещаем​ вспомогательного столбца, создав​ именно левый столбец​ раз), если вводить​H3​C​ таблица содержит длинные​(ИНДЕКС), должно соответствовать​ позицию этого значения​ мы с ним​ функции в массиве.​ несмежных диапазонов, принимая​

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

​(2015) в строке​

​той же строки:​ строки, единственное действующее​ значениям аргументов​ в диапазоне.​

exceltable.com

Вывод всех значений удовлетворяющих условию (Формулы/Formulas)

​ друг друга начинаем​​ Для этого:​
​ на вход ссылку​Суммарное значение очков, заработанных​ число 0;​Тип_сопоставления​FL​ table) со столбцом​IFERROR​=IFERROR(VLOOKUP($F$2,INDIRECT(«$B$»&(MATCH($F$2,Table4[Customer Name],0)+2)&»:$C16″),2,FALSE),»»)​ВПР​ которого нет в​
​1​=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))​
​ решение – это​row_num​

​Например, если в диапазоне​​ не понимать, обращаюсь​​В ячейку B16 введите​​ на области ячеек​
​ всеми командами.​Функция ЕСЛИ() заменяет числовые​

​Поведение​​.​
​SKU (new)​
​(ЕСЛИОШИБКА), поскольку вряд​

​=ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ(«$B$»&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&»:$C16″);2;ИСТИНА);»»)​​просматривает при поиске​

​ просматриваемом массиве, формула​​, то есть в​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))​
​ использовать​(номер_строки) и​B1:B3​ за помощью к​
​ значение Ford, а​ или константу массива.​Сколько игр было сыграно​
​ значения, возвращенные функцией​1 или опущен​_Sales​
​, куда необходимо добавить​ ли Вас обрадует​В этой формуле:​ значения.​ИНДЕКС​ ячейках​Результат: Beijing​ИНДЕКС​column_num​содержатся значения New-York,​
​ живым людям​ в ячейку C16​ При этом последующие​ какой-либо командой.​
​ ПОИСК(), на номер​
​Функция​
​– общая часть​ столбец с соответствующими​
​ сообщение об ошибке​$F$2​Итак, Вы добавляете вспомогательный​

excelworld.ru

Пример функции ПОИСКПОЗ в Excel без функции ИНДЕКС

​/​A1:E1​2.​/​(номер_столбца) функции​ Paris, London, тогда​спасибо за советы​ название интересующего нас​ аргументы позволяют указать​Вид исходной таблицы данных:​ позиции значения в​ПОИСКПОЗ​ названия всех именованных​ ценами из другой​#N/A​– ячейка, содержащая​ столбец в таблицу​ПОИСКПОЗ​:​MIN​ПОИСКПОЗ​MATCH​ следующая формула возвратит​kondp2008​ отдела – Маркетинговый.​ номера интересующих строки​Для удобства в ячейках​ списке. Если значение​находит наибольшее значение,​ диапазонов или таблиц.​

Пример работы ПОИСКПОЗ по двум столбцам Excel

​ таблицы. Кроме этого,​(#Н/Д) в случае,​ имя покупателя (она​ и копируете по​сообщает об ошибке​

Список автомобилей.

​=MATCH($H$3,$A$1:$E$1,0)​(МИН). Формула находит​.​(ПОИСКПОЗ). Иначе результат​ цифру​: Добрый день​В ячейку C17 введите​ и столбца относительно​ A11, A13 и​ =0 (соответствует ошибке​ которое меньше или​ Соединенная со значением​ у нас есть​ если количество ячеек,​ неизменна, обратите внимание​ всем его ячейкам​#N/A​=ПОИСКПОЗ($H$3;$A$1:$E$1;0)​

Ford продажи.

​ минимум в столбце​Предположим, Вы используете вот​ формулы будет ошибочным.​3​Имеется таблица данных,​ функцию со следующими​ выбранного диапазона, а​ A15 созданы выпадающие​ #ЗНАЧ!), то возвращается​ равно значению аргумента​ в ячейке D3,​ 2 таблицы поиска.​ в которые скопирована​ – ссылка абсолютная);​ формулу вида:​

  1. ​(#Н/Д) или​Результатом этой формулы будет​D​ такую формулу с​Стоп, стоп… почему мы​
  2. ​, поскольку «London» –​ в порядке возрастания​ аргументами:​
  3. ​ также порядковый номер​ списки, элементы которых​ число 30. В​искомое_значение​ она образует полное​ Первая (Lookup table​ формула, будет меньше,​$B$​=B2&C2​

Ford маркетинг.

​#VALUE!​5​и возвращает значение​

​ВПР​

Описание примера как работает функция ПОИСКПОЗ:

​ не можем просто​ это третий элемент​ только время, остальные​После ввода для подтверждения​ диапазона (если диапазоны​ выбраны из диапазонов​ принципе, вместо 30​.​ имя требуемого диапазона.​ 1) содержит обновленные​ чем количество повторяющихся​– столбец​. Если хочется, чтобы​(#ЗНАЧ!). Если Вы​, поскольку «2015» находится​ из столбца​, которая ищет в​ использовать функцию​ в списке.​ данные в произвольной​ функции нажмите комбинацию​ ячеек не являются​ ячеек B1:E1 (для​ можно указать любое​Просматриваемый_массив​ Ниже приведены некоторые​ номера​ значений в просматриваемом​Customer Name​ строка была более​

​ хотите заменить такое​ в 5-ом столбце.​C​ ячейках от​

exceltable.com

Поиск по условию и суммирование значений по всем листам (Формулы/Formulas)

​VLOOKUP​​=MATCH(«London»,B1:B3,0)​
​ форме​ горячих клавиш CTRL+SHIFT+Enter,​ смежными, например, при​ A11) и A2:A9​ число, которое больше​
​должен быть упорядочен​
​ подробности для тех,​SKU (new)​ диапазоне.​
​;​ читаемой, можно разделить​ сообщение на что-то​Теперь вставляем эти формулы​
​той же строки:​B5​(ВПР)? Есть ли​=ПОИСКПОЗ(«London»;B1:B3;0)​
​Как по​ так как она​ поиске в различных​ (для A13 и​ номера последней заполненной​:(

​ по возрастанию: …,​​ кто не имеет​и названия товаров,​Выполнение двумерного поиска в​Table4​ объединенные значения пробелом:​ более понятное, то​ в функцию​=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))​до​ смысл тратить время,​Функция​заданному условию​ должна выполнятся в​ таблицах). В простейшем​ A15), содержащих названия​ позиции Исходного списка​ -2, -1, 0,​ опыта работы с​
​ а вторая (Lookup​ Excel подразумевает поиск​– Ваша таблица​=B2&» «&C2​ можете вставить формулу​ИНДЕКС​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))​
​D10​ пытаясь разобраться в​MATCH​

​формулой вытянуть​​ массиве. Если все​ случае функция ИНДЕКС​ команд. Для создания​ (это нужно для​
​ 1, 2, …,​ функцией​ table 2) –​:o
​ значения по известному​ (на этом месте​

​. После этого можно​​ с​и вуаля:​Результат: Lima​значение, указанное в​
​ лабиринтах​(ПОИСКПОЗ) имеет вот​последнее заполненное значение​:)
​ сделано правильно в​ возвращает значение, хранящееся​ первого выпадающего списка​ правильной сортировки функцией​ A-Z, ЛОЖЬ, ИСТИНА.​
​ДВССЫЛ​ названия товаров и​ номеру строки и​ также может быть​

​ использовать следующую формулу:​​ИНДЕКС​

​=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))​​3.​ ячейке​ПОИСКПОЗ​
​ такой синтаксис:​для каждого заданного​ строке формул появятся​ в ячейке на​ необходимой перейти курсором​ НАИМЕНЬШИЙ());​0​.​ старые номера​ столбца. Другими словами,​ обычный диапазон);​=VLOOKUP(«Jeremy Hill Sweets»,$A$7:$D$18,4,FALSE)​и​=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))​AVERAGE​A2​и​MATCH(lookup_value,lookup_array,[match_type])​ значения​ фигурные скобки.​
​ пересечении строки и​ на ячейку A11.​:)​Функция НАИМЕНЬШИЙ() сортирует массив​​Функция​​Во-первых, позвольте напомнить синтаксис​SKU (old)​ Вы извлекаете значение​$C16​=ВПР(«Jeremy Hill Sweets»;$A$7:$D$18;4;ЛОЖЬ)​
​ПОИСКПОЗ​Если заменить функции​(СРЗНАЧ). Формула вычисляет​:​ИНДЕКС​ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​:)
​_Boroda_​Как видно функция самостоятельно​

​ столбца. Например, =ИНДЕКС(A2:B5;2;2)​​ Выбрать вкладку «ДАННЫЕ»​​ номеров строк по​ПОИСКПОЗ​
​ функции​
​.​ ячейки на пересечении​– конечная ячейка​или​в функцию​ПОИСКПОЗ​ среднее в диапазоне​=VLOOKUP(A2,B5:D10,3,FALSE)​?​
​lookup_value​: Так нужно?​ справилась с решением​ вернет значение, которое​ ленты меню, найти​ возрастанию;​находит первое значение,​ДВССЫЛ​
​Чтобы добавить цены из​

excelworld.ru

Поиск последнего значения по условию (Формулы/Formulas)

​ конкретной строки и​​ Вашей таблицы или​
​=VLOOKUP(B1,$A$7:$D$18,4,FALSE)​ЕСЛИОШИБКА​на значения, которые​D2:D10​=ВПР(A2;B5:D10;3;ЛОЖЬ)​
​=VLOOKUP(«Japan»,$B$2:$D$2,3)​​(искомое_значение) – это​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПРОСМОТР(2;1/(J:J=»Ц-4″);K:K)​​ поставленной задачи.​​ хранится в ячейке​ секцию с инструментами​

​Функция ДВССЫЛ() возвращает массив​​ равное аргументу​
​(INDIRECT):​

excelworld.ru

​ второй таблицы поиска​

Поиск значений в списке данных

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

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

В этой статье

Поиск значений в списке по вертикали по точному совпадению

Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.

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

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

Примеры ИНДЕКСов и СОВПАДЕНИй

=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))

Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.

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

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

Для этого используйте функцию ВПР.

Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

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

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

Поиск значений по вертикали в списке неизвестного размера с точным соответствием

Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.

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

C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).

Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.

1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.

Поиск значений в списке по горизонтали по точному совпадению

Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.

Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.

Дополнительные сведения можно найти в разделе функции ГПР.

Поиск значений в списке по горизонтали с использованием приблизительного совпадения

Для выполнения этой задачи используется функция ГПР.

Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.

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

Дополнительные сведения можно найти в разделе функции ГПР.

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

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

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

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

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

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

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

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

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

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

Выборка значений из таблицы Excel по условию

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

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

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

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

В месте «диапазон_данных_для_выборки» следует указать область значений A6:A18 для выборки из таблицы (например, текстовых), из которых функция ИНДЕКС выберет одно результирующие значение. Аргумент «диапазон» означает область ячеек с числовыми значениями, из которых следует выбрать первое наименьшее число. В аргументе «заголовок_столбца» для второй функции СТРОКА, следует указать ссылку на ячейку с заголовком столбца, который содержит диапазон числовых значений.

Естественно эту формулу следует выполнять в массиве. Поэтому для подтверждения ее ввода следует нажимать не просто клавишу Enter, а целую комбинацию клавиш CTRL+SHIFT+Enter. Если все сделано правильно в строке формул появятся фигурные скобки.

Обратите внимание ниже на рисунок, где в ячейку B3 была введена данная формула в массиве:

Выборка соответственного значения с первым наименьшим числом:

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

Как работает выборка по условию

Ключевую роль здесь играет функция ИНДЕКС. Ее номинальное задание – это выбирать из исходной таблицы (указывается в первом аргументе – A6:A18) значения соответственные определенным числам. ИНДЕКС работает с учетом критериев определённых во втором (номер строки внутри таблицы) и третьем (номер столбца в таблице) аргументах. Так как наша исходная таблица A6:A18 имеет только 1 столбец, то третий аргумент в функции ИНДЕКС мы не указываем.

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

Функция ЕСЛИ позволяет выбрать значение из списка по условию. В ее первом аргументе указано где проверяется каждая ячейка в диапазоне B6:B18 на наличие наименьшего числового значения: ЕСЛИB6:B18=МИНB6:B18. Таким способом в памяти программы создается массив из логических значений ИСТИНА и ЛОЖЬ. В нашем случаи 3 элемента массива будут содержат значение ИСТИНА, так как минимальное значение 8 содержит еще 2 дубликата в столбце B6:B18.

Следующий шаг – это определение в каких именно строках диапазона находится каждое минимальное значение. Это нам необходимо по причине определения именно первого наименьшего значения. Реализовывается данная задача с помощью функции СТРОКА, она заполняет элементы массива в памяти программы номерами строк листа. Но сначала от всех этих номеров вычитается номер на против первой строки таблицы – B5, то есть число 5. Это делается потому, что функция ИНДЕКС работает с номерами внутри таблицы, а не с номерами рабочего листа Excel. В тоже время функция СТРОКА умеет возвращать только номера строк листа. Чтобы не получилось смещение необходимо сопоставить порядок номеров строк листа и таблицы с помощи вычитанием разницы. Например, если таблица находится на 5-ой строке листа значит каждая строка таблицы будет на 5 меньше чем соответственная строка листа.

После того как будут отобраны все минимальные значения и сопоставлены все номера строк таблицы функция МИН выберет наименьший номер строки. Эта же строка будет содержать первое наименьшее число, которое встречается в столбце B6:B18. На основании этого номера строки функции ИНДЕКС выберет соответствующее значение из таблицы A6:A18. В итоге формула возвращает это значение в ячейку B3 в качестве результата вычисления.

Как выбрать значение с наибольшим числом в Excel

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

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

=70;»»;B6:B18));СТРОКА(B6:B18)-СТРОКА(B5);»»)))’ class=’formula’>

Как в Excel выбрать первое минимальное значение кроме нуля:

Как легко заметить, эти формулы отличаются между собой только функциями МИН и МАКС и их аргументами.

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

Вывод отобранных значений в отдельный диапазон в Excel. Бесплатные примеры и статьи.

Пять последних значений в MS EXCEL

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

Удаляем в MS EXCEL пропуски в списке (формулы)

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

Запрос на выборку данных (формулы) в MS EXCEL

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

Отбор уникальных значений (убираем повторы из списка) в MS EXCEL

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

Вывод итогов столбцов по строкам в MS EXCEL

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

Отбор неповторяющихся значений со значениями из соседнего столбца в MS EXCEL

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

Отбор неповторяющихся значений в MS EXCEL

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

Отбор повторяющихся значений в MS EXCEL

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

Динамическое разнесение данных по столбцам

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

Отбор уникальных значений в MS EXCEL с условиями

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

Запрос на выборку данных в MS EXCEL (на основе элементов управления формы)

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

Отбор неповторяющихся значений из двух диапазонов в MS EXCEL

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

Отбор уникальных значений из двух диапазонов в MS EXCEL

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

Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть2. Подстановочные знаки

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

Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск

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

Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть3. Поиск с учетом РЕГИСТРА

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

Отбор уникальных значений с сортировкой в MS EXCEL

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

Поиск ЧИСЛОвых значений и вывод соответствующих значений в отдельный список в MS EXCEL

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

Поиск нескольких значений с максимальной длиной строки в MS EXCEL

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

Отбор повторяющихся значений (дубликатов) со значениями из соседнего столбца в MS EXCEL

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

ВПР с возвратом всех значений

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

И из этой таблицы необходимо получить фамилии(поле ФИО) всех сотрудников из отдела Сбыта:

Тут два варианта:

    Вариант 1: все значения необходимо получить в одной ячейке через разделитель(скажем запятую). Такое возможно только через использование VBA(на момент написания статьи). Такую функцию я написал давно: Как сцепить несколько значений в одну ячейку по критерию? СцепитьЕсли

. В результате получим что-то вроде: Александров Иван,Александров Петр,Андреев Алексей .

  • Вариант 2: каждое значение должно быть в отдельной ячейке. Этот вариант мы и рассмотрим более подробно в данной статье. Причем решать задачу будем без использования макросов — только встроенными функциями
  • Здесь надо сразу оговориться — при помощи непосредственно ВПР (VLookup) это сделать ну никак не получится. Но это можно сделать при помощи её родственников — связки ИНДЕКС(ПОИСКПОЗ) (INDEX(MATCH)) . Плюс еще пара функций. В сборе функция выглядит так:
    =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1)
    =INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1)
    где:

    • $A$12:$G$111 — таблица с ФИО и всеми данными
    • $I$12 — ячейка с названием отдела
    • $C$12:$C$111 — столбец с названиями отделов в таблице $A$12:$G$111

    А теперь начнем разбирать формулу по кусочкам
    Предлагаю сразу скачать пример файла с данными и формулами — тогда понять будет проще:

    Tips_All_VlookupAllVals.xls (84,5 KiB, 8 651 скачиваний)

    • Первое и самое главное — формула вводится в ячейку как формула массива. Это значит, что для приложенного к статье примера необходимо будет выделить ячейку J12 , записать в неё формулу и завершить ввод нажатием сразу трех клавиш: Ctrl+Shift+Enter. После этого скопировать ячейку, выделить диапазон J13:J39 и вставить туда скопированную ячейку.
    • За отбор ФИО указанного отдела отвечает этот кусок: ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11)
      IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11)
      Как видно здесь идет сравнение отдела, записанного в $I$12 со всеми отделами в таблице: $C$12:$C$111 . Если отдел совпадает, то функция возвращает номер строки СТРОКА( $C$12:$C$111 ) . Но нам нужен не номер строки на листе, а номер строки внутри таблицы(потому что в формулу ИНДЕКС (INDEX) у нас передан диапазон $A$12:$G$111 и если передать в его второй аргумент( номер_строки ) 14, то получим не Александров Иван , а Андреев Олег ). Поэтому отнимаем от номера строки 11, чтобы было возвращено число 3(а не 14). Т.к. формула записана формулой массива — ЕСЛИ (IF) возвращает массив из номеров строк и логического ЛОЖЬ (FALSE) (если отдел не совпадает):
      шаг 1: ЕСЛИ(<ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;<12:13: 14 :15:16: 17 :18:19:20>-11)
      шаг 2: ЕСЛИ(<ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ: ИСТИНА :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;<1:2: 3 :4:5: 6 :7:8:9>)
      шаг 3:
    • Т.к. ЕСЛИ (IF) в данном случае возвращает массив значений, включая ненужные нам ЛОЖЬ (FALSE) — применяем НАИМЕНЬШИЙ (SMALL) , которая будет брать только числа (сначала 3, затем 6 и т.д.), а логические значения ЛОЖЬ (FALSE) будет игнорировать:
      НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A1))
      SMALL(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;ROW(A1))
      Функция НАИМЕНЬШИЙ (SMALL) отбирает из указанного массива чисел наименьшее. При этом можно отобрать по рангу — первое наименьшее, второе наименьшее, третье наименьшее и т.д.
    1. с первым аргументом разобрались — это уже отобранные записи, где число — строка в таблице с нужной ФИО и ненужные нам логические ЛОЖЬ (FALSE) .
    2. второй аргумент СТРОКА(A1) для каждой следующей строки будет меняться. В приложенном примере первая ячейка с формулой — J12 . В ней СТРОКА(A1) равна 1, т.е. НАИМЕНЬШИЙ (SMALL) вернет первое наименьшее из массива чисел — 3 . В ячейке J13 это уже будет СТРОКА(A2) и она равна 2, а значит НАИМЕНЬШИЙ (SMALL) вернет второе наименьшее из массива чисел — 6 . И т.д. Когда все числа закончатся — НАИМЕНЬШИЙ (SMALL) вернет значение ошибки #ЧИСЛО! (#NUM!)
      ячейка J12
      шаг 1: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A1))
      шаг 2: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;1)
      шаг 3: НАИМЕНЬШИЙ( 3 )
      ячейка J13
      шаг 1: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;СТРОКА(A2))
      шаг 2: НАИМЕНЬШИЙ(<ЛОЖЬ:ЛОЖЬ: 3 :ЛОЖЬ:ЛОЖЬ: 6 :ЛОЖЬ:ЛОЖЬ:ЛОЖЬ>;2)
      шаг 3: НАИМЕНЬШИЙ( 6 )
  • И последний штрих — все это передается в функцию ИНДЕКС (INDEX) . Для ячейки J12 это будет значение ячейки, расположенной на пересечении 3-й строки и 1-го столбца диапазона $A$12:$G$111 . На листе это ячейка A14 . Т.е. третья сверху ячейка столбца А в диапазоне $A$12:$G$111 — Александров Иван .

    ячейка J12
    шаг 1: =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ( 3 );1)
    шаг 2: =ИНДЕКС( $A$12:$G$111 ;3;1)
    шаг 3: Александров Иван
    ячейка J13
    шаг 1: =ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ( 6 );1)
    шаг 2: =ИНДЕКС( $A$12:$G$111 ;6;1)
    шаг 3: Александров Петр

  • И в довершение неплохо бы убрать ошибку в случае, если ни одно значение не соответствует критерию или значений больше, чем ячеек с формулами. Более подробно подобное решение я описывал в этой статье: Как в ячейке с формулой вместо ошибки показать 0
    Для всех версий Excel:
    =ЕСЛИ(ЕОШ(ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1));»»;ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1))
    =IF(ISERR(INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1));»»;INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1))
    Для Excel 2007 и выше:
    =ЕСЛИОШИБКА(ИНДЕКС( $A$12:$G$111 ;НАИМЕНЬШИЙ(ЕСЛИ( $I$12 = $C$12:$C$111 ;СТРОКА( $C$12:$C$111 )-11);СТРОКА( A1 ));1);»»)
    =IFERROR(INDEX($A$12:$G$111;SMALL(IF($I$12=$C$12:$C$111;ROW($C$12:$C$111)-11);ROW(A1));1);»»)
    Плюс к этому в приложенном к статье файле я привел формулу, которая возвращает список всех сотрудников выбранного отдела без повторений и формулу с возможностью просто поменять заголовок в результирующем столбце(в файле это столбец K, ячейка K11 ) на любой из исходной таблицы и данные будут отображены из этого столбца.
    Например, если вместо столбца ФИО записать в K11 Адрес — будут отображены все адреса сотрудников выбранного отдела. Если записать Телефон — все телефоны сотрудников выбранного отдела.

    Tips_All_VlookupAllVals.xls (84,5 KiB, 8 651 скачиваний)

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

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

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

    Если вы продвинутый пользователь 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 для этой цели можно успешно использовать формулу в массиве.

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

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

    Прайс продуктов.

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

    =ИНДЕКС(диапазон_данных_для_выборки;МИН(ЕСЛИ(диапазон=МИН(диапазон);СТРОКА(диапазон)-СТРОКА(заголовок_столбца);””)))

    В месте «диапазон_данных_для_выборки» следует указать область значений A6:A18 для выборки из таблицы (например, текстовых), из которых функция ИНДЕКС выберет одно результирующие значение. Аргумент «диапазон» означает область ячеек с числовыми значениями, из которых следует выбрать первое наименьшее число. В аргументе «заголовок_столбца» для второй функции СТРОКА, следует указать ссылку на ячейку с заголовком столбца, который содержит диапазон числовых значений.

    Естественно эту формулу следует выполнять в массиве. Поэтому для подтверждения ее ввода следует нажимать не просто клавишу Enter, а целую комбинацию клавиш CTRL+SHIFT+Enter. Если все сделано правильно в строке формул появятся фигурные скобки.

    Обратите внимание ниже на рисунок, где в ячейку B3 была введена данная формула в массиве:

    Выборка соответственного значения с первым наименьшим числом:

    Условие выбрать первое минимальное.

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

    

    Как работает выборка по условию

    Ключевую роль здесь играет функция ИНДЕКС. Ее номинальное задание – это выбирать из исходной таблицы (указывается в первом аргументе – A6:A18) значения соответственные определенным числам. ИНДЕКС работает с учетом критериев определённых во втором (номер строки внутри таблицы) и третьем (номер столбца в таблице) аргументах. Так как наша исходная таблица A6:A18 имеет только 1 столбец, то третий аргумент в функции ИНДЕКС мы не указываем.

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

    Функция ЕСЛИ позволяет выбрать значение из списка по условию. В ее первом аргументе указано где проверяется каждая ячейка в диапазоне B6:B18 на наличие наименьшего числового значения: ЕСЛИB6:B18=МИНB6:B18. Таким способом в памяти программы создается массив из логических значений ИСТИНА и ЛОЖЬ. В нашем случаи 3 элемента массива будут содержат значение ИСТИНА, так как минимальное значение 8 содержит еще 2 дубликата в столбце B6:B18.

    Следующий шаг – это определение в каких именно строках диапазона находится каждое минимальное значение. Это нам необходимо по причине определения именно первого наименьшего значения. Реализовывается данная задача с помощью функции СТРОКА, она заполняет элементы массива в памяти программы номерами строк листа. Но сначала от всех этих номеров вычитается номер на против первой строки таблицы – B5, то есть число 5. Это делается потому, что функция ИНДЕКС работает с номерами внутри таблицы, а не с номерами рабочего листа Excel. В тоже время функция СТРОКА умеет возвращать только номера строк листа. Чтобы не получилось смещение необходимо сопоставить порядок номеров строк листа и таблицы с помощи вычитанием разницы. Например, если таблица находится на 5-ой строке листа значит каждая строка таблицы будет на 5 меньше чем соответственная строка листа.

    После того как будут отобраны все минимальные значения и сопоставлены все номера строк таблицы функция МИН выберет наименьший номер строки. Эта же строка будет содержать первое наименьшее число, которое встречается в столбце B6:B18. На основании этого номера строки функции ИНДЕКС выберет соответствующее значение из таблицы A6:A18. В итоге формула возвращает это значение в ячейку B3 в качестве результата вычисления.

    Как выбрать значение с наибольшим числом в Excel

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

    Первое максимальное значение.

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

    Максимальное значение по условию.

    Как в Excel выбрать первое минимальное значение кроме нуля:

    Больше чем ноль.

    Как легко заметить, эти формулы отличаются между собой только функциями МИН и МАКС и их аргументами.

    Скачать пример выборки из таблицы в Excel.

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

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

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

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

    Функция ЕСЛИ позволяет выполнять логические сравнения значений и ожидаемых результатов. Она проверяет условие и в зависимости от его истинности возвращает результат.

    • =ЕСЛИ(это истинно, то сделать это, в противном случае сделать что-то еще)

    Поэтому у функции ЕСЛИ возможны два результата. Первый результат возвращается в случае, если сравнение истинно, второй — если сравнение ложно.

    Заявления ЕСЛИ являются исключительно надежными и являются основой для многих моделей электронных таблиц, но они также являются основной причиной многих проблем с электронными таблицами. В идеале утверждение ЕСЛИ должно применяться к минимальным условиям, таким как «Мужчина/женщина», «Да/Нет/Возможно», но иногда может потребоваться оценить более сложные сценарии, для которых требуется вложенное* более 3 функций ЕСЛИ.

    * «Вложенность» означает объединение нескольких функций в одной формуле.

    Функция ЕСЛИ, одна из логических функций, служит для возвращения разных значений в зависимости от того, соблюдается ли условие.

    Синтаксис

    ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])

    Например:

    • =ЕСЛИ(A2>B2;»Превышение бюджета»;»ОК»)

    • =ЕСЛИ(A2=B2;B4-A4;»»)

    Имя аргумента

    Описание

    лог_выражение   

    (обязательный)

    Условие, которое нужно проверить.

    значение_если_истина   

    (обязательный)

    Значение, которое должно возвращаться, если лог_выражение имеет значение ИСТИНА.

    значение_если_ложь   

    (необязательный)

    Значение, которое должно возвращаться, если лог_выражение имеет значение ЛОЖЬ.

    Примечания

    Excel позволяет использовать до 64 вложенных функций ЕСЛИ, но это вовсе не означает, что так и надо делать. Почему?

    • Нужно очень крепко подумать, чтобы выстроить последовательность из множества операторов ЕСЛИ и обеспечить их правильную отработку по каждому условию на протяжении всей цепочки. Если при вложении вы допустите в формуле малейшую неточность, она может сработать в 75 % случаев, но вернуть непредвиденные результаты в остальных 25 %. К сожалению, шансов отыскать эти 25 % немного.

    • Работа с множественными операторами ЕСЛИ может оказаться чрезвычайно трудоемкой, особенно если вы вернетесь к ним через какое-то время и попробуете разобраться, что пытались сделать вы или, и того хуже, кто-то другой.

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

    Давайте посмотрим, как правильно создавать операторы с несколькими вложенными функциями ЕСЛИ и как понять, когда пора переходить к другим средствам из арсенала Excel.

    Примеры

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

    Сложный оператор ЕСЛИ с вложением — ячейка E2 содержит формулу =ЕСЛИ(B2>97;"A+";ЕСЛИ(B2>93;"A";ЕСЛИ(B2>89;"A-";ЕСЛИ(B2>87;"B+";ЕСЛИ(B2>83;"B";ЕСЛИ(B2>79;"B-";ЕСЛИ(B2>77;"C+";ЕСЛИ(B2>73;"C";ЕСЛИ(B2>69;"C-";ЕСЛИ(B2>57;"D+";ЕСЛИ(B2>53;"D";ЕСЛИ(B2>49;"D-";"F"))))))))))))

    • =ЕСЛИ(D2>89;»A»;ЕСЛИ(D2>79;»B»;ЕСЛИ(D2>69;»C»;ЕСЛИ(D2>59;»D»;»F»))))

      Этот сложный оператор с вложенными функциями ЕСЛИ следует простой логике:

    1. Если тестовых баллов (в ячейке D2) больше 89, учащийся получает оценку A.

    2. Если тестовых баллов больше 79, учащийся получает оценку B.

    3. Если тестовых баллов больше 69, учащийся получает оценку C.

    4. Если тестовых баллов больше 59, учащийся получает оценку D.

    5. В противном случае учащийся получает оценку F.

    Этот частный пример относительно безопасен, поскольку взаимосвязь между тестовыми баллами и буквенными оценками вряд ли будет меняться, так что дополнительных изменений не потребуется. Но что если вам потребуется разделить оценки на A+, A и A– (и т. д.)? Теперь ваши четыре условных оператора ЕСЛИ нужно переписать с учетом 12 условий! Вот так будет выглядеть ваша формула:

    • =ЕСЛИ(B2>97;»A+»;ЕСЛИ(B2>93;»A»;ЕСЛИ(B2>89;»A-«;ЕСЛИ(B2>87;»B+»;ЕСЛИ(B2>83;»B»;ЕСЛИ(B2>79;»B-«; ЕСЛИ(B2>77;»C+»;ЕСЛИ(B2>73;»C»;ЕСЛИ(B2>69;»C-«;ЕСЛИ(B2>57;»D+»;ЕСЛИ(B2>53;»D»;ЕСЛИ(B2>49;»D-«;»F»))))))))))))

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

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

    Дополнительные примеры

    Ниже приведен распространенный пример расчета комиссионных за продажу в зависимости от уровней дохода.

    Ячейка D9 содержит формулу ЕСЛИ(C9>15000;20%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>5000;10%;0)))))

    • =ЕСЛИ(C9>15000;20%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>5000;10%;0)))))

    Эта формула означает: ЕСЛИ(ячейка C9 больше 15 000, то вернуть 20 %, ЕСЛИ(ячейка C9 больше 12 500, то вернуть 17,5 % и т. д…

    Хотя она выглядит примерно так же, как в примере с более ранними оценками, эта формула является отличным примером того, насколько сложно использовать крупные выписки ЕСЛИ. Что делать, если ваша организация решила добавить новые уровни компенсаций и, возможно, даже изменить существующие значения в рублях или процентах? У вас будет много работы на руках!

    Совет: Чтобы сложные формулы было проще читать, вы можете вставить разрывы строк в строке формул. Просто нажмите клавиши ALT+ВВОД перед текстом, который хотите перенести на другую строку.

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

    Ячейка D9 содержит неправильную формулу: =ЕСЛИ(C9>5000;10%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>15000;20%;0)))))

    Видите, что не так? Сравните порядок сравнения доходов с предыдущим примером. Как это будет происходить? Правильно, она будет снизу вверх (от 5 000 до 15 000 рублей), а не наоборот. Но почему это так важно? Это очень важно, так как формула не может пройти первую оценку для любого значения стоимостью более 5 000 рублей. Предположим, что вы получили доход в размере 12 500 долларов США— если вы получили 10 %, так как она больше 5 000 рублей, и она остановится на этом. Это может быть чрезвычайно проблемным, так как во многих ситуациях такие типы ошибок остаются незамеченными до тех пор, пока они не оказывают отрицательного влияния. Так что же можно сделать, зная о том, что при сложных вложенных заявлениях ЕСЛИ существуют серьезные недостатки? В большинстве случаев вместо создания сложной формулы с помощью функции ЕСЛИ можно использовать функцию ВЛОП. С помощью ВLOOKUPсначала нужно создать таблицу для справки:

    Ячейка D2 содержит формулу =ВПР(C2;C5:D17;2;ИСТИНА)

    • =ВПР(C2;C5:D17;2;ИСТИНА)

    В этой формуле предлагается найти значение ячейки C2 в диапазоне C5:C17. Если значение найдено, возвращается соответствующее значение из той же строки в столбце D.

    Ячейка C9 содержит формулу =ВПР(B9;B2:C6;2;ИСТИНА)

    • =ВПР(B9;B2:C6;2;ИСТИНА)

    Эта формула ищет значение ячейки B9 в диапазоне B2:B22. Если значение найдено, возвращается соответствующее значение из той же строки в столбце C.

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

    В этой области в этой области вложена более подробная информация,но это намного проще, чем 12-уровневая сложная вложенная если-выписка! Есть и другие, менее очевидные, преимущества:

    • Таблицы ссылок функции ВПР открыты и их легко увидеть.

    • Значения в таблицах просто обновлять, и вам не потребуется трогать формулу, если условия изменятся.

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

    Вы знали?

    Теперь есть функция УСЛОВИЯ, которая может заменить несколько вложенных операторов ЕСЛИ. Так, в нашем первом примере оценок с 4 вложенными функциями ЕСЛИ:

    • =ЕСЛИ(D2>89;»A»;ЕСЛИ(D2>79;»B»;ЕСЛИ(D2>69;»C»;ЕСЛИ(D2>59;»D»;»F»))))

    можно сделать все гораздо проще с помощью одной функции ЕСЛИМН:

    • =ЕСЛИМН(D2>89;»A»;D2>79;»B»;D2>69;»C»;D2>59;»D»;ИСТИНА;»F»)

    Функция ЕСЛИМН — просто находка! Благодаря ей вам больше не нужно переживать обо всех этих операторах ЕСЛИ и скобках.

    Дополнительные сведения

    Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

    Статьи по теме

    Видео: расширенные функции ЕСЛИ

    Функция ЕСЛИМН (Microsoft 365, Excel 2016 и более поздних)

    Функция СЧЁТЕ ЕСЛИ подсчитывирует значения на основе одного условия

    Функция СЧЁТЕIFS подсчитывирует значения на основе нескольких критериев

    Функция СУММЕ ЕСЛИ суммирует значения на основе одного условия

    Функция СУММЕСС суммирует значения на основе нескольких критериев.

    Функция И

    Функция ИЛИ

    Функция ВЛ.В.В ФУНКЦИИ

    Общие сведения о формулах в Excel

    Как избежать ошибок в формулах

    Обнаружение ошибок в формулах

    Логические функции

    Excel (по алфавиту)

    Excel (по категориям)

    Содержание

    • Выполнение выборки
      • Способ 1: применение расширенного автофильтра
      • Способ 2: применение формулы массива
      • Способ 3: выборка по нескольким условиям с помощью формулы
      • Способ 4: случайная выборка
    • Вопросы и ответы

    Выборка в Microsoft Excel

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

    Выполнение выборки

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

    Способ 1: применение расширенного автофильтра

    Наиболее простым способом произвести отбор является применение расширенного автофильтра. Рассмотрим, как это сделать на конкретном примере.

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

      Есть возможность поступить и по-другому. Для этого после выделения области на листе перемещаемся во вкладку «Данные». Щелкаем по кнопке «Фильтр», которая размещена на ленте в группе «Сортировка и фильтр».

    2. Включение фильтра через вкладку Данные в Microsoft Excel

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

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

      Давайте в качестве примера зададим условие так, чтобы отобрать только значения, по которым сумма выручки превышает 10000 рублей. Устанавливаем переключатель в позицию «Больше». В правое поле вписываем значение «10000». Чтобы произвести выполнение действия, щелкаем по кнопке «OK».

    6. Пользвательский фильтр в Microsoft Excel

    7. Как видим, после фильтрации остались только строчки, в которых сумма выручки превышает 10000 рублей.
    8. Результаты фильтрации в Microsoft Excel

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

      Кроме того, существует ещё переключатель условий. У него два положения «И» и «ИЛИ». По умолчанию он установлен в первом положении. Это означает, что в выборке останутся только строчки, которые удовлетворяют обоим ограничениям. Если он будет выставлен в положение «ИЛИ», то тогда останутся значения, которые подходят под любое из двух условий. В нашем случае нужно выставить переключатель в положение «И», то есть, оставить данную настройку по умолчанию. После того, как все значения введены, щелкаем по кнопке «OK».

    10. Установка верхней границы в пользовательском фильтре в Microsoft Excel

    11. Теперь в таблице остались только строчки, в которых сумма выручки не меньше 10000 рублей, но не превышает 15000 рублей.
    12. Результаты фильтрации по нижней и верхней границе в Microsoft Excel

    13. Аналогично можно настраивать фильтры и в других столбцах. При этом имеется возможность сохранять также фильтрацию и по предыдущим условиям, которые были заданы в колонках. Итак, посмотрим, как производится отбор с помощью фильтра для ячеек в формате даты. Кликаем по значку фильтрации в соответствующем столбце. Последовательно кликаем по пунктам списка «Фильтр по дате» и «Настраиваемый фильтр».
    14. Переход к фильтрации по дате в Microsoft Excel

    15. Снова запускается окно пользовательского автофильтра. Выполним отбор результатов в таблице с 4 по 6 мая 2016 года включительно. В переключателе выбора условий, как видим, ещё больше вариантов, чем для числового формата. Выбираем позицию «После или равно». В поле справа устанавливаем значение «04.05.2016». В нижнем блоке устанавливаем переключатель в позицию «До или равно». В правом поле вписываем значение «06.05.2016». Переключатель совместимости условий оставляем в положении по умолчанию – «И». Для того, чтобы применить фильтрацию в действии, жмем на кнопку «OK».
    16. Пользвательский фильтр для формата даты в Microsoft Excel

    17. Как видим, наш список ещё больше сократился. Теперь в нем оставлены только строчки, в которых сумма выручки варьируется от 10000 до 15000 рублей за период с 04.05 по 06.05.2016 включительно.
    18. Результаты фильтрации по сумме и дате в Microsoft Excel

    19. Мы можем сбросить фильтрацию в одном из столбцов. Сделаем это для значений выручки. Кликаем по значку автофильтра в соответствующем столбце. В выпадающем списке щелкаем по пункту «Удалить фильтр».
    20. Удаление фильтра с одного из столбцов в Microsoft Excel

      Lumpics.ru

    21. Как видим, после этих действий, выборка по сумме выручки будет отключена, а останется только отбор по датам (с 04.05.2016 по 06.05.2016).
    22. Ограничения только по дате в Microsoft Excel

    23. В данной таблице имеется ещё одна колонка – «Наименование». В ней содержатся данные в текстовом формате. Посмотрим, как сформировать выборку с помощью фильтрации по этим значениям.

      Кликаем по значку фильтра в наименовании столбца. Последовательно переходим по наименованиям списка «Текстовые фильтры» и «Настраиваемый фильтр…».

    24. Переход к текстовой фильтрации в Microsoft Excel

    25. Опять открывается окно пользовательского автофильтра. Давайте сделаем выборку по наименованиям «Картофель» и «Мясо». В первом блоке переключатель условий устанавливаем в позицию «Равно». В поле справа от него вписываем слово «Картофель». Переключатель нижнего блока так же ставим в позицию «Равно». В поле напротив него делаем запись – «Мясо». И вот далее мы выполняем то, чего ранее не делали: устанавливаем переключатель совместимости условий в позицию «ИЛИ». Теперь строчка, содержащая любое из указанных условий, будет выводиться на экран. Щелкаем по кнопке «OK».
    26. Пользвательский фильтр для формата текста в Microsoft Excel

    27. Как видим, в новой выборке существуют ограничения по дате (с 04.05.2016 по 06.05.2016) и по наименованию (картофель и мясо). По сумме выручки ограничений нет.
    28. Ограничения по дате и по наименованию в Microsoft Excel

    29. Полностью удалить фильтр можно теми же способами, которые использовались для его установки. Причем неважно, какой именно способ применялся. Для сброса фильтрации, находясь во вкладке «Данные» щелкаем по кнопке «Фильтр», которая размещена в группе «Сортировка и фильтр».
      Очистка фильтра в Microsoft Excel

      Второй вариант предполагает переход во вкладку «Главная». Там выполняем щелчок на ленте по кнопке «Сортировка и фильтр» в блоке «Редактирование». В активировавшемся списке нажимаем на кнопку «Фильтр».

    Очистка фильтра во вкладке Главная в Microsoft Excel

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

    Фильтр сброшен в Microsoft Excel

    Урок: Функция автофильтр в Excel

    Способ 2: применение формулы массива

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

    1. На том же листе создаем пустую таблицу с такими же наименованиями столбцов в шапке, что и у исходника.
    2. Создание пустой таблицы в Microsoft Excel

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

      =ИНДЕКС(A2:A29;НАИМЕНЬШИЙ(ЕСЛИ(15000<=C2:C29;СТРОКА(C2:C29);"");СТРОКА()-СТРОКА($C$1))-СТРОКА($C$1))

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

    4. Ввод формулы в Microsoft Excel

    5. Так как это формула массива, то для того, чтобы применить её в действии, нужно нажимать не кнопку Enter, а сочетание клавиш Ctrl+Shift+Enter. Делаем это.
    6. Формула массива введена в столбец наименований в Microsoft Excel

    7. Выделив второй столбец с датами и установив курсор в строку формул, вводим следующее выражение:

      =ИНДЕКС(B2:B29;НАИМЕНЬШИЙ(ЕСЛИ(15000<=C2:C29;СТРОКА(C2:C29);"");СТРОКА()-СТРОКА($C$1))-СТРОКА($C$1))

      Жмем сочетание клавиш Ctrl+Shift+Enter.

    8. Формула массива введена в столбец даты в Microsoft Excel

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

      =ИНДЕКС(C2:C29;НАИМЕНЬШИЙ(ЕСЛИ(15000<=C2:C29;СТРОКА(C2:C29);"");СТРОКА()-СТРОКА($C$1))-СТРОКА($C$1))

      Опять набираем сочетание клавиш Ctrl+Shift+Enter.

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

    10. Формула массива введена в столбец выручки в Microsoft Excel

    11. Как видим, таблица заполнена данными, но внешний вид её не совсем привлекателен, к тому же, значения даты заполнены в ней некорректно. Нужно исправить эти недостатки. Некорректность даты связана с тем, что формат ячеек соответствующего столбца общий, а нам нужно установить формат даты. Выделяем весь столбец, включая ячейки с ошибками, и кликаем по выделению правой кнопкой мыши. В появившемся списке переходим по пункту «Формат ячейки…».
    12. Переход к форматировани ячеек в Microsoft Excel

    13. В открывшемся окне форматирования открываем вкладку «Число». В блоке «Числовые форматы» выделяем значение «Дата». В правой части окна можно выбрать желаемый тип отображения даты. После того, как настройки выставлены, жмем на кнопку «OK».
    14. Установка формата даты в Microsoft Excel

    15. Теперь дата отображается корректно. Но, как видим, вся нижняя часть таблицы заполнена ячейками, которые содержат ошибочное значение «#ЧИСЛО!». По сути, это те ячейки, данных из выборки для которых не хватило. Более привлекательно было бы, если бы они отображались вообще пустыми. Для этих целей воспользуемся условным форматированием. Выделяем все ячейки таблицы, кроме шапки. Находясь во вкладке «Главная» кликаем по кнопке «Условное форматирование», которая находится в блоке инструментов «Стили». В появившемся списке выбираем пункт «Создать правило…».
    16. Переход к созданию правила в Microsoft Excel

    17. В открывшемся окне выбираем тип правила «Форматировать только ячейки, которые содержат». В первом поле под надписью «Форматировать только ячейки, для которых выполняется следующее условие» выбираем позицию «Ошибки». Далее жмем по кнопке «Формат…».
    18. Переход к выбору формата в Microsoft Excel

    19. В запустившемся окне форматирования переходим во вкладку «Шрифт» и в соответствующем поле выбираем белый цвет. После этих действий щелкаем по кнопке «OK».
    20. Формат ячеек в Microsoft Excel

    21. На кнопку с точно таким же названием жмем после возвращения в окно создания условий.

    Создание условия форматирования в Microsoft Excel

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

    Выборка сделана в Microsoft Excel

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

    Способ 3: выборка по нескольким условиям с помощью формулы

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

    1. Вписываем в отдельном столбце граничные условия для выборки.
    2. Условия в Microsoft Excel

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

      =ИНДЕКС(A2:A29;НАИМЕНЬШИЙ(ЕСЛИ(($D$2=C2:C29);СТРОКА(C2:C29);"");СТРОКА(C2:C29)-СТРОКА($C$1))-СТРОКА($C$1))

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

      Каждый раз после ввода не забываем набирать сочетание клавиш Ctrl+Shift+Enter.

    4. Результат выборки по нескольким условиям в Microsoft Excel

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

    Изменение результатов выборки в Microsoft Excel

    Способ 4: случайная выборка

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

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

      =СЛЧИС()

      Эта функция выводит на экран случайное число. Для того, чтобы её активировать, жмем на кнопку ENTER.

    2. Случайное число в Microsoft Excel

    3. Для того, чтобы сделать целый столбец случайных чисел, устанавливаем курсор в нижний правый угол ячейки, которая уже содержит формулу. Появляется маркер заполнения. Протягиваем его вниз с зажатой левой кнопкой мыши параллельно таблице с данными до её конца.
    4. Маркер заполнения в Microsoft Excel

    5. Теперь у нас имеется диапазон ячеек, заполненный случайными числами. Но, он содержит в себе формулу СЛЧИС. Нам же нужно работать с чистыми значениями. Для этого следует выполнить копирование в пустой столбец справа. Выделяем диапазон ячеек со случайными числами. Расположившись во вкладке «Главная», щелкаем по иконке «Копировать» на ленте.
    6. Копирование в Microsoft Excel

    7. Выделяем пустой столбец и кликаем правой кнопкой мыши, вызывая контекстное меню. В группе инструментов «Параметры вставки» выбираем пункт «Значения», изображенный в виде пиктограммы с цифрами.
    8. Вставка в Microsoft Excel

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

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

    13. После этого все значения таблицы выстраиваются в порядке возрастания или убывания случайных чисел. Можно взять любое количество первых строчек из таблицы (5, 10, 12, 15 и т.п.) и их можно будет считать результатом случайной выборки.

    Случайная выборка в Microsoft Excel

    Урок: Сортировка и фильтрация данных в Excel

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

    Еще статьи по данной теме:

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

    Skip to content

    Поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям

    В статье показано, как выполнять быстрый поиск с несколькими условиями в Excel с помощью ИНДЕКС и ПОИСКПОЗ.

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

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

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

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

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

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

    {=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ) * (…); 0))}

    Где:

    • Диапазон_возврата — это диапазон, из которого возвращается значение.
    • Критерии1 , критерии2 , … – это условия, которые необходимо выполнить.
    • Диапазон1 , диапазон2 , … — это диапазоны, на которых должны проверяться соответствующие критерии.

    Важное замечание! Это формула массива , и она должна быть введена через Ctrl + Shift + Enter. Появятся {фигурные скобки}, что является визуальным признаком формулы массива в Excel. Не пытайтесь вводить фигурные скобки вручную, это не сработает!

    Эта формула представляет собой расширенную версию комбинации ИНДЕКС+ПОИСКПОЗ, которая возвращает совпадение на основе одного критерия. Чтобы оценить несколько условий, мы используем операцию умножения, которая работает как оператор «И» в формулах массива . Ниже вы найдете реальный пример и подробное пошаговое объяснение логики расчетов.

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

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

    Вот наши исходные данные и критерии:

    • Диапазон_возврата (продажи) — D2:D13
    • Критерий1 (целевой регион) – G1
    • Критерий2 (целевой месяц) – G2
    • Критерий 3 (целевой товар) — G3
    • Диапазон1 (регионы) – A2:A13
    • Диапазон2 (месяцы) – B2:B13
    • Диапазон3 (товары) – C2:C13

    Формула принимает следующий вид:

    =ИНДЕКС(D2:D13; ПОИСКПОЗ(1; (G1=A2:A13)*(G2=B2:B13)*(G3=C2:C13); 0))

    Запишем формулу в G4, завершим ее, нажав Ctrl+Shift+Enter. Получаем следующий результат:

    Как это работает? Разберем пошагово.

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

    ПОИСКПОЗ(1; (G1=A2:A13)*(G2=B2:B13)*(G3=C2:C13)

    Как вы помните, ПОИСКПОЗ ищет заданное значение в массиве и возвращает относительное его положение в этом массиве.

    В нашей формуле аргументы следующие:

    • Искомое_значение : 1
    • Массив поиска : (G1=A2:A13) * (G2=B2:B13) * (G3=C2:C13)
    • Тип_соответствия : 0

    Шаг 1.

    Первый аргумент предельно ясен — функция ищет число 1. Третий аргумент, установленный в 0, означает «точное совпадение», т.е. формула возвращает первое найденное значение, которое точно равно искомому значению.

    Вопрос в том, почему мы ищем «1»? Чтобы получить ответ, давайте внимательнее посмотрим на массив поиска, где мы сравниваем каждый наш критерий с соответствующим диапазоном: целевой регион в ячейке G1 со всеми регионами (A2: A13), целевой месяц в G2 со всеми месяцами (B2: B13), и товар в G3 в колонке товаров (C2:C13). В результате этих сравнений мы имеем 3 массива значений ИСТИНА и ЛОЖЬ, где ИСТИНА представляет значения, соответствующие условию. Чтобы визуализировать это, вы можете выбрать отдельное выражение в формуле и нажать клавишу F9 , чтобы увидеть, что оно возвращает:

    =ИНДЕКС(D2:D13; ПОИСКПОЗ(1; {ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА}*{ЛОЖЬ:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ИСТИНА:ИСТИНА:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ}*{ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА}; 0))

    Шаг 2.

    Операция умножения преобразует значения ИСТИНА и ЛОЖЬ в 1 и 0 соответственно:

    {0:0:0:0:0:0:1:1:1:1:1:1}*{0:0:1:0:0:1:1:1:0:0:0:0}*{0:1:0:1:0:1:0:1:0:1:0:1}

    Шаг 3.

    А поскольку умножение на 0 всегда дает 0, результирующий массив содержит 1 только в тех строках, которые соответствуют всем трём условиям:

    {0:0:0:0:0:0:0:1:0:0:0:0}

    Приведенный выше массив переходит в аргумент массив_поиска функции ПОИСКПОЗ. Функция возвращает порядковый номер позиции с цифрой 1, для которой все критерии имеют значение ИСТИНА (строка 8 в нашем случае). Если в массиве будет несколько единиц, будет определена позиция только первой из них.

    Шаг 4.

    Число, возвращаемое функцией ПОИСКПОЗ, поступает непосредственно в аргумент номер_строки функции ИНДЕКС(массив, номер_строки, [номер_столбца]):

    =ИНДЕКС(D2:D13, 8)

    И это дает результат 680, что является восьмым по счету значением в массиве D2:D13.

    Формула ИНДЕКС ПОИСКПОЗ без массива с несколькими критериями

    Формула массива, рассмотренная в предыдущем примере, хорошо работает для опытных пользователей. Но если вы строите формулу для кого-то другого, и этот кто-то не знает о работе с формулами массива в Excel, то он может непреднамеренно ее сломать. Например, пользователь может щелкнуть вашу формулу, чтобы изучить ее, а затем нажать Enter вместо Ctrl + Shift + Enter. 

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

    ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ИНДЕКС(( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ) * (..); 0; 1); 0))

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

    =ИНДЕКС(D2:D13; ПОИСКПОЗ(1; ИНДЕКС((G1=A2:A13) * (G2=B2:B13) * (G3=C2:C13); 0; 1); 0))

    Как работает эта формула?

    Поскольку функция ИНДЕКС умеет работать с массивами, мы добавляем еще один ИНДЕКС для обработки массива единиц и нулей, созданного путем умножения двух или более массивов ИСТИНА/ЛОЖЬ. Второй ИНДЕКС настроен с аргументом номер_строки равным нулю, чтобы формула возвращала весь столбец, а не одно значение. Поскольку в любом случае это массив из одного столбца, мы можем безопасно поставить 1 для номер_столбца :

    ИНДЕКС({0:0:0:0:0:0:0:1:0:0:0:0};0, 1)  возвращает {0:0:0:0:0:0:0:1:0:0:0:0}

    Этот массив передается в функцию ПОИСКПОЗ:

    ПОИСКПОЗ(1; {0:0:0:0:0:0:0:1:0:0:0:0}; 0)

    ПОИСКПОЗ находит номер позиции, для которого все условия – ИСТИНА (точнее, ищет относительное положение цифры «1» в указанном массиве), и передает номер этой позиции в аргумент номер_строки первого ИНДЕКС:

    =ИНДЕКС(D2:D13, 8)

    Ну и далее получаем нужный результат.

    ИНДЕКС ПОИСКПОЗ с несколькими условиями в нескольких строках и столбцах

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

    Вот общая формула ИНДЕКС ПОИСКПОЗ с несколькими критериями в строках и столбцах:

    {=ИНДЕКС( массив_таблицы ; ПОИСКПОЗ( значение_поиска ; столбец_поиска ; 0); ПОИСКПОЗ( значение_поиска1 & значение_поиска2 ; строка_поиска1 & строка_поиска2 ; 0))}

    где:

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

    Значение_поиска — то, что вы ищете по вертикали в столбце.

    Столбец_поиска — диапазон столбцов для поиска, обычно это заголовки строк.

    Значение_поиска1, значение_поиска2, … — то, что вы ищете по горизонтали в строках.

    Строка_поиска1, строка_поиска2, … — диапазоны строк для поиска, обычно это заголовки столбцов.

    Важное замечание! Чтобы формула работала корректно, ее нужно вводить как формулу массива  при помощи комбинации Ctrl + Shift + Enter.

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

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

    • Массив_таблицы — B3:E4
    • Значение_поиска  — H1
    • Столбец_поиска  (заголовки строк: товары) — A3:A5
    • Значение_поиска1  (целевой регион) — H2
    • Значение_поиска 2 (целевой продавец) — H3
    • Строка_поиска1 (заголовки столбцов 1: регионы) — B1:E1
    • Строка_поиска2 (заголовки столбцов 2: продавцы) — B2:E2

    А теперь подставьте аргументы в общую формулу, описанную выше, и вы получите такой результат:

    =ИНДЕКС(B3:E5; ПОИСКПОЗ(H1;A3:A5;0); ПОИСКПОЗ(H2&H3; B1:E1&B2:E2; 0))

    Не забудьте завершить формулу, нажав комбинацию клавиш Ctrl + Shift + Enter, после чего поиск по матрице с несколькими условиями будет выполнен успешно:

    Пошагово рассмотрим, как работает эта формула.

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

    Шаг 1.

    Номер_строки предоставляется функцией ПОИСКПОЗ(H1;A3:A5;0), которая сравнивает целевой элемент (бананы) в H1 с заголовками строк в A3:A5. 

    ПОИСКПОЗ(«Бананы»;{«Апельсины»:»Бананы»:»Лимоны»};0)

    Это дает результат 2, потому что «Бананы» — это второй элемент в указанном списке.

    Шаг 2.

    Номер_столбца вычисляется путем объединения двух значений поиска и двух массивов поиска: ПОИСКПОЗ(H2&H3; B1:E1&B2:E2; 0)

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

    ПОИСКПОЗ(«СеверПродавец 2»; {«СеверПродавец 1″;»СеверПродавец 2″;»ЮгПродавец 1″;»ЮгПродавец 2»}; 0)

    Поскольку « СеверПродавец 2» является вторым элементом в массиве, функция возвращает 2.

    Шаг 3.

    После этого наша длинная двумерная формула ИНДЕКС ПОИСКПОЗ превращается в такую простую:

    =ИНДЕКС(B3:E5; 2; 2)

    Шаг 4.

    Она возвращает значение на пересечении 2-й строки и 2-го столбца в диапазоне B3:E5, что является значением в ячейке C4.

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

    Еще несколько статей по теме:

    Логическая функция ЕСЛИ в Экселе – одна из самых востребованных. Она возвращает результат (значение или другую формулу) в зависимости от условия.

    Функция имеет следующий синтаксис.

    ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])

    лог_выражение – это проверяемое условие. Например, A2<100. Если значение в ячейке A2 действительно меньше 100, то в памяти эксель формируется ответ ИСТИНА и функция возвращает то, что указано в следующем поле. Если это не так, в памяти формируется ответ ЛОЖЬ и возвращается значение из последнего поля.

    значение_если_истина – значение или формула, которое возвращается при наступлении указанного в первом параметре события.

    значение_если_ложь – это альтернативное значение или формула, которая возвращается при невыполнении условия. Данное поле не обязательно заполнять. В этом случае при наступлении альтернативного события функция вернет значение ЛОЖЬ.

    Очень простой пример. Нужно проверить, превышают ли продажи отдельных товаров 30 шт. или нет. Если превышают, то формула должна вернуть «Ок», в противном случае – «Удалить». Ниже показан расчет с результатом.

    Функция Excel ЕСЛИ с одним условием

    Продажи первого товара равны 75, т.е. условие о том, что оно больше 30, выполняется. Следовательно, функция возвращает то, что указано в следующем поле – «Ок». Продажи второго товара менее 30, поэтому условие (>30) не выполняется и возвращается альтернативное значение, указанное в третьем поле. В этом вся суть функции ЕСЛИ. Протягивая расчет вниз, получаем результат по каждому товару.

    Однако это был демонстрационный пример. Чаще формулу Эксель ЕСЛИ используют для более сложных проверок. Допустим, есть средненедельные продажи товаров и их остатки на текущий момент. Закупщику нужно сделать прогноз остатков через 2 недели. Для этого нужно от текущих запасов отнять удвоенные средненедельные продажи.

    Прогноз остатков

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

    Функция ЕСЛИ для задания условия в формуле

    В прогнозе запасов больше нет отрицательных значений, что в целом очень неплохо.

    Формулы Excel ЕСЛИ также активно используют в формулах массивов. Здесь мы не будем далеко углубляться. Заинтересованным рекомендую прочитать статью о том, как рассчитать максимальное и минимальное значение по условию. Правда, расчет в той статье более не актуален, т.к. в Excel 2016 появились функции МИНЕСЛИ и МАКСЕСЛИ. Но для примера очень полезно ознакомиться – пригодится в другой ситуации.

    Формула ЕСЛИ в Excel – примеры нескольких условий

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

    Нескольким менеджерам по продажам нужно начислить премию в зависимости от выполнения плана продаж. Система мотивации следующая. Если план выполнен менее, чем на 90%, то премия не полагается, если от 90% до 95% — премия 10%, от 95% до 100% — премия 20% и если план перевыполнен, то 30%. Как видно здесь 4 варианта. Чтобы их указать в одной формуле потребуется следующая логическая структура. Если выполняется первое условие, то наступает первый вариант, в противном случае, если выполняется второе условие, то наступает второй вариант, в противном случае если… и т.д. Количество условий может быть довольно большим. В конце формулы указывается последний альтернативный вариант, для которого не выполняется ни одно из перечисленных ранее условий (как третье поле в обычной формуле ЕСЛИ). В итоге формула имеет следующий вид.

    Несколько условий в функции ЕСЛИ

    Комбинация функций ЕСЛИ работает так, что при выполнении какого-либо указанно условия следующие уже не проверяются. Поэтому важно их указать в правильной последовательности. Если бы мы начали проверку с B2<1, то условия B2<0,9 и B2<0,95 Excel бы просто «не заметил», т.к. они входят в интервал B2<1 который проверился бы первым (если значение менее 0,9, само собой, оно также меньше и 1). И тогда у нас получилось бы только два возможных варианта: менее 1 и альтернативное, т.е. 1 и более.

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

    Подсказка функции

    В конце нужно обязательно закрыть все скобки, иначе эксель выдаст ошибку

    Ошибка из-за нехватки скобки

    Функция Excel ЕСЛИМН 

    Функция Эксель ЕСЛИ в целом хорошо справляется со своими задачами. Но вариант, когда нужно записывать длинную цепочку условий не очень приятный, т.к., во-первых, написать с первого раза не всегда получается (то условие укажешь неверно, то скобку не закроешь); во-вторых, разобраться при необходимости в такой формуле может быть непросто, особенно, когда условий много, а сами расчеты сложные.

    В MS Excel 2016 появилась функция ЕСЛИМН, ради которой и написана вся эта статья. Это та же ЕСЛИ, только заточенная специально для проверки множества условий. Теперь не нужно сто раз писать ЕСЛИ и считать открытые скобки. Достаточно перечислить условия и в конце закрыть одну скобку.

    Работает следующим образом. Возьмем пример выше и воспользуемся новой формулой Excel ЕСЛИМН.

    Функция Excel ЕСЛИМН

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

    Стоит обратить внимание на следующее. Условия по-прежнему перечисляем в правильном порядке, чтобы не произошло ненужного перекрытия диапазонов. Последнее альтернативное условие, в отличие от обычной ЕСЛИ, также должно быть обязательно указано. В ЕСЛИ задается только альтернативное значение, которое наступает, если не выполняется ни одно из перечисленных условий. Здесь же нужно указать само условие, которое в нашем случае было бы B2>=1. Однако этого можно избежать, если в поле с условием написать ИСТИНА, указывая тем самым, что, если не выполняются ранее перечисленные условия, наступает ИСТИНА и возвращается последнее альтернативное значение.

    Теперь вы знаете, как пользоваться функцией ЕСЛИ в Excel, а также ее более современным вариантом для множества условий ЕСЛИМН. 

    Поделиться в социальных сетях:

    Понравилась статья? Поделить с друзьями:
  • Excel все данные в одну колонку
  • Excel все границы толстые
  • Excel все границы не активно
  • Excel все границы горячие клавиши
  • Excel все выделяется при нажатии на ячейку