VLOOKUP и возврат всех совпадений в Excel (7 способов)

  • Поделись Этим
Hugh West

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

Скачать Практическое пособие

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

VLOOKUP и возврат всех совпадений.xlsx

7 способов 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, на этом сайте.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.