Продвинутые примеры с функцией ВПР: поиск по нескольким критериям
Смотрите также акта» т.н. столбецНе могу сам в столбце С быть отсортирована поКиева ячейки 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.
Одновременный поиск по нескольким диапазонам
Для наглядного примера создадим три простые отдельные таблицы расположенных в несмежных диапазонах одного листа:
Следует выполнить поиск суммы необходимой для производства 20-ти штук продуктов. К сожалению, эти данные находятся в разных столбцах и строках. Поэтому в первую очередь нужно проверить сколько потребуется времени для производства этих продуктов (первая таблица).
На основе полученных данных необходимо сразу перейти к поиску по другой таблице и найти какое количество работников должно быть вовлечено к данному объему производства. Полученный результат должен сравнивается с данными третей таблицы. Таким образом мы за одно операцию поиска по трем таблицам сразу определим необходимые затраты (сумму).
Среднестатистический пользователь Excel искал бы решение с помощью формул основанных таких функциях как ВПР. И выполнял бы поиск в 3 этапа (отдельно для каждой таблицы). Оказывается, можно получить сразу готовый результат выполнив поиск только в 1 этап с помощью специальной формулы. Для этого:
- В ячейке E6 введите значение 20, которое является условием для поискового запроса.
- В ячейке E7 введите следующую формулу:
Производственная себестоимость для 20 шт. определенного товара.
Как работает формула с ВПР в нескольких таблицах:
Принцип действия данной формулы основан на поочередном поиске всех аргументов для главной функции ВПР (первой). Сначала третья функция ВПР ищет по первой таблице количество времени необходимое для производства 20 штук продукта указанного в качестве значения для ячейки E6 (которое потом можно изменять при необходимости). Потом вторая функция ВПР ищет значение для первого аргумента главной функции.
В результате поиска третьей функции мы получаем значение 125, которое является первым аргументом для второй функции. Получив все параметры, вторая функция ищет во второй таблице количество требуемых работников для производства. В результате возвращено значение 5, которое дальше будет использовано главной функцией. На основе всех полученных данных формула возвращает финальный результат вычисления. А именно сумму 1750$ необходимую для производства 20 штук определенного товара.
По этом уже принципу можно использовать формулы для функции ВПР из нескольких листов.
Как использовать поиск в Excel по одному или нескольким значениям
Excel – программа для работы с электронными таблицами. Документы в этой программе могут быть объемными с множеством листов. Поэтому для удобного поиска нужного слова, фразы, таблицы, ячейки или формулы существует специальный инструмент, пользоваться которым несложно.
Поиск в Excel
Самый простой и быстрый способ искать по слову, фразе, формуле и т.д в документе это использовать комбинацию клавиш Ctrl и F одновременно. Появится следующее окно.
Здесь понадобится ввести искомое слово, фразу и т.д.
Второй вариант поиска в Excel — на главной странице нажать вкладку «Найти и выделить». Выбираем «Найти», вводим нужные символы и запускается поиск.
Программа начнет искать и выделит все места, где есть искомое слово или фраза. Если документ очень большой, то процесс может занять некоторое время.
После, будет выдан список с адресами ячеек, где есть искомая комбинация. Кликнув на нужную строку, курсор перенесет на нужную ячейку.
В поле можно использовать подстановочные знаки * и ?.
Обычно их применяют в таких ситуациях:
- * — может быть использована для замены букв. К примеру, если ввести «к*т», то найдутся все слова, которые начинаются на букву «к» и заканчиваются на «т», кит, кот и т.д. Звездочка заменяет как один символ, так и любое количество. Т.е. в нашем примере найдутся и слова кабинет, кабриолет и т.д.
- ? — такой подстановочный знак заменяет только одну букву. Например, «к?т», выйдут слова, которые состоят из трех букв «кот», «кит».
Настройки поиска
Если необходимо установить определенные настройки, то в окне необходимо кликнуть «Параметры».
Тут можно задать следующие настройки:
- в строке «Искать» можно ограничить поиск только листом;
- в строке «Просматривать» можно выбрать вариант просмотра по строкам или по столбцам;
- строка «Область» позволяет выбрать искомые символы: формула либо значение;
- отметив галкой «Учитывать регистр» производится нахождение искомой комбинации с учетом регистра;
- если необходимо увидеть ячейку, которая содержит только заданные символы, нужно отметить «Ячейка целиком»;
- во вкладке «Формат» можно выбрать искомое форматирование.
Нажимая кнопку «Заменить», можно сразу заменить найденное на указанные значения.
В строку «Найти» нужно ввести искомую комбинацию значений, а в строке «Заменить» те символы, на которые следует заменить найденные.
Поиск по указанному интервалу
Нахождение по указанному интервалу может понадобиться в том случае, если таблица очень большая, и при обычном обнаружении находится слишком большое количество значений.
Этим способом ограничивается диапазон для нахождения комбинации.
- Выделяем диапазон, для которого нужно определить значения.
- Запускаем поиск любым способом, описанным выше. Отличие лишь в том, что изначально для работы будет выделен определенный диапазон.
Поиск по нескольким условиям
Нахождение по нескольким условиям осуществляется с помощью функции поиска ВПР, которая в некотором роде соответствует поиску по документу. ВПР расшифровывается как вертикальный просмотр. Функция ищет значения по указным в запросе критериям. В простом обнаружении нельзя обработать сразу несколько условий. ВПР помогает расширить функции для нахождения.
Приведем пример поиска нескольких значений одновременно. В таблице указана разная цена различного гранита. Необходимо с помощью функции ВПР определить цену гранита 7.
Составим таблицу.
Формула будет в ячейке Е4, но можно использовать любую другую. Затем придерживаемся алгоритма:
- В ячейке ставим знак равенства и прописываем функцию: «=ВПР(».
- Аргумент 1 это Гранит7. Пишем «ВПР(«Гранит7»».
- Аргумент 2 – это ячейки А4:А20. Формула получается такой: «ВПР(«Гранит7»; А4:А20;».
- Аргумент 3, цифра 2, т.к. ищем значение во втором столбце. «ВПР(«Гранит7»; А4:А20;2».
- Аргумент 4, дает понять функции, какое значение нужно искать, точное или приблизительное. Оно может быть ИСТИНА или ЛОЖЬ. ИСТИНА – приблизительно совпавшие значения, а ЛОЖЬ – точные. Мы ищем точные. Выглядит запись так: «ВПР(«Гранит7»; А4:А20;2;ЛОЖЬ)» или «=ВПР(A10;A4:B20;2;ЛОЖЬ)».
- Кликаем по Enter и получаем искомое.
Аналогичным способом можно добавлять условия в более сложных таблицах.
К примеру, добавим в таблицу столбец с месяцем. Попробуем увидеть в каком месяце Гранит17 стоит 1016.
Составляем формулу, добавляя новые значения. Аргументом 3 будет цифра 3.
Нажимаем ввод и получаем месяц «май».
Функция поиск в Excel
Также для обнаружения можно использовать функции ПОИСК и НАЙТИ.
Сначала рассмотрим функции НАЙТИ. С ее помощью можно автоматически определить позицию в текстовой строке, она различает прописные и строчные буквы.
Пример: найдем положение буквы «а» в слове Гранит6. Введем формулу =НАЙТИ(«а»;A9;3) и получим 3, т.е. «а» третья буква.
Теперь рассмотрим функцию ПОИСК. В данной формуле можно использовать подстановочные символы (? — один, * — несколько). Например, найдем в той же ячейке положение цифры 6. Введем формулу =ПОИСК(«6»;A9), получаем 8.
Одновременный поиск в нескольких таблицах Excel
Определенно легче вести поиск по одной пусть большой, но целой таблице или в смежных диапазонах ячеек, чем по нескольким разделенным на части таблицами разбросанных по разным несмежным диапазонам или даже по отдельным листам. Даже если выполнить автоматический поиск одновременно по нескольким таблицам, то могут возникнуть существенные препятствия. А слаживать все данные в одну таблицу – это сложно, иногда практически не реально. На конкретном примере продемонстрируем правильное решение для одновременного поиска по нескольким таблицам в Excel.
Одновременный поиск по нескольким диапазонам
Для наглядного примера создадим три простые отдельные таблицы расположенных в несмежных диапазонах одного листа:
Следует выполнить поиск суммы необходимой для производства 20-ти штук продуктов. К сожалению, эти данные находятся в разных столбцах и строках. Поэтому в первую очередь нужно проверить сколько потребуется времени для производства этих продуктов (первая таблица).
На основе полученных данных необходимо сразу перейти к поиску по другой таблице и найти какое количество работников должно быть вовлечено к данному объему производства. Полученный результат должен сравнивается с данными третей таблицы. Таким образом мы за одно операцию поиска по трем таблицам сразу определим необходимые затраты (сумму).
Среднестатистический пользователь Excel искал бы решение с помощью формул основанных таких функциях как ВПР. И выполнял бы поиск в 3 этапа (отдельно для каждой таблицы). Оказывается, можно получить сразу готовый результат выполнив поиск только в 1 этап с помощью специальной формулы. Для этого:
- В ячейке E6 введите значение 20, которое является условием для поискового запроса.
- В ячейке E7 введите следующую формулу:
Производственная себестоимость для 20 шт. определенного товара.
Как работает формула с ВПР в нескольких таблицах:
Принцип действия данной формулы основан на поочередном поиске всех аргументов для главной функции ВПР (первой). Сначала третья функция ВПР ищет по первой таблице количество времени необходимое для производства 20 штук продукта указанного в качестве значения для ячейки E6 (которое потом можно изменять при необходимости). Потом вторая функция ВПР ищет значение для первого аргумента главной функции.
В результате поиска третьей функции мы получаем значение 125, которое является первым аргументом для второй функции. Получив все параметры, вторая функция ищет во второй таблице количество требуемых работников для производства. В результате возвращено значение 5, которое дальше будет использовано главной функцией. На основе всех полученных данных формула возвращает финальный результат вычисления. А именно сумму 1750$ необходимую для производства 20 штук определенного товара.
По этом уже принципу можно использовать формулы для функции ВПР из нескольких листов.
Поиск значений в списке данных
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Предположим, вам нужно найти расширение телефона сотрудника с помощью его номера, а также правильно оценить коэффициент Комиссии для суммы продажи. Вы ищете данные, чтобы быстро и эффективно находить определенные данные в списке и автоматически проверять, правильно ли используются данные. После того как вы просмотрит данные, вы можете выполнить вычисления и отобразить результаты, указав возвращаемые значения. Есть несколько способов поиска значений в списке данных и отображения результатов.
В этой статье
Поиск значений в списке по вертикали по точному совпадению
Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.
Примеры использования функции ВПР
Дополнительные сведения можно найти в разделе функция ВПР.
Примеры ИНДЕКСов и СОВПАДЕНИй
=ИНДЕКС(нужно вернуть значение из 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 с более чем 570000 значений. Затем пометьте следующий столбец с да или нет. В настоящее время я просматриваю более ста тысяч значений по отдельности, используя элемент управления F. Мне было интересно, можно ли просмотреть весь список за один раз. Эта проблема также может быть выражена как поиск нескольких уникальных значений на листе за один раз.
Любая помощь? Спасибо!
Изменить: Итак, если я пытаюсь найти 4 значения в списке из 1000 значений, есть ли в любом случае, чтобы ячейка рядом с каждым из этих 4 значений сказать «да»? Или это невозможно? В этом случае 4 значения будут списками из других файлов Excel.
Простой COUNTIF покажет, существует ли значение в другом столбце, независимо от того, находится ли этот столбец на другом листе или другой книге в целом.
Пример: с открытыми обеими рабочими книгами используйте эту формулу, чтобы выяснить, находится ли значение в A1 в столбце B листа другой рабочей книги (Other WB.xlsx).
=IF(COUNTIF([Other WB.xlsx]Sheet1!$B:$B, A1), «Yes», «No»)
Если две рабочие книги открыты, вы можете Alt+Tab между ними, чтобы выбрать столбец B из другой рабочей книги во время создания формулы. Если вы закроете другую книгу, формула будет автоматически отображать полный путь к закрытой книге, например:
=IF(COUNTIF(‘C:UsersuserDocuments[Other WB.xlsx]Sheet1’!$B:$B, A1), «Yes», «No»)
Вы можете быстро заполнить формулу, просто дважды щелкнув по маленькому черному квадратному маркеру перетаскивания в правом нижнем углу ячейки.
17 авг. 2022 г.
читать 2 мин
Вы можете использовать следующую формулу, чтобы найти несколько значений в Excel:
=INDEX( $A$1:$B$12 ,SMALL(IF( $A$1:$A$12 = $F$1 ,ROW( $A$1:$A$12 )),ROW( 1:1 )),2)
Эта конкретная формула находит все значения в диапазоне B1:B12 , где соответствующее значение в диапазоне A1:A12 равно значению в ячейке F1 .
В следующем примере показано, как использовать эту формулу на практике.
Пример: поиск нескольких значений в Excel
Предположим, у нас есть следующий набор данных в Excel, показывающий, какие сотрудники продавали различные продукты в какой-то компании:
Теперь предположим, что мы хотим найти все продукты, продаваемые Майком.
Для этого мы можем ввести его имя в ячейку D2 :
Затем мы можем ввести следующую формулу в ячейку E2 :
=INDEX( $A$1:$B$12 ,SMALL(IF( $A$1:$A$12 = $D$2 ,ROW( $A$1:$A$12 )),ROW( 1:1 )),2)
Это вернет первый продукт, проданный Майком:
Затем мы можем автоматически заполнить эту формулу до оставшихся ячеек в столбце E, чтобы найти все продукты, продаваемые Майком:
Теперь мы можем видеть все четыре продукта, проданных Майком:
- Апельсины
- киви
- яблоки
- Бананы
Мы можем посмотреть на исходные данные в столбцах A и B, чтобы убедиться, что Майк действительно продал все четыре продукта.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Как подсчитать количество вхождений в Excel
Как подсчитать частоту текста в Excel
Как рассчитать относительную частоту в Excel
Во второй части нашего учебника по функции ВПР (VLOOKUP) в Excel мы разберём несколько примеров, которые помогут Вам направить всю мощь ВПР
на решение наиболее амбициозных задач Excel. Примеры подразумевают, что Вы уже имеете базовые знания о том, как работает эта функция. Если нет, возможно, Вам будет интересно начать с первой части этого учебника, в которой объясняются синтаксис и основное применение ВПР. Что ж, давайте приступим.
Поиск в Excel по нескольким критериям
Функция ВПР в Excel – это действительно мощный инструмент для выполнения поиска определённого значения в базе данных. Однако, есть существенное ограничение – её синтаксис позволяет искать только одно значение. Как же быть, если требуется выполнить поиск по нескольким условиям? Решение Вы найдёте далее.
Пример 1: Поиск по 2-м разным критериям
Предположим, у нас есть список заказов и мы хотим найти Количество товара (Qty.), основываясь на двух критериях – Имя клиента (Customer) и Название продукта (Product). Дело усложняется тем, что каждый из покупателей заказывал несколько видов товаров, как это видно из таблицы ниже:
Обычная функция ВПР не будет работать по такому сценарию, поскольку она возвратит первое найденное значение, соответствующее заданному искомому значению. Например, если Вы хотите узнать количество товара Sweets, заказанное покупателем Jeremy Hill, запишите вот такую формулу:
=VLOOKUP(B1,$A$5:$C$14,3,FALSE)
=ВПР(B1;$A$5:$C$14;3;ЛОЖЬ)
Есть простой обходной путь – создать дополнительный столбец, в котором объединить все нужные критерии. В нашем примере это столбцы Имя клиента (Customer) и Название продукта (Product). Не забывайте, что объединенный столбец должен быть всегда крайним левым в диапазоне поиска, поскольку именно левый столбец функция ВПР просматривает при поиске значения.
Итак, Вы добавляете вспомогательный столбец в таблицу и копируете по всем его ячейкам формулу вида: =B2&C2. Если хочется, чтобы строка была более читаемой, можно разделить объединенные значения пробелом: =B2&» «&C2. После этого можно использовать следующую формулу:
=VLOOKUP("Jeremy Hill Sweets",$A$7:$D$18,4,FALSE)
=ВПР("Jeremy Hill Sweets";$A$7:$D$18;4;ЛОЖЬ)
=VLOOKUP(B1,$A$7:$D$18,4,FALSE)
=ВПР(B1;$A$7:$D$18;4;ЛОЖЬ)
Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе
Если Вам необходимо обновить основную таблицу (Main table), добавив данные из второй таблицы (Lookup table), которая находится на другом листе или в другой рабочей книге Excel, то Вы можете собрать искомое значение непосредственно в формуле, которую вставляете в основную таблицу.
Как и в предыдущем примере, Вам понадобится в таблице поиска (Lookup table) вспомогательный столбец с объединенными значениями. Этот столбец должен быть крайним левым в заданном для поиска диапазоне.
Итак, формула с ВПР может быть такой:
=VLOOKUP(B2&" "&C2,Orders!$A&$2:$D$2,4,FALSE)
=ВПР(B2&" "&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ)
Чтобы сделать формулу более читаемой, Вы можете задать имя для просматриваемого диапазона, и тогда формула станет выглядеть гораздо проще:
Чтобы формула работала, значения в крайнем левом столбце просматриваемой таблицы должны быть объединены точно так же, как и в критерии поиска. На рисунке выше мы объединили значения и поставили между ними пробел, точно так же необходимо сделать в первом аргументе функции (B2&» «&C2).
Соглашусь, добавление вспомогательного столбца – не самое изящное и не всегда приемлемое решение. Вы можете сделать то же самое без вспомогательного столбца, но в таком случае потребуется гораздо более сложная формула с комбинацией функций INDEX (ИНДЕКС) и MATCH (ПОИСКПОЗ).
Извлекаем 2-е, 3-е и т.д. значения, используя ВПР
Вы уже знаете, что ВПР может возвратить только одно совпадающее значение, точнее – первое найденное. Но как быть, если в просматриваемом массиве это значение повторяется несколько раз, и Вы хотите извлечь 2-е или 3-е из них? А что если все значения? Задачка кажется замысловатой, но решение существует!
Предположим, в одном столбце таблицы записаны имена клиентов (Customer Name), а в другом – товары (Product), которые они купили. Попробуем найти 2-й, 3-й и 4-й товары, купленные заданным клиентом.
Простейший способ – добавить вспомогательный столбец перед столбцом Customer Name и заполнить его именами клиентов с номером повторения каждого имени, например, John Doe1, John Doe2 и т.д. Фокус с нумерацией сделаем при помощи функции COUNTIF (СЧЁТЕСЛИ), учитывая, что имена клиентов находятся в столбце B:
=B2&COUNTIF($B$2:B2,B2)
=B2&СЧЁТЕСЛИ($B$2:B2;B2)
После этого Вы можете использовать обычную функцию ВПР, чтобы найти нужный заказ. Например:
- Находим 2-й товар, заказанный покупателем Dan Brown:
=VLOOKUP("Dan Brown2",$A$2:$C$16,3,FALSE)
=ВПР("Dan Brown2";$A$2:$C$16;3;ЛОЖЬ)
- Находим 3-й товар, заказанный покупателем Dan Brown:
=VLOOKUP("Dan Brown3",$A$2:$C$16,3,FALSE)
=ВПР("Dan Brown3";$A$2:$C$16;3;ЛОЖЬ)
На самом деле, Вы можете ввести ссылку на ячейку в качестве искомого значения вместо текста, как представлено на следующем рисунке:
Если Вы ищите только 2-е повторение, то можете сделать это без вспомогательного столбца, создав более сложную формулу:
=IFERROR(VLOOKUP($F$2,INDIRECT("$B$"&(MATCH($F$2,Table4[Customer Name],0)+2)&":$C16"),2,FALSE),"")
=ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ("$B$"&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&":$C16");2;ИСТИНА);"")
- $F$2 – ячейка, содержащая имя покупателя (она неизменна, обратите внимание – ссылка абсолютная);
- $B$ – столбец Customer Name;
- Table4 – Ваша таблица (на этом месте также может быть обычный диапазон);
- $C16 – конечная ячейка Вашей таблицы или диапазона.
Эта формула находит только второе совпадающее значение. Если же Вам необходимо извлечь остальные повторения, воспользуйтесь предыдущим решением.
Если Вам нужен список всех совпадений – функция ВПР тут не помощник, поскольку она возвращает только одно значение за раз – и точка. Но в Excel есть функция INDEX (ИНДЕКС), которая с легкостью справится с этой задачей. Как будет выглядеть такая формула, Вы узнаете в следующем примере.
Извлекаем все повторения искомого значения
Как упоминалось выше, ВПР не может извлечь все повторяющиеся значения из просматриваемого диапазона. Чтобы сделать это, Вам потребуется чуть более сложная формула, составленная из нескольких функций Excel, таких как INDEX (ИНДЕКС), SMALL (НАИМЕНЬШИЙ) и ROW (СТРОКА)
Например, формула, представленная ниже, находит все повторения значения из ячейки F2 в диапазоне B2:B16 и возвращает результат из тех же строк в столбце C.
{=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3)),"")}
{=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3));"")}
Если Вам интересно понять, как она работает, давайте немного погрузимся в детали формулы:
Часть 1:
IF($F$2=B2:B16,ROW(C2:C16)-1,"")
ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"")
Результатом функции IF (ЕСЛИ) окажется вот такой горизонтальный массив: {1,"",3,"",5,"","","","","","",12,"","",""}
Часть 2:
ROW()-3
СТРОКА()-3
Часть 3:
SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3))
НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3))
Часть 4:
INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,""),ROW()-3))
ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;"");СТРОКА()-3))
Часть 5:
IFERROR()
ЕСЛИОШИБКА()
Двумерный поиск по известным строке и столбцу
Выполнение двумерного поиска в Excel подразумевает поиск значения по известному номеру строки и столбца. Другими словами, Вы извлекаете значение ячейки на пересечении конкретной строки и столбца.
Итак, давайте обратимся к нашей таблице и запишем формулу с функцией ВПР, которая найдет информацию о стоимости проданных в марте лимонов.
Существует несколько способов выполнить двумерный поиск. Познакомьтесь с возможными вариантами и выберите наиболее подходящий.
Функции ВПР и ПОИСКПОЗ
Вы можете использовать связку из функций ВПР (VLOOKUP) и ПОИСКПОЗ (MATCH), чтобы найти значение на пересечении полей Название продукта (строка) и Месяц (столбец) рассматриваемого массива:
=VLOOKUP("Lemons",$A$2:$I$9,MATCH("Mar",$A$1:$I$1,0),FALSE)
=ВПР("Lemons";$A$2:$I$9;ПОИСКПОЗ("Mar";$A$1:$I$1;0);ЛОЖЬ)
MATCH("Mar",$A$1:$I$1,0)
ПОИСКПОЗ("Mar";$A$1:$I$1;0)
- Ищем символы «Mar» – аргумент lookup_value (искомое_значение);
- Ищем в ячейках от A1 до I1 – аргумент lookup_array (просматриваемый_массив);
- Возвращаем точное совпадение – аргумент match_type (тип_сопоставления).
Использовав 0 в третьем аргументе, Вы говорите функции ПОИСКПОЗ искать первое значение, в точности совпадающее с искомым значением. Это равносильно значению FALSE (ЛОЖЬ) для четвёртого аргумента ВПР.
Вот так Вы можете создать формулу для поиска по двум критериям в Excel, что также известно, как двумерный поиск или поиск в двух направлениях.
Функция СУММПРОИЗВ
Функция СУММПРОИЗВ (SUMPRODUCT) возвращает сумму произведений выбранных массивов:
=SUMPRODUCT(($A$2:$A$9="Lemons")*($A$1:$I$1="Mar"),$A$2:$I$9)
=СУММПРОИЗВ(($A$2:$A$9="Lemons")*($A$1:$I$1="Mar");$A$2:$I$9)
В следующей статье я буду объяснять эти функции во всех деталях, так что сейчас можете просто скопировать эту формулу:
=INDEX($A$2:$I$9,MATCH("Lemons",$A$2:$A$9,0),MATCH("Mar",$A$1:$I$1,0))
=ИНДЕКС($A$2:$I$9;ПОИСКПОЗ("Lemons";$A$2:$A$9;0);ПОИСКПОЗ("Mar";$A$1:$I$1;0))
Если Вы не в восторге от всех этих сложных формул Excel, Вам может понравиться вот такой наглядный и запоминающийся способ:
- Выделите таблицу, откройте вкладку Formulas (Формулы) и нажмите Create from Selection (Создать из выделенного).
- Отметьте галочками Top row (в строке выше) и Left column (в столбце слева). Microsoft Excel назначит имена диапазонам из значений в верхней строке и левом столбце Вашей таблицы. Теперь Вы можете осуществлять поиск, используя эти имена, напрямую, без создания формул.
- В любой пустой ячейке запишите =имя_строки имя_столбца, например, так:
=Lemons Mar … или наоборот: =Mar Lemons
Помните, что имена строки и столбца нужно разделить пробелом, который в данном случае работает как оператор пересечения.
При вводе имени, Microsoft Excel будет показывать подсказку со списком подходящих имен, так же, как при вводе формулы.
- Нажмите Enter и проверьте результат
В целом, какой бы из представленных выше методов Вы ни выбрали, результат двумерного поиска будет одним и тем же:
Используем несколько ВПР в одной формуле
Бывает так, что основная таблица и таблица поиска не имеют ни одного общего столбца, и это мешает использовать обычную функцию ВПР. Однако, существует ещё одна таблица, которая не содержит интересующую нас информацию, но имеет общий столбец с основной таблицей и таблицей поиска.
Давайте разберем следующий пример. У нас есть основная таблица (Main table) со столбцом SKU (new), куда необходимо добавить столбец с соответствующими ценами из другой таблицы. Кроме этого, у нас есть 2 таблицы поиска. Первая (Lookup table 1) содержит обновленные номера SKU (new) и названия товаров, а вторая (Lookup table 2) – названия товаров и старые номера SKU (old).
Чтобы добавить цены из второй таблицы поиска в основную таблицу, необходимо выполнить действие, известное как двойной ВПР или вложенный ВПР.
- Запишите функцию ВПР, которая находит имя товара в таблице Lookup table 1, используя SKU, как искомое значение:
=VLOOKUP(A2,New_SKU,2,FALSE)
=ВПР(A2;New_SKU;2;ЛОЖЬ)
Здесь New_SKU – именованный диапазон $A:$B в таблице Lookup table 1, а 2 – это столбец B, который содержит названия товаров (смотрите на рисунке выше)
- Запишите формулу для вставки цен из таблицы Lookup table 2 на основе известных названий товаров. Для этого вставьте созданную ранее формулу в качестве искомого значения для новой функции ВПР:
=VLOOKUP(VLOOKUP(A2,New_SKU,2,FALSE),Price,3,FALSE)
=ВПР(ВПР(A2;New_SKU;2;ЛОЖЬ);Price;3;ЛОЖЬ)
Здесь Price – именованный диапазон $A:$C в таблице Lookup table 2, а 3 – это столбец C, содержащий цены.
На рисунке ниже виден результат, возвращаемый созданной нами формулой:
Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ
В начале разъясним, что мы подразумеваем под выражением «Динамическая подстановка данных из разных таблиц», чтобы убедиться правильно ли мы понимает друг друга.
Бывают ситуации, когда есть несколько листов с данными одного формата, и необходимо извлечь нужную информацию с определенного листа в зависимости от значения, которое введено в заданную ячейку. Думаю, проще это объяснить на примере.
Представьте, что имеются отчеты по продажам для нескольких регионов с одинаковыми товарами и в одинаковом формате. Требуется найти показатели продаж для определенного региона:
Если у Вас всего два таких отчета, то можно использовать до безобразия простую формулу с функциями ВПР и ЕСЛИ (IF), чтобы выбрать нужный отчет для поиска:
=VLOOKUP($D$2,IF($D3="FL",FL_Sales,CA_Sales),2,FALSE)
=ВПР($D$2;ЕСЛИ($D3="FL";FL_Sales;CA_Sales);2;ЛОЖЬ)
- $D$2 – это ячейка, содержащая название товара. Обратите внимание, здесь мы используем абсолютные ссылки, чтобы избежать изменения искомого значения при копировании формулы в другие ячейки.
- $D3 – это ячейка с названием региона. Используем абсолютную ссылку для столбца и относительную ссылку для строки, поскольку планируем копировать формулу в другие ячейки того же столбца.
- FL_Sales и CA_Sales – названия таблиц (или именованных диапазонов), в которых содержаться соответствующие отчеты о продажах. Вы, конечно же, можете использовать обычные названия листов и ссылки на диапазоны ячеек, например ‘FL Sheet’!$A$3:$B$10, но именованные диапазоны гораздо удобнее.
Однако, когда таких таблиц много, функция ЕСЛИ – это не лучшее решение. Вместо нее можно использовать функцию ДВССЫЛ (INDIRECT), чтобы возвратить нужный диапазон поиска.
Как Вы, вероятно, знаете, функция ДВССЫЛ используется для того, чтобы вернуть ссылку, заданную текстовой строкой, а это как раз то, что нам сейчас нужно. Итак, смело заменяем в представленной выше формуле выражение с функцией ЕСЛИ на ссылку с функцией ДВССЫЛ. Вот такая комбинация ВПР и ДВССЫЛ отлично работает в паре:
=VLOOKUP($D$2,INDIRECT($D3&"_Sales"),2,FALSE)
=ВПР($D$2;ДВССЫЛ($D3&"_Sales");2;ЛОЖЬ)
- $D$2 – это ячейка с названием товара, она неизменна благодаря абсолютной ссылке.
- $D3 – это ячейка, содержащая первую часть названия региона. В нашем примере это FL.
- _Sales – общая часть названия всех именованных диапазонов или таблиц. Соединенная со значением в ячейке D3, она образует полное имя требуемого диапазона. Ниже приведены некоторые подробности для тех, кто не имеет опыта работы с функцией ДВССЫЛ.
Как работают ДВССЫЛ и ВПР
Во-первых, позвольте напомнить синтаксис функции ДВССЫЛ (INDIRECT):
INDIRECT(ref_text,[a1])
ДВССЫЛ(ссылка_на_текст;[a1])
- A1, если аргумент равен TRUE (ИСТИНА) или не указан;
- R1C1, если FALSE (ЛОЖЬ).
В нашем случае ссылка имеет стиль A1, поэтому можно не указывать второй аргумент и сосредоточиться на первом.
Итак, давайте вернемся к нашим отчетам по продажам. Если Вы помните, то каждый отчёт – это отдельная таблица, расположенная на отдельном листе. Чтобы формула работала верно, Вы должны дать названия своим таблицам (или диапазонам), причем все названия должны иметь общую часть. Например, так: CA_Sales, FL_Sales, TX_Sales и так далее. Как видите, во всех именах присутствует «_Sales».
Функция ДВССЫЛ соединяет значение в столбце D и текстовую строку «_Sales», тем самым сообщая ВПР в какой таблице искать. Если в ячейке D3 находится значение «FL», формула выполнит поиск в таблице FL_Sales, если «CA» – в таблице CA_Sales и так далее.
Результат работы функций ВПР и ДВССЫЛ будет следующий:
Если данные расположены в разных книгах Excel, то необходимо добавить имя книги перед именованным диапазоном, например:
=VLOOKUP($D$2,INDIRECT($D3&"Workbook1!_Sales"),2,FALSE)
=ВПР($D$2;ДВССЫЛ($D3&"Workbook1!_Sales");2;ЛОЖЬ)
Урок подготовлен для Вас командой сайта office-guru.ru Источник: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/ Перевел: Андрей Антонов Правила перепечатки Еще больше уроков по Microsoft Excel
Поиск значений в списке данных
Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Предположим, что вы хотите найти расширение телефона сотрудника, используя его номер эмблемы или правильную ставку комиссионных за объем продаж. Вы можете искать данные для быстрого и эффективного поиска определенных данных в списке, а также для автоматической проверки правильности данных. После поиска данных можно выполнить вычисления или отобразить результаты с возвращаемой величиной. Существует несколько способов поиска значений в списке данных и отображения результатов.
Что необходимо сделать
-
Точное совпадение значений по вертикали в списке
-
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
-
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
-
Точное совпадение значений по горизонтали в списке
-
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
-
Создание формулы подступа с помощью мастера подметок (только в Excel 2007)
Точное совпадение значений по вертикали в списке
Для этого можно использовать функцию ВLOOKUP или сочетание функций ИНДЕКС и НАЙТИПОЗ.
Примеры ВРОТ
Дополнительные сведения см. в этой информации.
Примеры индексов и совпадений
Что означает:
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» (в B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».
Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.
К началу страницы
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
Для этого используйте функцию ВЛВП.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.
Дополнительные сведения см. в этой информации.
К началу страницы
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.
Примечание: Используйте этот подход, если данные в диапазоне внешних данных обновляются каждый день. Вы знаете, что цена находится в столбце B, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортировали по алфавиту.
C1 — это левые верхние ячейки диапазона (также называемые начальной).
MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.
1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.
К началу страницы
Точное совпадение значений по горизонтали в списке
Для этого используйте функцию ГГПУ. См. пример ниже.
Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
Для этого используйте функцию ГГПУ.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )
Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).
В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.
-
Щелкните ячейку в диапазоне.
-
На вкладке Формулы в группе Решения нажмите кнопку Под поиск.
-
Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.
Загрузка надстройки «Мастер подстройок»
-
Нажмите кнопку Microsoft Office , выберите Параметры Excel и щелкните категорию Надстройки.
-
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
-
В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.
-
Следуйте инструкциям мастера.
К началу страницы
Нужна дополнительная помощь?
Skip to content
В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке.
При использовании Microsoft Excel для анализа данных вы часто можете оказаться в ситуации, когда вам нужно получить все совпадающие значения для определенного имени, наименования, артикула или какого-либо другого уникального идентификатора. Первое решение, которое приходит на ум, — это использование функции Excel ВПР (VLOOKUP). Но проблема в том, что она может возвращать только одно значение.
Поиск нескольких значений в Excel может быть выполнен с помощью совместного использования ряда функций. Если вы не являетесь экспертом в Excel, не спешите покидать эту страницу. Я постараюсь объяснить логику поиска, чтобы даже новичок мог понять формулы и настроить их для решения подобных задач.
Поиск нескольких позиций в Excel с помощью формулы
Как было сказано ранее, невозможно заставить функцию ВПР Excel возвращать несколько значений. Проблему можно решить, используя следующие функции в формуле массива:
- ЕСЛИ – оценивает условие и возвращает одно значение, если условие выполняется, и другое значение, если условие не выполняется.
- НАИМЕНЬШИЙ– получает N-е наименьшее значение в массиве.
- ИНДЕКС — возвращает элемент массива на основе указанных вами номеров строк и столбцов.
- СТРОКА — возвращает номер строки.
- СТОЛБЕЦ — возвращает номер столбца.
- ЕСЛИОШИБКА – перехватывает ошибки.
Ниже вы найдете несколько примеров таких формул. Их часто называют формулами ВПР нескольких значений, хотя сама функция ВПР здесь не используется. Дело в том, что часто под термином ВПР подразумевают любой поиск в Excel, какими бы формулами и функциями он ни осуществлялся.
Поиск нескольких значений и возврат результатов в столбец
Допустим, у вас есть имена продавцов в столбце А и товары, которые они продали, в столбце В. Таблица содержит несколько записей для каждого продавца. Ваша цель — получить список всех товаров, относящихся к данному человеку. Чтобы это сделать, выполните следующие действия:
- Введите список имен продавцов в какую-нибудь пустую строку того же или другого рабочего листа. В этом примере имена вводятся в ячейки D2:H2:
Совет. Чтобы быстро записать все имеющиеся в списке имена, вы можете использовать эту инструкцию — как получить список уникальных значений в Excel.
- Под именем выберите количество пустых ячеек, равное или превышающее максимально возможное количество совпадений, введите одно из следующих выражений и нажмите
Ctrl + Shift + Enter
для ввода его как формулы массива (в этом случае вы сможете редактировать формулу только сразу во всем диапазоне, где она введена). Или же вы можете записать это в левую верхнюю ячейку, также использовавCtrl + Shift + Enter
, а затем перетащить вниз еще на несколько ячеек (в этом случае вы сможете редактировать формулу в каждой ячейке отдельно).
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13; СТРОКА($B$3:$B$13)-2;»»); СТРОКА()-2));»»)
или
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13;СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1;»»); СТРОКА()-2));»»)
Как видите, первая формула немного компактнее, а вторая более универсальна и требует меньше модификаций (подробнее о синтаксисе и логике мы поговорим чуть дальше).
- Скопируйте формулу в соседние столбцы справа. Для этого перетащите маркер заполнения (небольшой квадрат в правом нижнем углу выбранного диапазона) вправо.
Результат ВПР нескольких значений в столбце будет выглядеть примерно так:
Здесь мы использовали первую формулу:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13; СТРОКА($B$3:$B$13)-2;»»); СТРОКА()-2));»»)
Как это работает.
Это пример использования Excel от среднего до продвинутого уровня, который подразумевает базовые знания формул массива и функций Excel. Итак, разберём пошагово:
- Функция ЕСЛИ
В основе поиска – функция ЕСЛИ, чтобы получить позиции всех вхождений искомого значения в диапазоне поиска: ЕСЛИ(D$2=$A$3:$A$13; СТРОКА($B$3:$B$13) )-2;»»)
ЕСЛИ сравнивает искомое значение (D2) с каждым значением в диапазоне поиска (A3:A13) и, если совпадение найдено, возвращает относительную позицию строки; пустое значение («») в противном случае.
Относительная позиция вычисляется путем вычитания 2 из СТРОКА($B$3:$B$13), чтобы первая позиция с формулой имела порядковый номер 1 (то есть, 3-2=1). Если ваш диапазон вывода начинается со строки 2, тогда вычтите 1 и так далее. Результатом этой операции является массив {1;2;3;4;5;6;7;8;9;10;11}, который поступает в аргумент значение_если_истина функции ЕСЛИ.
Вместо приведенного выше вычисления вы можете использовать следующее выражение:
СТРОКА(столбец_просмотра) — МИН(СТРОКА(столбец_просмотра))+1
Оно возвращает тот же результат, но не требует каких-либо изменений независимо от местоположения возвращаемого столбца. В этом примере это будет СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1.
Итак, на данный момент у вас есть массив, состоящий из чисел (позиций совпадений) и пустых строк (несовпадений). Для ячейки D3 в этом примере у нас есть следующий массив:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ({1:»»:»»:»»:5:»»:»»:8:»»:»»:»»}; СТРОКА()-2));»»)
Если вы сверитесь с исходными данными, вы увидите, что «Сергей» (значение поиска в D2) появляется на 1- й , 5 -й и 8 -й позициях в диапазоне поиска (A3: A13).
- Функция НАИМЕНЬШИЙ
Затем вступает в действие функция НАИМЕНЬШИЙ(массив; k), чтобы определить, какие совпадения должны быть возвращены в конкретной ячейке.
С уже установленным в предыдущем шаге массивом давайте определим аргумент k , т. е. k-е наименьшее возвращаемое значение. Для этого вы делаете своего рода «инкрементный счетчик» СТРОКА()-n, где «n» — это номер строки первой ячейки формулы минус 1. В этом примере мы ввели формулу в ячейки D3:D7, поэтому СТРОКА()-2 возвращает «1» для ячейки D3 (строка 3 минус 2), «2» для ячейки D4 (строка 4 минус 2) и т. д.
В результате функция НАИМЕНЬШИЙ извлекает первый наименьший элемент массива в ячейку D3, второй наименьший элемент в ячейку D4 и так далее. И это превращает первоначальную длинную и сложную формулу в очень простую, например:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;{1});»»)
Совет. Чтобы увидеть значение, вычисленное определенной частью формулы, выделите эту часть в самой формуле и нажмите F9.
- Функция ИНДЕКС
Здесь все просто. Вы используете функцию ИНДЕКС, чтобы вернуть значение элемента массива на основе его номера.
- Функция ЕСЛИОШИБКА
И, наконец, вы оборачиваете формулу в функцию ЕСЛИОШИБКА для обработки возможных ошибок, которые неизбежны, потому что вы не можете знать, сколько совпадений будет возвращено для того или иного искомого значения. Ведь вы копируете формулу в число ячеек явно большее, чем количество возможных совпадений, то есть «с запасом». Чтобы не пугать пользователей кучей ошибок, просто замените их пустой строкой (пустой ячейкой).
Примечание. Обратите внимание на правильное использование абсолютных и относительных ссылок на ячейки в формуле. Все ссылки фиксированы, за исключением ссылки на относительный столбец в искомом значении (D$2), которая должна изменяться в зависимости от относительного положения столбцов, в которые копируется формула, чтобы возвращать совпадения для других имён.
На скриншоте ниже вы можете видеть, как работает вторая формула
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;НАИМЕНЬШИЙ(ЕСЛИ(D$2=$A$3:$A$13;СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1;»»); СТРОКА()-2));»»)
Обобщив эти два решения, мы получим следующие общие формулы для ВПР нескольких значений в Excel, которые будут выведены в столбец:
Вариант 1 :
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТРОКА()-n));»»)
Вариант 2:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений;НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений;СТРОКА(диапазон_искомых_значений)-МИН(СТРОКА(диапазон_искомых_значений))+1;»»); СТРОКА()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне минус 1.
- n — номер строки первой ячейки с формулой минус 1.
Примечание. В приведенном выше примере и n, и m равны 2, потому что наш диапазон возвращаемых значений начинается, да и сама формула расположена, в строке 3. В ваших таблицах Эксель это вполне могут быть и другие числа.
Поиск нескольких совпадений и возврат результатов в строке
Если вы хотите вернуть несколько найденных значений в строках, а не в столбцах, измените приведенные выше формулы Excel следующим образом:
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13; НАИМЕНЬШИЙ(ЕСЛИ($D3=$A$3:$A$13;СТРОКА($B$3:$B$13)-2;»»); СТОЛБЕЦ()-4));»»)
или
=ЕСЛИОШИБКА(ИНДЕКС($B$3:$B$13;НАИМЕНЬШИЙ(ЕСЛИ($D3=$A$3:$A$13;СТРОКА($A$3:$A$13)-МИН(СТРОКА($A$3:$A$13))+1;»»);СТОЛБЕЦ()-4)); «»)
Как и в предыдущем примере, обе они являются формулами массива, поэтому не забудьте нажать комбинацию Ctrl + Shift + Enter, чтобы записать их правильно.
Формулы работают с той же логикой, что и в предыдущем примере, за исключением того, что вы используете функцию СТОЛБЕЦ вместо СТРОКА. Чтобы определить, какое совпадающее значение должно быть возвращено в конкретной ячейке, используем: СТОЛБЕЦ()-n где n — номер столбца первой ячейки, в которую вводится формула, минус 1. В этом примере результаты выводятся в диапазон E2:H2. Поскольку E является пятым столбцом, n равно 4 (5-1=4).
Примечание. Чтобы формула правильно копировалась вправо и вниз, обратите внимание на ссылки на значения поиска, где используется абсолютный адрес столбца и относительный адрес строки, например $D3.
И вот общие формулы для ВПР в Excel нескольких значений, возвращаемых по строке:
Формула 1 :
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТОЛБЕЦ()-n));»»)
Формула 2:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений;НАИМЕНЬШИЙ(ЕСЛИ(искомое_значение = диапазон_искомых_значений;СТРОКА(диапазон_искомых_значений)-МИН(СТРОКА(диапазон_искомых_значений))+1;»»); СТОЛБЕЦ()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне, минус 1.
- n — номер столбца первой ячейки, в которой записана формула, минус 1.
Поиск нескольких значений на основе нескольких условий
Вы уже знаете, как выполнять поиск нескольких значений в Excel на основе одного условия. Но что, если вы хотите вернуть несколько совпадений сразу на основе двух или более критериев? Продолжая предыдущие примеры – что, если у вас в таблице есть дополнительный столбец «Месяц» и вы хотите получить список всех товаров, проданных конкретным продавцом в определенном месяце?
Если вы знакомы с формулами массивов, то, возможно, помните, что они позволяют использовать знак умножения (*) в качестве логического оператора И. Таким образом, вы можете просто взять выражения, рассмотренные в двух предыдущих примерах, и заставить их проверять несколько условий, как показано ниже.
Как вернуть несколько значений в столбце.
Выведем искомые значения, соответствующие одновременно нескольким условиям, в привычном нам виде – вертикально в одном столбце.
В общем виде это выглядит так:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(1=((—(искомое_значение1 = диапазон_искомых_значений1)) * (—(искомое_значение2 = диапазон_искомых_значений2))) ; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТРОКА()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне, минус 1.
- n — номер строки первой слева ячейки с формулой, минус 1.
Предположим, что список продавцов (диапазон_искомых_значений1) находится в A3:A30, список месяцев (диапазон_искомых_значений2) находится в B3: B30, интересующий продавец (искомое_значение1) указан в ячейке E3, а нужный месяц (искомое_значение2) – в ячейке F3. Тогда формула поиска принимает следующий вид:
=ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E$3=$A$3:$A$30))*(—($F$3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТРОКА()-2));»»)
Таким образом, мы вводим имя в E3, месяц в F3, и получаем список товаров в столбце G:
Как вернуть несколько результатов в строке.
Если вы хотите получить по горизонтали несколько искомых значений на основе нескольких критериев, то есть когда результаты размещаются в одной строке, то используйте следующий общий шаблон:
=ЕСЛИОШИБКА(ИНДЕКС(диапазон_возвращаемых_значений; НАИМЕНЬШИЙ(ЕСЛИ(1=((—(искомое_значение1 = диапазон_искомых_значений1)) * (—(искомое_значение2 = диапазон_искомых_значений2))) ; СТРОКА(диапазон_возвращаемых_значений)-m;»»); СТОЛБЕЦ()-n));»»)
где:
- m — номер строки первой ячейки в возвращаемом диапазоне, минус 1.
- n — номер столбца первой слева ячейки, в которой записана формула, минус 1.
Для нашего примера набора данных формула выглядит следующим образом:
=ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E3=$A$3:$A$30))*(—($F3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТОЛБЕЦ()-6));»»)
И результат ВПР нескольких значений по нескольким условиям может выглядеть так:
Аналогичным образом вы можете выполнять ВПР с тремя, четырьмя и более условиями.
Как это работает?
По сути, формулы для ВПР нескольких значений с несколькими условиями работают с уже знакомой логикой, объясненной в самом первом нашем примере. Единственное отличие состоит в том, что функция ЕСЛИ теперь проверяет несколько условий:
1=((—(искомое_значение1 = диапазон_искомых_значений1)) * (—(искомое_значение2 = диапазон_искомых_значений2)) * …..)
Результатом каждого сравнения (искомое_значение = диапазон_искомых_значений) является массив логических значений ИСТИНА (условие выполнено) и ЛОЖЬ (условие не выполнено). Двойное отрицание (—) переводит логические значения в единицы и нули. А поскольку умножение на ноль всегда дает ноль, в правой части этого равенства у вас будет получаться 1 только для тех элементов, которые удовлетворяют всем указанным вами условиям.
Вы просто сравниваете окончательный массив нулей и единиц с числом 1, чтобы функция СТРОКА вернула порядковые номера строк, удовлетворяющих всем условиям, в противном случае — пустоту.
Напоминание. Все формулы поиска, обсуждаемые в этой статье, являются формулами массива. Таким образом, каждая из них перебирает все элементы массива каждый раз, когда исходные данные изменяются или рабочий лист пересчитывается. На больших листах, содержащих сотни или тысячи позиций, это может значительно замедлить работу Excel.
Как вернуть несколько значений ВПР в одну ячейку
Мы продолжаем работать с набором данных, который использовали в предыдущем примере. Но на этот раз мы хотим добиться другого результата — вместо того, чтобы извлекать несколько совпадений в отдельные ячейки, мы хотим, чтобы они отображались в одной текстовой ячейке, разделенные запятой, пробелом или другим разделителем по вашему выбору.
Используем выражение, которое мы рассматривали чуть выше и которая позволяет получить несколько результатов ВПР с условиями в одной строке:
=ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E3=$A$3:$A$30))*(—($F3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТОЛБЕЦ()-6));»»)
Внесем в нее небольшие изменения.
Чтобы обработать сразу несколько результатов, в функцию СТОЛБЕЦ добавим аргумент – диапазон ячеек, в который мы ранее копировали формулу. То есть, вместо СТОЛБЕЦ() у нас теперь будет СТОЛБЕЦ(G3:K3). Это позволит формуле массива получить сразу несколько номеров столбцов.
Затем применим крайне полезную при работе с текстовыми значениями функцию ОБЪЕДИНИТЬ (доступна в Excel 2019 и более поздних версиях). Она позволит нам объединить несколько текстовых значений, отделив их друг от друга выбранным нами разделителем. К примеру, запятой с пробелом после нее.
Вот что у нас получится:
=ОБЪЕДИНИТЬ(«, «; ИСТИНА; ЕСЛИОШИБКА(ИНДЕКС($C$3:$C$30; НАИМЕНЬШИЙ(ЕСЛИ(1=((—($E3=$A$3:$A$30))*(—($F3=$B$3:$B$30))); СТРОКА($C$3:$C$30)-2;»»); СТОЛБЕЦ(G3:K3)-6));»»))
И видим результат ВПР нескольких значений в одной ячейке на этом скриншоте:
Еще один, более простой вариант, чтобы подтянуть несколько значений и вывести результат в одной ячейке:
=ОБЪЕДИНИТЬ(«, «;ИСТИНА;ЕСЛИ(($A$3:$A$30=E3)*($B$3:$B$30=F3)=1;$C$3:$C$30;»»))
Ее также нужно вводить как формулу массива:
Как найти несколько значений без дубликатов
А если так случится, что в результатах поиска будет несколько одинаковых значений? Пример таких данных вы можете видеть на скриншоте ниже. Естественно, выводить в ячейке несколько дубликатов было бы не совсем хорошо.
Если вы хотите получить в одной ячейке результаты поиска нескольких значений без повторов, попробуйте так:
=ОБЪЕДИНИТЬ(«, «; ИСТИНА; ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ($C$3:$C$13; ЕСЛИ(E3=$A$3:$A$13; $C$3:$C$13; «»); 0);»»)=ПОИСКПОЗ(СТРОКА($C$3:$C$13); СТРОКА($C$3:$C$13)); $C$3:$C$13; «»))
Вставьте это выражение в нужную ячейку, не забыв завершить ввод комбинацией Ctrl+Shift+Enter
, так как это формула массива. Затем можете скопировать вниз по столбцу, чтобы получить данные по другим критериям выбора.
Как видите, мы получили в одной ячейке несколько значений, среди которых нет одинаковых, хотя в исходных данных таковые имеются.
Надеюсь, эти примеры будут вам полезны для поиска сразу нескольких значений в Excel. Благодарю вас за чтение.
Если вы знакомы с функцией ВПР (VLOOKUP) или ее горизонтальным аналогом ГПР (HLOOKUP), то должны помнить, что эта замечательные функции ищут информацию только по одному параметру, т.е. в одномерном массиве — по строке или по столбцу. А если нам необходимо выбирать данные из двумерной таблицы по совпадению сразу двух параметров — и по строке и по столбцу одновременно? Давайте рассмотрим несколько жизненных примеров таких задач и их решения.
Пример 1. Найти значение по товару и городу
Предположим, что у нас имеется вот такой двумерный массив данных по городам и товарам:
Пользователь вводит (или выбирает из выпадающих списков) в желтых ячейках нужный товар и город. В зеленой ячейке нам нужно формулой найти и вывести число из таблицы, соответствующее выбранным параметрам. Фактически, мы хотим найти значение ячейки с пересечения определенной строки и столбца в таблице. Для наглядности, разобъем задачу на три этапа.
- Во-первых, нам нужно определить номер строки, соответствующей выбранному пользователем в желтой ячейке товару. Это поможет сделать функция ПОИСКПОЗ (MATCH) из категории Ссылки и массивы (Lookup and Reference). В частности, формула ПОИСКПОЗ(J2; A2:A10; 0) даст нам нужный результат (для Яблока это будет число 6). Первый аргумент этой функции — искомое значение (Яблоко из желтой ячейки J2), второй — диапазон ячеек, где мы ищем товар (столбец с товарами в таблице — A2:A10), третий аргумент задает тип поиска (0 — точное совпадение наименования, приблизительный поиск запрещен).
- Во-вторых, совершенно аналогичным способом мы должны определить порядковый номер столбца в таблице с нужным нам городом. Функция ПОИСКПОЗ(J3; B1:F1; 0) сделает это и выдаст, например, для Киева, выбранного пользователем в желтой ячейке J3 значение 4.
- И, наконец, в-третьих, нам нужна функция, которая умеет выдавать содержимое ячейки из таблицы по номеру строки и столбца — функция ИНДЕКС (INDEX) из той же категории Ссылки и массивы (Lookup and Reference). Первый аргумент этой функции — диапазон ячеек (в нашем случае это вся таблица, т.е. B2:F10), второй — номер строки, третий — номер столбца (а их мы определим с помощью функций ПОИСКПОЗ).
Итого, соединяя все вышеперечисленное в одну формулу, получаем для зеленой ячейки решение:
=ИНДЕКС(B2:F10; ПОИСКПОЗ(J2;A2:A10;0); ПОИСКПОЗ(J3;B1:F1;0))
или в английском варианте
=INDEX(B2:F10;MATCH(J2;A2:A10;0);MATCH(J3;B1:F1;0))
Пример 2. Приблизительный двумерный поиск
Слегка модифицируем предыдущий пример. Предположим, что у нас имеется вот такая ситуация:
Идея в том, что пользователь должен ввести в желтые ячейки высоту и ширину двери для, например, шкафа, которую он хочеть заказать у компании-производителя, а в серой ячейке должна появиться ее стоимость из таблицы. Важный нюанс в том, что если пользователь вводит нестандартные значения размеров, то они должны автоматически округлиться до ближайших имеющихся в таблице и в серой ячейке должна появиться стоимость изготовления двери для этих округленных стандарных размеров.
Решение для серой ячейки будет практически полностью аналогично предыдущему примеру:
=ИНДЕКС(C7:K16; ПОИСКПОЗ(D3;B7:B16;1); ПОИСКПОЗ(G3;C6:K6;1))
=INDEX(C7:K16; MATCH(D3;B7:B16;1); MATCH(G3;C6:K6;1))
Разница только в последнем аргументе обеих функций ПОИСКПОЗ (MATCH) — Типу сопоставления (здесь он равен минус 1). Это некий аналог четвертого аргумента функции ВПР (VLOOKUP) — Интервального просмотра (Range Lookup). Вообще говоря, возможных значений для него три:
- 1 — поиск ближайшего наименьшего числа, т.е. введенные пользователем размеры двери округлялись бы до ближайших наименьших подходящих размеров из таблицы. В нашем случае высота 500 округлилась бы до 450, а ширина 480 до 300, и стоимость двери была бы 135.
- -1 — поиск ближайшего наибольшего числа, т.е. нестандартная высота 500 округлялась бы до 700, а ширина 480 — до 600 и стоимость составила бы уже 462. Для бизнеса так гораздо интереснее!
- 0 — поиск точного соответствия без каких либо округлений. Используется для 100%-го совпадения искомого значения с одним из значений в таблице. Естественно, применяется при поиске текстовых параметров (как в прошлом примере), т.к. для них округление невозможно.
Важно отметить, что при использовании приблизительного поиска с округлением диапазон поиска — а значит и вся таблица — должна быть отсортирована по возрастанию (для Типа сопоставления = 1) или по убыванию (для Типа сопоставления = -1) по строчкам и по столбцам. Иначе приблизительный поиск корректно работать не будет!
Для точного поиска (Тип сопоставления = 0) сортировка не нужна и никакой роли не играет.
P.S. Обратная задача
В комментах неоднократно интересуются — а как сделать обратную операцию, т.е. определить в первом примере город и товар если мы знаем значение из таблицы? Тут потребуются две небольшие формулы массива (не забудьте ввести их с помощью сочетания клавиш Ctrl+Shift+Enter, а не обычного Enter):
Принцип их работы следующий:
- перебираем все ячейки в диапазоне B2:F10 и ищем совпадение с искомым значением (13) из ячейки J4 с помощью функции ЕСЛИ (IF)
- когда нашли совпадение, то определяем номер строки (столбца) первого элемента в таблице в этой строке (столбце) с помощью функций СТОЛБЕЦ (COLUMN) и СТРОКА (ROW)
- выдергиваем значение города или товара из таблицы с помощью функции ИНДЕКС (INDEX)
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для подстановки значений
- Динамическая выборка из списка функциями ИНДЕКС и ПОИСКПОЗ
- Улучшаем функцию ВПР (VLOOKUP2)
- ВПР (VLOOKUP) с учетом регистра
- Многоразовый ВПР для вывода сразу всех значений
В Excel функция «Найти и заменить» широко и удобно используется. Однако функция «Найти и заменить» может искать или находить значение только за один раз. Иногда, если вы хотите найти два значения одновременно, как это сделать? Теперь я расскажу вам, как быстро находить в Excel более одного значения за раз.
Поиск нескольких значений одновременно с Kutools for Excel
Поиск нескольких значений одновременно с Kutools for Excel
Если вы установили Kutools for Excel — полезная и удобная надстройка Excel, вы можете использовать ее Выбрать определенные ячейки функция, позволяющая быстро находить несколько значений одновременно.
1. Выберите диапазон, в котором нужно искать значения, и щелкните Кутулс > Выберите Инструменты > Выбрать определенные ячейки. Смотрите скриншот:
2. в Выбрать определенные ячейки диалог, сделайте следующее:
Проверьте Ячейка вариант в Тип выбора раздел;
Оба выбирают Равно в двух раскрывающихся списках и введите значения, которые вы хотите найти, в каждое текстовое поле в Конкретный тип раздел;
Проверьте Or опцию.
3. Нажмите Ok or Применить , чтобы применить функцию, и появится диалоговое окно, в котором указано количество выбранных ячеек. Смотрите скриншот:
4. Нажмите OK > Ok чтобы закрыть диалоги. Теперь вы можете видеть, что значения, которые вы хотите сразу найти, выбраны.
Ноты:
1. Если вы хотите искать значения на всем листе, вы можете щелкнуть по нему, чтобы выбрать весь лист:
2. Выбрать определенные ячейки Утилита может искать или находить только два разных значения одновременно.
Для получения дополнительной информации о выборе конкретных ячеек…
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (2)
Оценок пока нет. Оцените первым!
Когда нужно найти какие-либо данные в таблице Excel, вы можете использовать несколько функций. Например, функция ВПР или ИНДЕКС вместе с ПОИСКПОЗ.
Эти функции ищут в таблице заданный фрагмент и останавливаются на первом совпадении. Но что если вам нужно найти не только первое совпадение, а все?
Итак, начнём!
В этой статье я продемонстрирую вам, как можно сделать это.
Содержание
- Поиск фрагмента по всей таблице, второе, третье и N-ое совпадение
- С помощью добавления нового столбца
- С помощью массива
Поиск фрагмента по всей таблице, второе, третье и N-ое совпадение
С помощью добавления нового столбца
Допустим, у вас есть следующая табличка:
Например, вам необходимо перечислить все «Training» которые прошел человек, в ячейках после его имени.
Итак, мы можем вызвать функцию ВПР или ИНДЕКС (вместе с ПОИСКПОЗ), но тут есть небольшая проблема — когда функция найдет первое совпадение (например для Джона) она остановится и вернет вам результат.
К примеру, Джон прошел все тренинги, но если мы будем использовать вышеуказанные функции, результатом будет только «Excel». Функция нашла первое совпадение имени Джон, остановилась и передала нам результат. Но как же сделать так, чтобы она не останавливалась на первом совпадении?
Можно добавить столбец и провести нехитрые манипуляции с ним.
Пошаговая инструкция:
- Вставим столбец «Помощник» сразу после имени;
- В первую свободную ячейку пропишем:
=A2&СЧЁТЕСЛИ($A$2:$A2;A2)
- А теперь, в другой столбик пропишем следующую функцию:
=ЕСНД(ВПР($E2&ЧИСЛСТОЛБ($F$1:F1);$B$2:$C$14;2;0);"")
Эта функция, в следующих столбиках, укажет какие тренинги прошел человек, если какой-то тренинг он не прошел — будет просто пустое место.
Что делает эта функция?
Мы используем небольшую хитрость. Функция СЧЁТЕСЛИ делает каждое новое имя человека уникальным. Как она это делает? — очень просто, она добавляет цифру к имени, например, Джон1, Джон2 и так далее.
Получается, что теперь функция ВПР не остановится при первом совпадении, потому что их не будет. Теперь все имена и даже одинаковые — уникальны (из-за цифр в конце имени).
$E2&ЧИСЛСТОЛБ ($F$1:F1) это сам фрагмент, по которому происходит поиск. Функция ЧИСЛСТОЛБ добавляет цифру, ориентируясь на номер строки, к концу имени, а дальше уже происходит поиск по этому фрагменту.
С помощью массива
Если вам, по каким-то причинам, не нравится, или вы не можете использовать способ с добавлением столбика, есть еще один вариант.
Допустим, у нас та же табличка:
Такая функция тоже вернет правильный результат:
=ЕСЛИОШИБКА(ИНДЕКС($B$2:$B$14;НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$14=$D2;СТРОКА($A$2:$A$14)-1;"");ЧИСЛСТОЛБ($E$1:E1)));"")
Чтобы вставить её, вам нужно выделить ячейки, в которые нужно вставить данные (в нашем случае, от E2 до G9).
И еще, важный момент, когда пропишете саму функцию, нажмите CTRL+SHIFT+ENTER, вместо ENTER. Так нужно сделать, потому что мы работаем с массивом данных.
Что делает эта функция?
Итак, давайте разберемся:
$A$2:$A$14=$D2
Этот фрагмент нашей функции сравнивает значения с ячейкой D2.
Результат либо ИСТИНА либо ЛОЖЬ.
Пример результата выполнения:
{ИСТИНА;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ;ЛОЖЬ}
Продолжим и рассмотрим следующий фрагмент:
ЕСЛИ($A$2:$A$14=$D2;СТРОКА($A$2:$A$14)-1;””)
Этот фрагмент нашей функции получает на входе массив данных (ИСТИНА или ЛОЖЬ) и заменяет истину на номер строки из таблички, а ЛОЖЬ на пустое место.
Вот пример выполнения этого фрагмента:
{1;””;””;””;””;””;7;””;””;””;11;””;””}
Далее:
НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$14=$D2;СТРОКА($A$2:$A$14)-1;””);ЧИСЛСТОЛБ($E$1:E1))
А теперь функция НАИМЕНЬШИЙ запишет все наименьшие порядковые числа, первое, второе, третье и так далее. А функция ЧИСЛСТОЛБ присваивает им номера, в соответствии с номером строки.
ИНДЕКС($B$2:$B$14;НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$14=$D2;СТРОКА($A$2:$A$14)-1;””);ЧИСЛСТОЛБ($E$1:E1)))
В итоге функция ИНДЕКС, по порядковым номерам, полученным от функции ЧИСЛСТОЛБ, вернет их значения. То есть в первом совпадении возвращается «Excel» и так далее.
Но если возникнет ошибка, а она обязательно возникнет, потому что, в нашем случае, не все люди прошли по 3 тренинга, функция ЕСЛИОШИБКА заменит все ошибки на пустые места.
Итак, в этом разделе статьи мы использовали функцию массива. Это удобно, потому что её можно копировать без каких-либо проблем. Мое мнение — это лучший способ, может быть он и сложнее, но его можно без проблем масштабировать.
нные варианты найти все совпадения, просто я считаю что это самые практичные. Если у вас есть свои «удобные» способы, пожалуйста, поделитесь ими в комментариях.