Оглавление
Существует несколько способов подачи заявки VLOOKUP или вертикальный поиск в Microsoft Excel для возврата данных на основе нескольких совпадений. В этой статье вы познакомитесь со всеми возможными подходами для активации функции VLOOKUP и извлечь все имеющиеся данные с соответствующими иллюстрациями.
Скачать Практическое пособие
Вы можете скачать рабочую книгу Excel, которую мы использовали для подготовки этой статьи.
VLOOKUP и возврат всех совпадений.xlsx7 способов VLOOKUP и возврата всех совпадений в Excel
Сайт VLOOKUP Функция ищет значение в крайнем левом столбце таблицы и возвращает значение в той же строке из указанного столбца. Но эта функция не может извлекать данные на основе более чем одного совпадения из столбца. Поэтому нам нужно вставить некоторые другие функции и формулы для поиска значения и возврата всех совпадений, найденных в столбце.
1. VLOOKUP и возврат нескольких совпадений в столбце
На следующем рисунке у нас есть таблица, содержащая случайные имена нескольких сотрудников и их отделы. Предположим, что мы хотим показать в одном столбце имена сотрудников, которые работают в отделе "Производство".
Если вы Excel 365 пользователь, то вы можете выбрать ФИЛЬТР функцию здесь, чтобы найти возвращаемые значения через некоторое время. С помощью ФИЛЬТР функция, требуемая формула на выходе Ячейка C16 будет:
=FILTER(C5:C13,C15=B5:B13)
После нажатия Войти вы увидите имена сотрудников из Производство отдел в вертикальном массиве.
Или если вы используете старая версия Microsoft Excel, то необходимо использовать следующую комбинированную формулу:
=INDEX($C$5:$C$13, SMALL(IF(($C$15=$B$5:$B$13), MATCH(ROW($B$5:$B$13), ROW($B$5:$B$13)), ""),ROWS($A$1:A1))))
После нажатия Войти В выводе вы найдете фамилию сотрудника. Ячейка C16 .
С помощью Наполнительная рукоятка с сайта Ячейка C16 в сторону уменьшения, вы сразу получите остальные имена сотрудников из указанного отдела.
🔎 Как работает эта формула?
- ROW($B$5:$B$13): Сайт ROW функция извлекает номера строк определенных ссылок на ячейки и возвращает следующий массив:
{5;6;7;8;9;10;11;12;13}
- MATCH(ROW($B$5:$B$13), ROW($B$5:$B$13)): МАТЧ Функция здесь преобразует извлеченные номера строк, начиная с 1. Таким образом, эта часть формулы возвращает массив из:
{1;2;3;4;5;6;7;8;9}
- IF(($C$15=$B$5:$B$13), MATCH(ROW($B$5:$B$13), ROW($B$5:$B$13)), ""): С помощью ЕСЛИ функция, эта часть формулы возвращает индексный номер строк, удовлетворяющих заданному условию. Таким образом, эта часть возвращает массив из:
{"";2;"";4;"";"";"";"";9}
- Сайт МАЛЕНЬКИЙ функция в формуле извлекает первое маленькое число, найденное на предыдущем шаге, и присваивает это число второму аргументу (номер_ряда) из ИНДЕКС функция.
- Наконец, в ИНДЕКС функция показывает имя сотрудника по указанному номеру строки.
- Сайт РЯДЫ функция в этой формуле определяет k-й номер для МАЛЕНЬКИЙ функция. При использовании Наполнительная рукоятка чтобы заполнить остальные ячейки, используется следующая формула k-й номер для извлечения данных, за которым следует МАЛЕНЬКИЙ функция.
Читать далее: Функция INDEX MATCH в сравнении с функцией VLOOKUP (9 примеров)
2. VLOOKUP и возврат всех совпадений в строке в Excel
Если вы хотите видеть имена сотрудников в горизонтальном положении, то вам нужно объединить команду ФИЛЬТР функция с TRANSPOSE функция. TRANSPOSE Функция преобразует вертикальный диапазон ячеек в горизонтальный или наоборот. А чтобы использовать эту комбинированную формулу, вы должны быть Excel 365 пользователь.
Таким образом, требуемая формула на выходе Ячейка C16 будет:
=TRANSPOSE(FILTER(C5:C13,C15=B5:B13))
Теперь нажмите Войти и вам будут показаны имена сотрудников из отдела "Производство" в горизонтальном массиве.
Или вставьте в вывод следующую формулу Ячейка C16 если вы не являетесь пользователем Excel 365.
=INDEX($C$5:$C$13, SMALL(IF($C$15=$B$5:$B$13, ROW($B$5:$B$13)-MIN(ROW($B$5:$B$13))+1, ""), COLUMNS($A$1:A1)))
Нажмите Войти и вы найдете фамилию сотрудника из указанного отдела.
Теперь используйте Наполнительная рукоятка и перетащите Ячейка C16 вправо, пока не найдете первый #NUM ошибка. И вы получите все имена из Производство отдел по горизонтали.
Формула, вставленная здесь, почти аналогична первой длинной формуле, использованной в предыдущем примере статьи, где извлеченные данные нужно было отобразить вертикально. Единственное существенное отличие заключается в том, что мы используем КОЛУМНЫ функцию здесь, чтобы указать порядковый номер МАЛЕНЬКИЙ В процессе автозаполнения ячеек по горизонтали формула будет следовать за порядковым номером ячейки. МАЛЕНЬКИЙ функция для извлечения данных.
Читать далее: Excel VLOOKUP для возврата нескольких значений по вертикали
3. VLOOKUP для возврата нескольких значений на основе критериев
Мы добавили дополнительный столбец в середине таблицы. В этом столбце хранятся идентификаторы проектов, которые присвоены соответствующим сотрудникам, присутствующим в Колонка D Итак, мы введем два различных условия и извлечем данные на основе всех найденных совпадений.
Например, мы хотим узнать имена сотрудников, которые в настоящее время работают в Продажи отдел по идентификатору проекта ПМР 103 .
Требуемая формула в выводе Ячейка C17 будет:
=IFERROR(INDEX($D$5:$D$13, SMALL(IF(1=((--($C$15=$B$5:$B$13)) * (--($C$16=$C$5:$C$13))), ROW($D$5:$D$13)-4,""), ROW()-16))),"")
Нажмите Войти и вы найдете фамилию сотрудника по заданным критериям.
Теперь заполните Ячейка C17 чтобы показать остальную часть имени с заданными условиями.
🚩 Некоторые важные особенности этой формулы:
- Эта формула также весьма похожа на ту, что использовалась в предыдущем методе.
- В этой формуле IFERROR функция была использована для отображения настроенного вывода в случае обнаружения какой-либо ошибки.
- Сайт ЕСЛИ функция в этой формуле объединяет два различных критерия и с помощью двойного унарного, булевы значения (TRUE или FALSE) превращаться в 1 или 0 Функция возвращает индексный номер строк, которые соответствуют заданным критериям.
- ROW($D$5:$D$13)-4: В этой части число '4' это номер строки заголовка "Сотрудник".
- ROW()-16: А числовое значение '16' используемый в этой части, означает номер предыдущей строки первой выходной ячейки.
Читать далее: Использование VLOOKUP с несколькими критериями в Excel (6 методов + альтернативы)
4. VLOOKUP и вывод всех совпадений с помощью автофильтра
С помощью Автофильтр Так как мы собираемся извлечь имена сотрудников из отдела производства, мы должны выполнить следующие шаги:
📌 Шаг 1:
➤ Выделите всю таблицу данных и щелкните правой кнопкой мыши.
➤ Выберите 'Фильтр по значению выбранной ячейки' опция из Фильтр варианты.
Итак, вы только что активировали Фильтр кнопки для ваших заголовков.
📌 Шаг 2:
➤ Нажмите на Фильтр кнопка из Департамент заголовок.
➤ Поставьте отметку на Производство только опция.
➤ Нажмите OK и все готово.
Как на скриншоте ниже, вам будут показаны результирующие и отфильтрованные данные.
Читать далее: VLOOKUP с несколькими совпадениями в Excel
Похожие чтения
- Как применять двойной VLOOKUP в Excel (4 быстрых способа)
- VLOOKUP не работает (8 причин и решений)
- Как объединить в Excel SUMIF & VLOOKUP на нескольких листах
- VLOOKUP для возврата нескольких столбцов в Excel (4 примера)
- Как использовать VLOOKUP с несколькими условиями в Excel (2 метода)
5. VLOOKUP для извлечения всех совпадений с расширенным фильтром в Excel
Вы также можете использовать Расширенный фильтр где необходимо определить критерии, выбрав диапазон критериев из таблицы Excel. На следующем рисунке, B15:B16 это диапазон критериев.
📌 Шаг 1:
➤ Выберите всю таблицу данных.
➤ Под Данные ленту, нажмите на Расширенный команда из Сортировка и фильтр выпадающий.
Появится диалоговое окно с именем Расширенный фильтр откроется.
📌 Шаг 2:
➤ Выберите всю таблицу данных для Диапазон списка вход.
➤ Выбирайте B15:B16 для входа в Диапазон критериев .
➤ Нажмите OK .
И вам будет показан отфильтрованный результат с именами сотрудников из списка Производство только на кафедре.
Читать далее: VLOOKUP с несколькими критериями в Excel (6 примеров)
6. VLOOKUP и возврат всех значений путем форматирования в виде таблицы
Теперь мы покажем вам еще один простой метод фильтрации таблицы данных путем преобразования ее в форматированную таблицу.
📌 Шаг 1:
➤ Выберите сначала основную таблицу данных.
➤ Из Формат в виде таблицы в раскрывающемся списке под Главная вкладке, выберите любую из таблиц, которая вам больше нравится.
После первого шага ваша таблица данных будет выглядеть так, как показано на следующем снимке экрана, с отфильтрованными заголовками.
📌 Шаг 2:
➤ Выберите Производство после нажатия на кнопку фильтра из Департамент заголовок.
➤ Нажмите OK и все готово.
На скриншоте ниже показан вывод результатов на основе указанного выбора.
Читать далее: Использование VBA VLOOKUP для поиска значений из другого рабочего листа в Excel
7. VLOOKUP для извлечения всех совпадений в одну ячейку в Excel
Сайт TEXTJOIN Функция конкатенирует список или диапазон текстовых строк с использованием разделителя. Включая функцию TEXTJOIN и ЕСЛИ функции вместе, мы можем искать значение и извлекать данные на основе всех совпадений в одну ячейку.
Требуемая формула в выводе Ячейка C16 будет:
=TEXTJOIN(", ",TRUE,IF($B$5:$B$13=$C$15,$C$5:$C$13,""))
После нажатия Войти вы найдете имена сотрудников из Производство отдел в одной ячейке, разделенные запятыми.
В этой формуле ЕСЛИ Функция возвращает массив с совпавшими именами, а также булево значение 'FALSE' для не совпавших ячеек. TEXTJOIN Затем функция объединяет все найденные имена с указанным разделителем.
Читать далее: VLOOKUP Частичный текст из одной ячейки в Excel
Заключительные слова
Я надеюсь, что все эти методы, упомянутые выше, теперь помогут вам при необходимости применять их в своих таблицах Excel. Если у вас есть какие-либо вопросы или отзывы, пожалуйста, дайте мне знать в разделе комментариев. Или вы можете ознакомиться с другими нашими статьями, связанными с функциями Excel, на этом сайте.