Поиск и подстановка по нескольким условиям
Постановка задачи
Если вы продвинутый пользователь Microsoft Excel, то должны быть знакомы с функцией поиска и подстановки ВПР или VLOOKUP (если еще нет, то сначала почитайте эту статью, чтобы им стать). Для тех, кто понимает, рекламировать ее не нужно — без нее не обходится ни один сложный расчет в Excel. Есть, однако, одна проблема: эта функция умеет искать данные только по совпадению одного параметра. А если у нас их несколько?
Предположим, что у нас есть база данных по ценам товаров за разные месяцы:
Нужно найти и вытащить цену заданного товара (Нектарин) в определенном месяце (Январь), т.е. получить на выходе152, но автоматически, т.е. с помощью формулы. ВПР в чистом виде тут не поможет, но есть несколько других способов решить эту задачу.
Способ 1. Дополнительный столбец с ключом поиска
Это самый очевидный и простой (хотя и не самый удобный) способ. Поскольку штатная функция ВПР (VLOOKUP) умеет искать только по одному столбцу, а не по нескольким, то нам нужно из нескольких сделать один!
Добавим рядом с нашей таблицей еще один столбец, где склеим название товара и месяц в единое целое с помощью оператора сцепки (&), чтобы получить уникальный столбец-ключ для поиска:
Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:
Плюсы: Простой способ, знакомая функция, работает с любыми данными.
Минусы: Надо делать дополнительный столбец и потом, возможно, еще и прятать его от пользователя. При изменении числа строк в таблице — допротягивать формулу сцепки на новые строки (хотя это можно упростить применением умной таблицы).
Способ 2. Функция СУММЕСЛИМН
Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS), появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:
Плюсы: Не нужен дополнительный столбец, решение легко масштабируется на большее количество условий (до 127), быстро считает.
Минусы: Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).
Способ 3. Формула массива
О том, как спользовать связку функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) в качестве более мощной альтернативы ВПР я уже подробно описывал (с видео). В нашем же случае, можно применить их для поиска по нескольким столбцам в виде формулы массива. Для этого:
- Выделите пустую зеленую ячейку, где должен быть результат.
- Введите в строке формул в нее следующую формулу:
- Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.
Как это на самом деле работает:
Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.
Плюсы: Не нужен отдельный столбец, работает и с числами и с текстом.
Минусы: Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).
Ссылки по теме
- Как искать и подставлять данные с помощью функции ВПР (VLOOKUP)
- Что такое формулы массива и как их использовать
- Как использовать связку функций ИНДЕКС и ПОИСКПОЗ вместо ВПР
- Как извлечь сразу все значения, а не только первое с помощью ВПР
Продвинутые примеры с функцией ВПР: поиск по нескольким критериям
Смотрите также акта» т.н. столбецНе могу сам в столбце С быть отсортирована поКиева ячейки C1, использованного же придется составить значений, поэтому передЕсли функцияЕСЛИ на рисунке выше) скопировать эту формулу:и так далее. результат из тех которые они купили. использовать следующую формулу:Во второй части нашего H листа «Претензии». справиться со следующей200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(A1<>»»;ПОИСКПОЗ(«*»&A1&»*»;$C:$C;)) возрастанию (для Типа, выбранного пользователем в в качестве первого список искомых вариантов.
- вводом формулы нужноДВССЫЛ
- на ссылку сЗапишите формулу для вставки=INDEX($A$2:$I$9,MATCH(«Lemons»,$A$2:$A$9,0),MATCH(«Mar»,$A$1:$I$1,0))
- IFERROR() же строк в
- Попробуем найти 2-й,=VLOOKUP(«Jeremy Hill Sweets»,$A$7:$D$18,4,FALSE)
- учебника по функции В примере, в
- задачей, поэтому прошу3. Для столбца
Поиск в Excel по нескольким критериям
сопоставления = 1) желтой ячейке J3 критерия поискового запроса увидев цифру, будете выделить сразу весьссылается на другую функцией цен из таблицы=ИНДЕКС($A$2:$I$9;ПОИСКПОЗ(«Lemons»;$A$2:$A$9;0);ПОИСКПОЗ(«Mar»;$A$1:$I$1;0))ЕСЛИОШИБКА() столбце C. 3-й и 4-й=ВПР(«Jeremy Hill Sweets»;$A$7:$D$18;4;ЛОЖЬ)ВПР ячейке H2 данные помощи.
Пример 1: Поиск по 2-м разным критериям
С или по убыванию значение 4. (Дата). Одним словом, знать где есть диапазон, т.е. ячейки книгу, то этаДВССЫЛLookup table 2Если Вы не вВ завершение, мы помещаем{=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3)),»»)} товары, купленные заданнымили(VLOOKUP) в Excel
«24948», т.е. номерЕсть файл ExcelКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИЛИ(ЕСЛИ($A$1:$B$5<>»»;ЕЧИСЛО(ПОИСК(«*»&СИМВОЛ(10)&$A$1:$B$5&СИМВОЛ(10)&»*»;СИМВОЛ(10)&C1&СИМВОЛ(10))))) (для Типа сопоставленияИ, наконец, в-третьих, нам таблица в памяти искомоеС10:С19 книга должна быть. Вот такая комбинацияна основе известных восторге от всех формулу внутрь функции{=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3));»»)} клиентом.
=VLOOKUP(B1,$A$7:$D$18,4,FALSE)
мы разберём несколько
акта 24948. Нам с несколькими листами.1. и 2. = -1) по нужна функция, которая проверена функцией ВПРШведов сергей
, ввести формулу в открытой. Если жеВПР названий товаров. Для этих сложных формулIFERRORВведите эту формулу массиваПростейший способ – добавить=ВПР(B1;$A$7:$D$18;4;ЛОЖЬ) примеров, которые помогут необходимо произвести поиск НА первый лист на всем столбце строчкам и по умеет выдавать содержимое с одним условием: мало инфы. Строке формул и она закрыта, функция
и этого вставьте созданную Excel, Вам может(ЕСЛИОШИБКА), поскольку вряд в несколько смежных вспомогательный столбец передГде ячейка Вам направить всю этого значения: необходимо подтягивать данные работают быстро. столбцам. ячейки из таблицы
поиска. При положительном
могу предложить к
нажать
сообщит об ошибке
ДВССЫЛ
ранее формулу в понравиться вот такой ли Вас обрадует ячеек, например, в столбцомB1 мощьв листе «Дисциплина» в из других листов3. на всемИначе приблизительный поиск корректно по номеру строки
Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе
результате сопоставления функция части наименования добавитьCRTL+SHIFT+ENTER#REF!отлично работает в качестве искомого значения наглядный и запоминающийся сообщение об ошибке ячейкиCustomer Nameсодержит объединенное значениеВПР столбце G
при условии, что столбце не пробовал, работать не будет! и столбца - возвращает значение элемента звёздочку. часто работает..(#ССЫЛ!). паре:
для новой функции способ:#N/A
F4:F8
и заполнить его
аргументана решение наиболеев листе «Документы» в выполняется следующее условие на 3000 ячеекДля точного поиска (Тип функция из третьего столбцаУдачи!
Для скрытия ошибок #ССЫЛКА!,Урок подготовлен для Вас=VLOOKUP($D$2,INDIRECT($D3&»_Sales»),2,FALSE)ВПРВыделите таблицу, откройте вкладку(#Н/Д) в случае,
, как показано на
именами клиентов с
lookup_value амбициозных задач Excel. столбце А — Номер акта работает быстро. сопоставления = 0)ИНДЕКС (INDEX) (выручка) условной таблицы.Функция ВПР (Вертикальный ПРосмотр) возвращаемой формулой массива, командой сайта office-guru.ru=ВПР($D$2;ДВССЫЛ($D3&»_Sales»);2;ЛОЖЬ):Formulas
если количество ячеек, рисунке ниже. Количество номером повторения каждого(искомое_значение), а Примеры подразумевают, чтов листе «Продукция» в из первого листаФайл перевложил и сортировка не нужнаиз той же Это происходит потому, ищет по таблице
к диапазонуИсточник: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/Где:=VLOOKUP(VLOOKUP(A2,New_SKU,2,FALSE),Price,3,FALSE)(Формулы) и нажмите в которые скопирована ячеек должно быть имени, например,4 Вы уже имеете столбце А соответствует номеру акта лишний $ в и никакой роли категории
Извлекаем 2-е, 3-е и т.д. значения, используя ВПР
что в третьем с данными иС10:С19Перевел: Антон Андронов$D$2=ВПР(ВПР(A2;New_SKU;2;ЛОЖЬ);Price;3;ЛОЖЬ)Create from Selection формула, будет меньше, равным или большим,John Doe1– аргумент базовые знания оПри нахождении искомого в другом листе. первой формуле убрал. не играет.
Ссылки и массивы (Lookup аргументе указывается номер на основе критериевприменено правило УсловногоАвтор: Антон Андронов– это ячейкаЗдесь(Создать из выделенного). чем количество повторяющихся чем максимально возможное
,col_index_num том, как работает значения в любом При этом, подтягиваютсяKerbyВ комментах неоднократно интересуются and Reference) столбца 3 из запроса поиска, возвращает форматирования.Найдем текстовые значения, удовлетворяющие с названием товара,PriceОтметьте галочками значений в просматриваемом число повторений искомогоJohn Doe2
(номер_столбца), т.е. номер
эта функция. Если
из столбцов прекращаем определенные данные из: — а как. Первый аргумент этой
- которого берутся значения. соответствующее значение сВ этом случае будут заданному пользователем критерию. она неизменна благодаря
– именованный диапазон
Top row
- диапазоне. значения. Не забудьтеи т.д. Фокус столбца, содержащего данные, нет, возможно, Вам
поиск и подтягиваем
этого листа в
_Boroda_ сделать обратную операцию, функции — диапазон Стоит отметить что определенного столбца. Очень выведены все значения, Поиск будем осуществлять
абсолютной ссылке.$A:$C(в строке выше)Выполнение двумерного поиска в нажать с нумерацией сделаем
которые необходимо извлечь.
будет интересно начать
из найденной строки
- первый лист. Трудность, спасибо. Уже пару т.е. определить в ячеек (в нашем для просмотра в
- часто необходимо в которые совпадают с в диапазоне с$D3
- в таблице и Excel подразумевает поискCtrl+Shift+Enter при помощи функции
- Если Вам необходимо обновить с первой части найденного листа в так же в
часов изучаю ваш первом примере город случае это вся аргументах функции указывается запросе поиска использовать критерием (без учета
повторяющимися значениями. При– это ячейка,Lookup table 2Left column значения по известному, чтобы правильно ввестиCOUNTIF основную таблицу (Main этого учебника, в строку листа «Претензии» том, что листы файл. Работает не и товар если таблица, т.е. B2:F10), целая таблица (во сразу несколько условий. РЕгиСТра). Критерий вводится наличии повторов, можно
Извлекаем все повторения искомого значения
содержащая первую часть, а(в столбце слева). номеру строки и формулу массива.(СЧЁТЕСЛИ), учитывая, что table), добавив данные которой объясняются синтаксис данные. В данном отличаются друг от совсем корректно. мы знаем значение второй — номер втором аргументе), но Но по умолчанию в ячейку ожидать, что критерию
названия региона. В3 Microsoft Excel назначит столбца. Другими словами,Если Вам интересно понять, имена клиентов находятся из второй таблицы и основное применение
примере мы должны
друга и привести
Почему-то выделяет ячейку из таблицы? Тут строки, третий - сам поиск всегда данная функция неE6 будет соответствовать несколько нашем примере это– это столбец имена диапазонам из Вы извлекаете значение как она работает, в столбце B: (Lookup table), котораяВПР найти значение «24948»
их в один А2, заметил, что потребуются две небольшие номер столбца (а
Часть 1:
идет по первому
может обработать более
. значений. Для ихFL C, содержащий цены. значений в верхней ячейки на пересечении давайте немного погрузимся=B2&COUNTIF($B$2:B2,B2) находится на другом. Что ж, давайте на листе «Документы» вид нет возможности выделяет ячйки во формулы массива (не их мы определим столбцу в указанной одного условия. Поэтому
Для создания списка, содержащего вывода в отдельный.На рисунке ниже виден строке и левом
Часть 2:
конкретной строки и
в детали формулы:
=B2&СЧЁТЕСЛИ($B$2:B2;B2) листе или в приступим. в ячейке A2. (они постоянно обновляются), 2-м столбце при забудьте ввести их с помощью функций таблицы. следует использовать весьма найденные значения, воспользуемся диапазон удобно использовать_Sales результат, возвращаемый созданной столбце Вашей таблицы. столбца.IF($F$2=B2:B16,ROW(C2:C16)-1,»»)После этого Вы можете другой рабочей книгеПоиск в Excel по При этом нужно
Часть 3:
поэтому необходимо жестко
подстановке произвольных значений
с помощью сочетания ПОИСКПОЗ).Скачать пример функции ВПР простую формулу, которая формулой массива: формулы массива.– общая часть нами формулой: Теперь Вы можетеИтак, давайте обратимся кЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»») использовать обычную функцию Excel, то Вы нескольким критериям скопировать данные из указывать какие именно (пробовал «ssss», «0», клавишИтого, соединяя все вышеперечисленное с несколькими условиями позволит расширить возможности=ИНДЕКС(Список; НАИМЕНЬШИЙ(Пусть Исходный список значений названия всех именованныхВ начале разъясним, что осуществлять поиск, используя нашей таблице и$F$2=B2:B16ВПР можете собрать искомое
Часть 4:
Извлекаем 2-е, 3-е и
Документы!B2 в Претензии!I2,
данные и куда «9»). Выделенеие «исчезает»Ctrl+Shift+Enter в одну формулу, в Excel функции ВПР поЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30); (например, перечень инструментов) диапазонов или таблиц. мы подразумеваем под эти имена, напрямую, запишем формулу с– сравниваем значение, чтобы найти нужный значение непосредственно в т.д. значения, используя из Документы!C2 в следует копировать. если в первый
Часть 5:
, а не обычного
получаем для зеленой
А из какого столбца нескольким столбцам одновременно.СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))) находится в диапазоне Соединенная со значением выражением «Динамическая подстановка без создания формул. функцией в ячейке F2 заказ. Например: формуле, которую вставляете ВПР Претензии!C2, из Документы!D2Если бы был
Двумерный поиск по известным строке и столбцу
столбец поставиль какое-либоEnter ячейки решение: брать возвращаемое значениеДля наглядности разберем формулуВ этом случае будутA10:A19 в ячейке D3, данных из разных
В любой пустой ячейкеВПР с каждым изНаходим в основную таблицу.Извлекаем все повторения искомого в Претензии!G2 и всего один дополнительный
значение (не всегда).):=ИНДЕКС(B2:F10; ПОИСКПОЗ(J2;A2:A10;0); ПОИСКПОЗ(J3;B1:F1;0)) указывается уже в ВПР с примером
Функции ВПР и ПОИСКПОЗ
выведены все значения,(см. Файл примера). она образует полное таблиц», чтобы убедиться запишите, которая найдет информацию значений диапазона B2:B16.2-йКак и в предыдущем значения так далее. лист (из которого
Так же не
Принцип их работы следующий:
или в английском варианте третьем аргументе. нескольких условий. Для которые начинаются илиВыведем в отдельный диапазон имя требуемого диапазона. правильно ли мы=имя_строки имя_столбца о стоимости проданных Если найдено совпадение,товар, заказанный покупателем примере, Вам понадобитсяДвумерный поиск по известнымВсе эти связи мы ищем данные), выделяет значения вперебираем все ячейки в =INDEX(B2:F10;MATCH(J2;A2:A10;0);MATCH(J3;B1:F1;0))Число 0 в последнем примера будем использовать совпадают с критерием.
значения, которые удовлетворяют
Ниже приведены некоторые
понимает друг друга., например, так: в марте лимонов.
- то выражениеDan Brown в таблице поиска строке и столбцу
- (откуда и что то можно было 3-м столбце при диапазоне B2:F10 иСлегка модифицируем предыдущий пример.
- аргументе функции указывает схематический отчет по Критерий вводится в критерию. Рассмотрим различные
подробности для тех,Бывают ситуации, когда есть=Lemons MarСуществует несколько способов выполнитьСТРОКА(C2:C16)-1: (Lookup table) вспомогательныйИспользуем несколько ВПР в копировать) я думаю бы использовать функцию наличии совпадений только ищем совпадение с Предположим, что у на то, то
выручке торговых представителей ячейку варианты поиска. кто не имеет несколько листов с… или наоборот: двумерный поиск. Познакомьтесьвозвращает номер соответствующей
Функция СУММПРОИЗВ
=VLOOKUP(«Dan Brown2»,$A$2:$C$16,3,FALSE) столбец с объединенными одной формуле смогу прописать сам,
ВПР, но в
в нем, как
Функции ИНДЕКС и ПОИСКПОЗ
искомым значением (13) нас имеется вот совпадение должно быть за квартал:G6Для удобства создадим именованный
опыта работы с
данными одного формата,
Именованные диапазоны и оператор пересечения
=Mar Lemons с возможными вариантами строки (значение=ВПР(«Dan Brown2»;$A$2:$C$16;3;ЛОЖЬ) значениями. Этот столбецДинамическая подстановка данных из лишь бы получить
- моем случае, я с единичными (вылечил из ячейки J4 такая ситуация: абсолютно точным.
- В данном отчете необходимо. диапазон Список. функцией и необходимо извлечьПомните, что имена строки и выберите наиболее-1Находим должен быть крайним разных таблиц пример как это так понимаю, без расширением стандартного поиска с помощью функции
- Идея в том, чтоЕсли вы знакомы с найти показатель выручкиДля создания списка, содержащего
Диапазон может охватить в
ДВССЫЛ
нужную информацию с и столбца нужно подходящий.позволяет не включать3-й левым в заданномФункция
сделать. VBA не обойтись. совпадений), так иЕСЛИ (IF) пользователь должен ввести функцией
- для определенного торгового найденные значения, воспользуемся том числе и
. определенного листа в разделить пробелом, которыйВы можете использовать связку строку заголовков). Еслитовар, заказанный покупателем
Используем несколько ВПР в одной формуле
для поиска диапазоне.ВПРemlonlifeПонимаю, что задачу с множественными значениями.когда нашли совпадение, то в желтые ячейкиВПР (VLOOKUP) представителя в определенную формулой массива: незаполненные ячейки перечня.Во-первых, позвольте напомнить синтаксис зависимости от значения, в данном случае из функций
совпадений нет, функцияDan BrownИтак, формула св Excel –: Как вариант можно описал, видимо, неПризнаться пока не определяем номер строки высоту и ширинуили ее горизонтальным дату. Учитывая условия=ИНДЕКС(Список;НАИМЕНЬШИЙ( В дальнейшем пользователь функции которое введено в работает как операторВПРIF:ВПР это действительно мощный делать так как
очень понятно, поэтому, познал «дзен» в (столбца) первого элемента двери для, например, аналогом поиска наш запросЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30); может расширить переченьДВССЫЛ
- заданную ячейку. Думаю, пересечения.(VLOOKUP) и(ЕСЛИ) возвращает пустую=VLOOKUP(«Dan Brown3»,$A$2:$C$16,3,FALSE)может быть такой: инструмент для выполнения в файле. Вбил
при необходимости скину
вашем задании параметров
в таблице в шкафа, которую онГПР (HLOOKUP) должен содержать 2СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))) инструментов, указанные ниже(INDIRECT): проще это объяснитьПри вводе имени, MicrosoftПОИСКПОЗ строку.=ВПР(«Dan Brown3»;$A$2:$C$16;3;ЛОЖЬ)
- =VLOOKUP(B2&» «&C2,Orders!$A&$2:$D$2,4,FALSE) поиска определённого значения формулы в Тип файл примера. формулы «ПОИСК». Вы этой строке (столбце) хочеть заказать у, то должны помнить, условия:В этом случае будут формулы автоматически учтут
INDIRECT(ref_text,[a1])
на примере.
Excel будет показывать(MATCH), чтобы найтиРезультатом функцииНа самом деле, Вы=ВПР(B2&» «&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ) в базе данных. претензии и ДатаЗаранее благодарю за сначала задаете диапазон, с помощью функций
компании-производителя, а в что эта замечательные– Дата сдачи выручки
Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ
выведены все значения, новые значения.ДВССЫЛ(ссылка_на_текст;[a1])Представьте, что имеются отчеты подсказку со списком значение на пересеченииIF
можете ввести ссылкуЗдесь в столбцах B Однако, есть существенное акта. любую помощь! а потом текущуюСТОЛБЕЦ (COLUMN) серой ячейке должна функции ищут информацию в кассу. которые заканчиваются или
Выведем в отдельный диапазонПервый аргумент может быть по продажам для подходящих имен, так полей(ЕСЛИ) окажется вот на ячейку в и C содержатся
ограничение – еёФормулу можно копироватьkasan ячейку. Если неи появиться ее стоимость только по одному– Фамилия торгового представителя. совпадают с критерием. все значения Исходного ссылкой на ячейку
нескольких регионов с
же, как при
Название продукта
- такой горизонтальный массив: качестве искомого значения имена клиентов и синтаксис позволяет искать в другие ячейки: Если Вы знаете сложно, разъясните наСТРОКА (ROW) из таблицы. Важный
- параметру, т.е. вДля решения данной задачи Критерий вводится в списка, в которых (стиль A1 или одинаковыми товарами и вводе формулы.(строка) и{1,»»,3,»»,5,»»,»»,»»,»»,»»,»»,12,»»,»»,»»} вместо текста, как
- названия продуктов соответственно, только одно значение. и менять порядковые что такое ВПР, пальцах как excelвыдергиваем значение города или нюанс в том, одномерном массиве - будем использовать функцию ячейкусодержится R1C1), именем диапазона в одинаковом формате.НажмитеМесяцROW()-3
представлено на следующем а ссылка Как же быть, номера нужных колонок то почему не обрабатывает такой запрос. товара из таблицы что если пользователь по строке или ВПР по нескольким
I6текст-критерий (например, слово или текстовой строкой. Требуется найти показателиEnter(столбец) рассматриваемого массива:СТРОКА()-3 рисунке:Orders!$A&$2:$D$2 если требуется выполнить в разных книгах. хотите данные подтягиватьПрикладываю файл, к с помощью функции вводит нестандартные значения по столбцу. А условиям и составим. дрель). Критерий вводится Второй аргумент определяет, продаж для определенногои проверьте результат=VLOOKUP(«Lemons»,$A$2:$I$9,MATCH(«Mar»,$A$1:$I$1,0),FALSE)
Здесь функция
Если Вы ищите только
определяет таблицу для
- поиск по несколькимНапример, для «Тип этой функцией? котором собрал всеИНДЕКС (INDEX)
- размеров, то они если нам необходимо следующую формулу:Для создания списка, содержащего в ячейку какого стиля ссылка региона:
- В целом, какой бы=ВПР(«Lemons»;$A$2:$I$9;ПОИСКПОЗ(«Mar»;$A$1:$I$1;0);ЛОЖЬ)ROW2-е поиска на другом условиям? Решение Вы претензии»Для каждого листа возможные варианты заполненияKerby должны автоматически округлиться выбирать данные изВ ячейке С1 введите найденные значения, воспользуемсяС6
Как работают ДВССЫЛ и ВПР
содержится в первомЕсли у Вас всего из представленных вышеФормула выше – это
(СТРОКА) действует как
повторение, то можете
листе. найдёте далее.Тип претензии на получится своя колонка, ячеек.: Доброго времени! до ближайших имеющихся двумерной таблицы по первое значение для
- формулой массива:. аргументе: два таких отчета, методов Вы ни
- обычная функция дополнительный счётчик. Так сделать это безЧтобы сделать формулу болееПредположим, у нас есть
листе Дисциплина в в каждую из_Boroda_Суть проблемы: в таблице и совпадению сразу двух первого критерия поискового
=ИНДЕКС(Список;НАИМЕНЬШИЙ(Для создания списка, содержащегоA1 то можно использовать выбрали, результат двумерногоВПР как формула скопирована вспомогательного столбца, создав читаемой, Вы можете список заказов и 4ой колонке: которых вбейте формулу: Убейте доллар =ЕСЛИ(A1<>»»;ПОИСКПОЗ(«*»&$A1&»*»;$C:$C;))Есть база номеров в серой ячейке параметров — и запроса. Например, дата:ЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30); найденные значения, воспользуемся, если аргумент равен до безобразия простую поиска будет одним, которая ищет точное
в ячейки F4:F9, более сложную формулу: задать имя для мы хотим найтиКод INDEX(Дисциплина!$A:$R;MATCH(Претензии!H2;Дисциплина!$G:$G;0);4) Тип для каждого листа, случайно затесался изделий двух фирм должна появиться стоимость по строке и 22.03.2017.СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))))) формулой массива:TRUE формулу с функциями и тем же: совпадение значения «Lemons» мы вычитаем число
=IFERROR(VLOOKUP($F$2,INDIRECT(«$B$»&(MATCH($F$2,Table4[Customer Name],0)+2)&»:$C16″),2,FALSE),»») просматриваемого диапазона, иКоличество товара претензии на листе они же разные.
И не должен. (два столбца), а изготовления двери для по столбцу одновременно?В ячейку C2 введите
СОВЕТ:
=ИНДЕКС(Список; НАИМЕНЬШИЙ(
(ИСТИНА) или неВПРБывает так, что основная в ячейках от3=ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ(«$B$»&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&»:$C16″);2;ИСТИНА);»») тогда формула станет(Qty.), основываясь на Документы в 3ейemlonlife
Формула на это так же столбец
этих округленных стандарных
Давайте рассмотрим несколько
фамилию торгового представителя
office-guru.ru
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск
О поиске текстовыхЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30); указан;и таблица и таблица A2 до A9.из результата функции,В этой формуле: выглядеть гораздо проще: двух критериях – колонке:
не рассчитана. Выделяет в который вписываются размеров. жизненных примеров таких (например, Новиков). Это
Задача
значений с использованиемСТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))R1C1ЕСЛИ
А. Найти значения, которые содержат критерий
поиска не имеют Но так как
чтобы получить значение$F$2=VLOOKUP(B2&» «&C2,Orders,4,FALSE)Имя клиентаКод INDEX(Документы!$A:$Q;MATCH(Претензии!H2;Документы!$A:$A;0);3) Типkasan только в случае, номера прочих фирм
Решение для серой ячейки задач и их значение будет использоваться подстановочных знаков читайтеАлгоритм работы формулы следующий, если(IF), чтобы выбрать ни одного общего Вы не знаете,
1– ячейка, содержащая=ВПР(B2&» «&C2;Orders;4;ЛОЖЬ)
(Customer) и
претензии на листе
, с ВПР знаком
если в столбце (при их обнаружении, будет практически полностью решения. в качестве второго в статье Поиск
- (для просмотра промежуточныхF нужный отчет для столбца, и это в каком именнов ячейке имя покупателя (онаЧтобы формула работала, значенияНазвание продукта Продукция в 3ей только отчасти, пытаясь С есть что-то вносятся через alt+Enter). аналогично предыдущему примеру:Предположим, что у нас
- аргумента поискового запроса. текстовых значений в шагов работы формулыALSE
- поиска: мешает использовать обычную столбце находятся продажиF4 неизменна, обратите внимание в крайнем левом(Product). Дело усложняется колонке как раз решить из столбцов АПри подставлении номера=ИНДЕКС(C7:K16; ПОИСКПОЗ(D3;B7:B16;1); ПОИСКПОЗ(G3;C6:K6;1)) имеется вот такойВ ячейке C3 мы списках. Часть2. Подстановочные воспользуйтесь клавишей
- (ЛОЖЬ).=VLOOKUP($D$2,IF($D3=»FL»,FL_Sales,CA_Sales),2,FALSE) функцию
- за март, то(строка 4, вычитаем
- – ссылка абсолютная); столбце просматриваемой таблицы тем, что каждыйКод INDEX(Продукция!$A:$R;MATCH(Претензии!H2;Продукция!$A:$A;0);3) Да, эту задачу. и В. Поизвращаться
повторно, благодаря наложенному=INDEX(C7:K16; MATCH(D3;B7:B16;1); MATCH(G3;C6:K6;1)) двумерный массив данных будем получать результат знаки. В статьеF9В нашем случае ссылка=ВПР($D$2;ЕСЛИ($D3=»FL»;FL_Sales;CA_Sales);2;ЛОЖЬ)ВПР не сможете задать 3), чтобы получить$B$ должны быть объединены из покупателей заказывал формула большая. ЗатоДанные одни и конечно можно - условному форматированию, тут-жеРазница только в последнем по городам и поиска, для этого Выделение ячеек c
): имеет стильГде:. Однако, существует ещё номер столбца для2
Б. Найти значения, которые совпадают с критерием (точное совпадение)
– столбец точно так же, несколько видов товаров, без VBA те же, только сделать сверку каждой загарается «семафор». Но аргументе обеих функций
товарам: там следует ввести ТЕКСТом с применением
Функция ПОИСК(), перебирая элементы
A1
$D$2
B. Найти значения, которые начинаются с критерия
одна таблица, которая третьего аргумента функциив ячейкеCustomer Name как и в как это видноP.S. вариант пустой расположены они по-разному
части из каждой если значение былоПОИСКПОЗ (MATCH)
Пользователь вводит (или выбирает
формулу:
Условного форматирования приведено решение
Г. Найти значения, которые заканчиваются на критерий
исходного списка, определяет,, поэтому можно не– это ячейка, не содержит интересующуюВПРF5; критерии поиска. На
из таблицы ниже: ячейки в найденой (в разных столбцах)
ячейки столбца С
в ячейке с
-
из выпадающих списков)
После ввода формулы для аналогичной задачи с содержится ли в указывать второй аргумент содержащая название товара. нас информацию, но. Вместо этого используется(строка 5, вычитаемTable4 рисунке выше мыОбычная функция строке не предусмотрел
excel2.ru
Поиск сразу нескольких значений в Excel
и разные названия с каждой частью
несколькими значениями, тоТипу сопоставления в желтых ячейках подтверждения нажмите комбинацию использованием Условного форматирования. нем значение-критерий. Если и сосредоточиться на Обратите внимание, здесь имеет общий столбец функция 3) и так– Ваша таблица
объединили значения иВПРkasan столбцов. других ячеек из условное форматирование его(здесь он равен нужный товар и горячих клавиш CTRL+SHIFT+Enter,Уважаемые гуру Excel, помогите значение не содержится, первом. мы используем абсолютные с основной таблицейПОИСКПОЗ
далее. (на этом месте поставили между нимине будет работать, большое спасибо! вродеТ.е. для первого С, но, если не видит. минус 1). Это город. В зеленой так как формула пожалуйста!)
то возвращается ошибкаИтак, давайте вернемся к ссылки, чтобы избежать и таблицей поиска., чтобы определить этот
SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))
также может быть пробел, точно так по такому сценарию, бы как раз листа все данные даже и получится,Вопрос: некий аналог четвертого ячейке нам нужно должна быть выполненаМне нужно каждый #ЗНАЧ! В противном
нашим отчетам по изменения искомого значения
Давайте разберем следующий пример. столбец.НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3))
обычный диапазон);
Функция ВПР с несколькими условиями критериев поиска в Excel
же необходимо сделать поскольку она возвратит то, что нужно будут подтягиваться в то формула будетМожно как-то научить аргумента функции формулой найти и в массиве. раз искать кучу случае возвращается числовое продажам. Если Вы при копировании формулы У нас естьMATCH(«Mar»,$A$1:$I$1,0)Функция$C16 в первом аргументе первое найденное значение,
Работа функции ВПР по нескольким критериям
осталось разобраться как одни и те огромная и тормознутая. систему видеть совпаденияВПР (VLOOKUP) — Интервального вывести число изРезультат поиска в таблице
значений в накладных значение, соответствующее номеру помните, то каждый в другие ячейки. основная таблица (MainПОИСКПОЗ(«Mar»;$A$1:$I$1;0)SMALL– конечная ячейка
- функции (B2&» «&C2). соответствующее заданному искомому
- следует)))
же ячейки.Цитата в ячейкас с просмотра (Range Lookup) таблицы, соответствующее выбранным
- по двум условиям: Excel — это начальной позиции вхождения отчёт – это$D3
- table) со столбцомВ переводе на человеческий(НАИМЕНЬШИЙ) возвращает Вашей таблицы илиЗапомните! значению. Например, если
- sinnovoСкажем, лист 1,Kerby, 20.06.2014 в несколькими значениями.. Вообще говоря, возможных
- параметрам. Фактически, мыНайдена сумма выручки конкретного может быть штрихкод, критерия в значение отдельная таблица, расположенная– это ячейка
SKU (new) язык, данная формула
n-ое диапазона.Функция
Вы хотите узнать
: Добрый день! столбец1, строка2. 13:13, в сообщении
Прилагаю простенький файл-пример. значений для него хотим найти значение торгового представителя на часть наименования, артикул из списка (здесь на отдельном листе. с названием региона., куда необходимо добавить означает:наименьшее значение вЭта формула находит толькоВПР количество товараНеобходимо из листаВ листе2 ищем № 8200?’200px’:»+(this.scrollHeight+5)+’px’);»>не позналPelena три:
ячейки с пересечения конкретную дату. и др. Работа нам не важен Чтобы формула работала
- Используем абсолютную ссылку
- столбец с соответствующими
- Ищем символы «Mar» –
массиве данных. В второе совпадающее значение.ограничена 255 символами,Sweets «свод», в котором значение ячейки А2 «дзен» в вашем: Так подойдёт?1 определенной строки и рутинная и хочется номер позиции, важно, верно, Вы должны для столбца и ценами из другой аргумент нашем случае, какую Если же Вам она не может, заказанное покупателем вся ДЗ скопировать листа1 в столбце задании параметров формулыKerby- поиск ближайшего столбца в таблице.Разбор принципа действия формулы ее автоматизировать, т. что это число); дать названия своим относительную ссылку для таблицы. Кроме этого,lookup_value по счёту позицию необходимо извлечь остальные искать значение, состоящееJeremy Hill в отдельный лист G и при
«ПОИСК». Вы сначала: Да, спасибо огромное! наименьшего числа, т.е.
Для наглядности, разобъем для функции ВПР к. значения, которыеФункция ЕСЛИОШИБКА() используется для
таблицам (или диапазонам), строки, поскольку планируем у нас есть(искомое_значение); (от наименьшего) возвращать
exceltable.com
Двумерный поиск в таблице (ВПР 2D)
повторения, воспользуйтесь предыдущим из более чем, запишите вот такую «свыше 1 млн» совпадении, копируем некоторые задаете диапазон, а Ушел анализировать формулу) введенные пользователем размеры задачу на три с несколькими условиями: нужно искать, известны подавления ошибки #ЗНАЧ! причем все названия копировать формулу в 2 таблицы поиска.Ищем в ячейках от – определено функцией решением. 255 символов. Имейте формулу: только тех контрагентов значения этой строки потом текущую ячейку. Плюс! двери округлялись бы
Пример 1. Найти значение по товару и городу
этапа.Первым аргументом функции =ВПР() заранее. заменяя ее на должны иметь общую
другие ячейки того Первая (Lookup table A1 до I1ROWЕсли Вам нужен список это ввиду и=VLOOKUP(B1,$A$5:$C$14,3,FALSE) и суммы, задолженность (например, D2 Листа2 На пальцах -Kerby до ближайших наименьшихВо-первых, нам нужно определить является первым условиемМожет быть, есть число 0; часть. Например, так:
- же столбца. 1) содержит обновленные – аргумент(СТРОКА) (смотри Часть всех совпадений – следите, чтобы длина=ВПР(B1;$A$5:$C$14;3;ЛОЖЬ) по которым свыше копируем в B2 ищем все значения: Заменой зоны работы подходящих размеров из номер строки, соответствующей для поиска значения какая-то функция, котораяФункция ЕСЛИ() заменяет числовыеCA_SalesFL_Sal номераlookup_array 2). Так, для функция искомого значения не– эта формула вернет 1 млн. руб. Листа1, F2 в диапазона в ячейке. формулы ПОИСК с таблицы. В нашем выбранному пользователем в по таблице отчета
- по единожды составленному значения, возвращенные функцией,esSKU (new)(просматриваемый_массив); ячейкиВПР превышала этот лимит. результат Прошу помочь! Заранее С2). В листе3 Получаем массив ошибок
- $A$1:$C$7 на $A:$C случае высота 500 желтой ячейке товару. выручки торговых представителей. мною списку будет ПОИСК(), на номерFL_Salesии названия товаров,Возвращаем точное совпадение –F4тут не помощник,Соглашусь, добавление вспомогательного столбца15 спасибо! данные те же, (если не нашли) отправил эксель в округлилась бы до Это поможет сделать Во втором аргументе искать нужные строки позиции значения в
,CA_Sales а вторая (Lookup аргумент
функция
поскольку она возвращает – не самое
Пример 2. Приблизительный двумерный поиск
, соответствующий товаруCzeslav но они в и каких-то чисел
космическое путешествие, до 450, а ширина функция находится виртуальная таблица и допустим выделять списке. Если значениеTX_Sales– названия таблиц table 2) –match_typeНАИМЕНЬШИЙ({массив};1) только одно значение изящное и неApples: Вариант для ексель2010+, других столбцах. (если нашли). ЕЧИСЛО альфы-центара не долетел, 480 до 300,ПОИСКПОЗ (MATCH) создана в результате их цветом. Загвоздка =0 (соответствует ошибке
и так далее. (или именованных диапазонов), названия товаров и
(тип_сопоставления).
возвращает
за раз – всегда приемлемое решение., так как это т.к. для решенияТаким образом нужно преобразовывает все это грохнул процесс. Похоже и стоимость дверииз категории массивного вычисления логической еще в том, #ЗНАЧ!), то возвращается Как видите, во в которых содержаться
- старые номераИспользовав1-й и точка. Но Вы можете сделать первое совпадающее значение. использована функция АГРЕГАТ. все значения столбца в ЛОЖЬ и надо быть осторжней была бы 135.Ссылки и массивы (Lookup функцией =ЕСЛИ(). Каждая что по одному
- число 30. В всех именах присутствует соответствующие отчеты оSKU (old)0(наименьший) элемент массива, в Excel есть то же самоеЕсть простой обходной путьsinnovo А в Листе1 ИСТИНА соответственно. ЕСЛИ($A$1:$B$5<>»»
- в своих желаниях…-1 and Reference) фамилия в диапазоне значению (к примеру, принципе, вместо 30 «_Sales». продажах. Вы, конечно.в третьем аргументе, то есть функция без вспомогательного столбца,
– создать дополнительный: Czeslav, огромное спасибо. искать в трех — заранее отсекаетPelena- поиск ближайшего. В частности, формула ячеек B6:B12 сравнивается одному штрихкоду) в можно указать любоеФункция же, можете использоватьЧтобы добавить цены из Вы говорите функции1INDEX
но в таком столбец, в котором О такой функции других листах и пустые ячейки. ИЛИ
P.S. Обратная задача
: Так должно быстрее наибольшего числа, т.е.ПОИСКПОЗ(J2; A2:A10; 0) со значением в накладной может быть число, которое большеДВССЫЛ обычные названия листов второй таблицы поискаПОИСКПОЗ. Для ячейки(ИНДЕКС), которая с случае потребуется гораздо объединить все нужные даже и не подтягивать нужные данные. — если в
работать
- нестандартная высота 500даст нам нужный ячейке C2. Таким несколько позиций - номера последней заполненнойсоединяет значение в и ссылки на
- в основную таблицу,искать первое значение,F5 легкостью справится с более сложная формула критерии. В нашем знал.) Совпадений на этих массиве есть хоть
- 200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(A1<>»»;СУММ(—ЕЧИСЛО(ПОИСК(A1;$A:$C)))>1) округлялась бы до результат (для образом в памяти
planetaexcel.ru
Поиск совпадений, при наличии нескольких значений в ячейке (Формулы/Formulas)
мне нужны они позиции Исходного списка
столбце D и
диапазоны ячеек, например необходимо выполнить действие, в точности совпадающеевозвращает этой задачей. Как с комбинацией функций примере это столбцыРуководство не много
трех листах не одно ИСТИНА, тоНо оперировать со 700, а ширинаЯблока создается условный массив все. (это нужно для текстовую строку «_Sales»,
‘FL Sheet’!$A$3:$B$10
известное как двойной с искомым значением.2-й будет выглядеть такая
INDEX
Имя клиента усложнило задачу, а
может быть (т.е. дает ИСТИНА столбцами целиком всё 480 — до
это будет число данных с элементамиПробовала функцию ПоискПоз, правильной сортировки функцией тем самым сообщая, но именованные диапазоныВПР Это равносильно значениюнаименьший элемент массива, формула, Вы узнаете
(ИНДЕКС) и(Customer) и именно хочет, чтобы
искомое значение не
Kerby же не рекомендуется 600 и стоимость
6). Первый аргумент значений ИСТИНА и но она не НАИМЕНЬШИЙ());ВПР гораздо удобнее.или вложенный
FALSE то есть в следующем примере.MATCHНазвание продукта в листе «свыше может быть одновременно,:
Kerby составила бы уже этой функции -
ЛОЖЬ.
подходит, т. к.Функция НАИМЕНЬШИЙ() сортирует массивв какой таблице
Однако, когда таких таблицВПР
(ЛОЖЬ) для четвёртого
3Как упоминалось выше,
(ПОИСКПОЗ).
(Product). Не забывайте, 1 млн» выходили например, в листе2
_Boroda_: Нет, снова попытка 462. Для бизнеса искомое значение (
Потом благодаря формуле, в ей нужные точные номеров строк по
искать. Если в много, функция. аргумента, и так далее.ВПРВы уже знаете, что
что объединенный столбец все контрагенты и и листе3, а, спасибо за ответ. межзведного перелета. Я так гораздо интереснее!Яблоко памяти программы каждый данные (а у возрастанию;
ячейке D3 находитсяЕСЛИЗапишите функциюВПРINDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))не может извлечьВПР должен быть всегда суммы по ним,
только в каком-то То же стал задал до 2222 :)из желтой ячейки истинный элемент заменяется меня может бытьФункция ДВССЫЛ() возвращает массив значение «FL», формула– это не
ВПР.ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3)) все повторяющиеся значения
может возвратить только крайним левым в задолженность по которым
из них). приходить к мнению, строки, мне хватит0 J2), второй - на 3-х элементный только часть наименования) последовательных чисел; выполнит поиск в лучшее решение. Вместо, которая находит имяВот так Вы можетеФункция из просматриваемого диапазона. одно совпадающее значение, диапазоне поиска, поскольку свыше 1 млн.emlonlife
что сравнивание и и обаботка долго- поиск точного диапазон ячеек, где набор данных: и выдает онаФункция ИНДЕКС() возвращает текстовые таблице нее можно использовать товара в таблице создать формулу дляINDEX Чтобы сделать это, точнее – первое именно левый столбец руб. независимо от: выделение ячеек с не идет. соответствия без каких мы ищем товарэлемент – Дата. только одну позицию, значения из ИсходногоFL_Sales
функциюLookup table 1 поиска по двум(ИНДЕКС) просто возвращает Вам потребуется чуть найденное. Но как функция договора. Может иemlonlife множественными значениями простоЗаметил одну особенность, либо округлений. Используется (столбец с товарами
элемент – Фамилия. а мне нужны списка, из строк,
, если «CA» –
ДВССЫЛ
, используя
критериям в Excel,
значение определённой ячейки более сложная формула,
excelworld.ru
Поиск на нескольких листах определенных значений и подтягивание найденных строк в другой лист
быть, если вВПР
это знает кто-нибудь, пример будете прикладывать? так не решить. которую не увидел
для 100%-го совпадения в таблице -элемент – Выручка. все по заданному номера которых были в таблице(INDIRECT), чтобы возвратитьSKU что также известно, в массиве составленная из нескольких просматриваемом массиве этопросматривает при поиске как сделать?emlonlife Спасибо, что остановили в начале - искомого значения с A2:A10), третий аргументА каждый ложный элемент критерию. получены на предыдущемCA_Sales нужный диапазон поиска., как искомое значение: как двумерный поиск
C2:C16 функций Excel, таких значение повторяется несколько значения.Czeslav: от борьбы с а можно сделать одним из значений задает тип поиска
в памяти заменяетсяВопрос, наверное, глупый. шаге.и так далее.Как Вы, вероятно, знаете,
=VLOOKUP(A2,New_SKU,2,FALSE) или поиск в
. Для ячейки как раз, и ВыИтак, Вы добавляете вспомогательный: Предлагаю такой вариантFairuza
«ветрянными мельницами». так, чтобы и в таблице. Естественно, (0 — точное на 3-х элементный Но прошу помидорами
В предельном случае м.б.Результат работы функций функция=ВПР(A2;New_SKU;2;ЛОЖЬ) двух направлениях.F4INDEX
хотите извлечь 2-е столбец в таблицу с дополнительной таблицей,, да, сейчас подготовлю,В итоге думаю в 3-й колонке
применяется при поиске совпадение наименования, приблизительный набор пустых текстовых не закидывать, с найдено столько же
ВПРДВССЫЛ
ЗдесьФункцияфункция(ИНДЕКС), или 3-е из и копируете по которую можно получить упрощу и прикреплю. оставить связку из выделялась ячейка с текстовых параметров (как поиск запрещен). значений («»). В
Excel вплотную не значений, сколько содержитсяииспользуется для того,New_SKUСУММПРОИЗВИНДЕКС($C$2:$C$16;1)SMALL них? А что всем его ячейкам с помощью формулыkasan двух правил: совпадением? в прошлом примере),
Во-вторых, совершенно аналогичным способом результате создается в работаю…) в исходном списке
ДВССЫЛ чтобы вернуть ссылку,– именованный диапазон(SUMPRODUCT) возвращает суммувозвратит
(НАИМЕНЬШИЙ) и если все значения? формулу вида:
или, ещё проще,: Итак, пример во200?’200px’:»+(this.scrollHeight+5)+’px’);»>A:C_Boroda_ т.к. для них мы должны определить памяти программы новаяЗаранее огромное спасибо! (когда все значениябудет следующий: заданную текстовой строкой,$A:$B произведений выбранных массивов:Apples
- ROW Задачка кажется замысловатой,
- =B2&C2 с помощью консолидации,
- вложении.=ЕСЛИ(A1<>»»;СУММ(—ЕЧИСЛО(ПОИСК(A1;$A$1:$C$2222)))>1)
: Сделал 3 типа округление невозможно. порядковый номер столбца таблица, с которойПалычь удовлетворяют критерию). ПоэтомуЕсли данные расположены в а это какв таблице=SUMPRODUCT(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»),$A$2:$I$9), для(СТРОКА) но решение существует!. Если хочется, чтобы а далее вспользоватьсяЛист «Претензии». ВC:C УФВажно отметить, что при
в таблице с уже будет работать: можно организовать столбец, формулу массива нужно распространять разных книгах Excel, раз то, чтоLookup table 1
=СУММПРОИЗВ(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»);$A$2:$I$9)F5Например, формула, представленная ниже,Предположим, в одном столбце строка была более фильтром или первым него и необходимо
=ИЛИ(ЕСЛИ($A$1:$B$2222<>»»;ЕЧИСЛО(ПОИСК(«*»&СИМВОЛ(10)&$A$1:$B$2222&СИМВОЛ(10)&»*»;СИМВОЛ(10)&C1&СИМВОЛ(10)))))Для столбцов А:В использовании приблизительного поиска нужным нам городом. функция ВПР. Она
в котором появится, на диапазон той
то необходимо добавить нам сейчас нужно., а
В следующей статье яфункция находит все повторения таблицы записаны имена
читаемой, можно разделить моим вариантом. копировать данные изС назначением разных
1. Просто поиск с округлением диапазон Функция
игнорирует все пустые например, цифра, если же размерности, что
имя книги перед Итак, смело заменяем2 буду объяснять этиИНДЕКС($C$2:$C$16;3) значения из ячейки
CyberForum.ru
Поиск и вывод нескольких значений по условию
клиентов (Customer Name), объединенные значения пробелом:
Также Вашу проблему других листов. Поиск цветов. повторов в столбцах поиска — аПОИСКПОЗ(J3; B1:F1; 0) наборы данных элементов. в какой-то другой и исходный список. именованным диапазоном, например: в представленной выше
– это столбец функции во всехвозвратит F2 в диапазоне
а в другом=B2&» «&C2 с помощью сводной производится при ручномemlonlife
А:В значит и всясделает это и А непустые элементы строке таблицы правее Вышеуказанная формула массива=VLOOKUP($D$2,INDIRECT($D3&»Workbook1!_Sales»),2,FALSE) формуле выражение с B, который содержит деталях, так чтоSweets B2:B16 и возвращает – товары (Product),
. После этого можно таблицы. заполнении столбца «Номер: Здравствуйте.2. Есть повтор таблица — должна выдаст, например, для сопоставляются со значением будет искомое. так будет возвращать несколько
=ВПР($D$2;ДВССЫЛ($D3&»Workbook1!_Sales»);2;ЛОЖЬ) функцией названия товаров (смотрите
CyberForum.ru
сейчас можете просто
Поиск по двум словам в свободной последовательности |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
- Поиск по одному слову
- Фильтрация по слову в Excel
- Поиск по слову в ячейке: формула
- Поиск по слову в Excel с помощью !SEMTools
- Поиск по нескольким словам
- Найти любое слово из списка
- Найти все слова из списка
Чем отличается поиск по словам от простого поиска текста?
В первую очередь тем, что, если искать короткие слова обычным вхождением, мы можем найти слова, находящиеся внутри других слов. В результат фильтрации попадут ячейки, которые нам не нужны.
Поиск по словам предполагает показывать только ячейки, в которых слова совпадают целиком.
Поиск по одному слову
Рассмотрим сначала простой случай — когда найти нужно одно слово.
Фильтрация по слову в Excel
Процедура фильтрации в Excel содержит 3 метода текстовой фильтрации, иными словами, фильтровать можно по 3 критериям вхождения слова:
- ячейка содержит слово — тогда ставим пробелы перед и после слова;
- начинается с него — пробел после;
- заканчивается на него — пробел перед ним.
Проблема заключается в том, что в Excel нельзя фильтровать сразу по 3 критериям – можно только по двум. В этой ситуации есть простой лайфхак:
- Сделать копию исходного столбца;
- Удалить все символы, кроме текста и цифр (и пробелов между ними);
- Добавить символы в конце и начале каждой ячейки столбца, например, символ “”;
- Заменить оставшиеся пробелы на этот же символ;
- После этого фильтровать по полученному столбцу уже наше слово с “” перед и после него (пример – “слово”).
Символ как раз и поможет отфильтровать целые слова.
Как вы заметили, шагов целых пять, поэтому, если вам нужно найти только одно слово один раз, лучше просто 3 раза отфильтровать. Но если нужно будет искать несколько слов, это существенно ускорит процесс.
Смотрите пример ниже:
Можно сделать иначе — добавить в начале и конце строк пробелы, но тогда при поиске и фильтрации слова перед пробелом слева и после пробела справа нужно использовать символ “*” (звездочку). Иначе Excel не учтет пробелы.
Итак, чтобы сделать поиск или фильтрацию по слову в Excel, нужно добавить символ пробела справа и слева ко всем ячейкам столбца и после этого осуществлять поиск и фильтрацию по слову вместе с пробелами перед и после него.
Поиск по слову в ячейке: формула
Идеальной функцией для формулы поиска слова будет функция ПОИСК.
Формула:
=ПОИСК(" "&"вашеСлово"&" ";" "&A1&" ")>0
где вашеСлово — искомое слово, а A1 — ячейка, в которой мы его ищем.
Однако нужно помнить, что пунктуацию нужно предварительно удалить.
Поиск по слову в Excel с помощью !SEMTools
Пожалуй, самое быстрое решение, доступное владельцам полной версии моей надстройки для Excel. Алгоритм простой — выделяем диапазон, жмем макрос, вводим слово, жмем «ОК».
Поиск по нескольким словам
Как выяснить для каждой ячейки большого диапазона, присутствует ли в ней хотя бы одно из списка слов? Да так, чтобы слово не просто содержалось внутри строки, в том числе внутри других слов, а находить именно целые слова? А если нужно найти пару сотен слов в десятках тысяч ячеек?
Найти любое слово из списка
Настройка !SEMTools с лёгкостью решает такого рода проблемы. Более того, практически вне зависимости от количества слов, распознавание их наличия происходит очень быстро даже в диапазоне из 10 000 ячеек и более.
Чтобы найти список слов диапазоне ячеек с помощью !SEMTools, нужно:
- скопировать в соседний столбец диапазон, в котором мы хотим найти список слов. Это нужно для того, чтобы не стереть исходные данные,
- вызвать макрос на панели настройки,
- выбрать список слов, которые необходимо найти,
- нажать OK.
Макрос даёт проверить, есть ли хотя бы одно слово из списка в ячейке.
Конкретные примеры использования
Данная процедура обычно полезна перед двумя другими — извлечь слова из списка и удалить из текста список слов. Почему не производить их сразу? Дело в том, что первый более медленный, а второй не даст понимания, какие ячейки затронула операция удаления.
Есть множество случаев применения данного макроса.
Специалисты по контекстной рекламе могут искать маркеры покупки, аренды, отзывы, многие хранят собственные длинные списки минус-слов, наличие которых в запросе означает, что его необходимо не включать в рекламную кампанию.
Если вас интересует, присутствуют ли в прайс-листе товары определенных производителей, список которых у вас уже имеется, или каковы остатки товара на складе по этим позициям, вам также может пригодиться данный макрос.
Найти все слова из списка
Данная процедура производит тот же поиск по словам, но с кардинальным отличием. Ключевое условие — чтобы ВСЕ слова содержались в ячейке, только тогда она возвращает ИСТИНА.
Нужно сделать поиск в Excel по словам?
!SEMTools поможет решить задачу за пару кликов!
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,
И это дает результат 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,
Ну и далее получаем нужный результат.
ИНДЕКС ПОИСКПОЗ с несколькими условиями в нескольких строках и столбцах
В этом примере показано, как выполнять поиск, проверяя два или более критерия в строках и столбцах. На самом деле это более сложный случай так называемого «матричного поиска» или «двустороннего поиска» с более чем одной строкой заголовка.
Вот общая формула ИНДЕКС ПОИСКПОЗ с несколькими критериями в строках и столбцах:
{=ИНДЕКС( массив_таблицы ; ПОИСКПОЗ( значение_поиска ; столбец_поиска ; 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. Я благодарю вас за чтение и надеюсь вновь увидеть вас в нашем блоге.
Еще несколько статей по теме: