Оглавление
В Microsoft Excel есть несколько вариантов, чтобы VLOOKUP и возврат нескольких значений горизонтально. Хотя VLOOKUP сама функция не способна возвращать несколько значений по горизонтали, с альтернативными вариантами вы познакомитесь в этой статье с соответствующими иллюстрациями.
Скачать Практическое пособие
Вы можете скачать рабочую книгу Excel, которую мы использовали для подготовки этой статьи.
VLOOKUP для возврата нескольких значений по горизонтали.xlsx2 метода VLOOKUP и возврата нескольких значений по горизонтали
Сайт VLOOKUP функция ищет значение в крайнем левом столбце таблицы, а затем возвращает значение в той же строке из указанного столбца. С помощью функции VLOOKUP нельзя извлечь сразу несколько значений. Если вы перетащите вниз ячейку вывода, чтобы получить следующие результаты, вы получите дублирующиеся значения для некоторых данных. И, в конце концов, вы не сможете отобразить извлеченные данные горизонтально с помощью всего лишьсайт VLOOKUP функция Таким образом, есть две альтернативы, которые мы можем применить в таблице Excel для наших целей.
1. Использование функций INDEX, SMALL и IF для VLOOKUP и возврата соответствующих значений по горизонтали
На следующем рисунке в таблице представлен ряд моделей смартфонов с названиями их брендов. Поскольку они расположены в произвольном порядке, мы извлечем названия моделей определенного бренда и покажем их горизонтально в ряд.
Например, мы хотим отобразить названия моделей смартфонов марки Samsung в Ряд 16 .
📌 Шаг 1:
➤ Необходимая формула в Ячейка C16 будет:
=INDEX($C$5:$C$14, SMALL(IF($B$16=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1), COLUMN(A1)))
➤ После нажатия Войти , вы получите первое название модели Samsung из таблицы.
📌 Шаг 2:
➤ Теперь используйте Наполнительная рукоятка с сайта Ячейка C16 и перетащите его вправо вдоль Ряд 16 до #NUM появляется ошибка.
➤ Пропустите первый #NUM ошибку и остановить автозаполнение перед ячейкой, содержащей ошибку.
И вам будут показаны по горизонтали все названия моделей смартфонов Samsung, которые имеются в данной таблице.
🔎 Как работает формула?
- ROW($B$5:$B$14)-ROW($B$5)+1: Эта часть присваивается второму аргументу ([значение_если_истина]) из ЕСЛИ Функция определяет номер строки всех данных, имеющихся в диапазоне ячеек B5:B14 и возвращает следующий массив:
{1;2;3;4;5;6;7;8;9;10}
- IF($B$16=$B$5:$B$14, ROW($B$5:$B$14)-ROW($B$5)+1): Эта часть формулы соответствует критериям только для устройств Samsung. Если совпадение найдено, формула вернет номер перспективной строки, в противном случае она вернет FALSE Таким образом, общий массив возврата по этой формуле составит:
{1;FALSE;3;FALSE;5;6;FALSE;FALSE;FALSE;9;FALSE}
- SMALL(IF($B$16=$B$5:$B$14, ROW($B$5:$B$14)-ROW($B$5)+1), COLUMN(A1)): SMALL функция здесь извлекает наименьший или наименьший номер строки, найденный на предыдущем шаге, и он будет определен как второй аргумент (row_num) из ИНДЕКС функция.
- Наконец, полная и комбинированная формула извлекает первое название модели устройств Samsung из Колонка C .
Читать далее: Использование VLOOKUP с несколькими критериями в Excel (6 методов + альтернативы)
Похожие чтения
- VLOOKUP не работает (8 причин и решений)
- Почему VLOOKUP возвращает #N/A, когда совпадение существует? (5 причин и решений)
- Excel VLOOKUP для возврата нескольких значений по вертикали
- Excel VLOOKUP для возврата нескольких значений в одной ячейке, разделенных запятой
2. VLOOKUP и возврат нескольких значений по горизонтали из последовательности данных в Excel
Теперь рассмотрим другой сценарий. В следующей таблице, Колонка B как и раньше, мы извлечем названия моделей одного конкретного бренда, но с помощью другой формулы. Эта формула будет работать только для последовательного диапазона данных. Если названия брендов расположены в случайном порядке, как показано в предыдущем разделе, то эта формула не будет работать должным образом.
Например, мы извлечем названия моделей только смартфонов Xiaomi и покажем их горизонтально в Ряд 16 .
📌 Шаг 1:
➤ На выходе Ячейка C16 , то искомая формула будет:
=IF(COLUMN()-2<=COUNTIF($B$5:$B$14,$B16), INDEX($C$5:$C$14,MATCH($B16,$B$5:$B$14,0)+COLUMN()-3),"")
➤ Нажмите Войти и вам сразу же будет показано название первой модели смартфона Xiaomi.
📌 Шаг 2:
➤ Теперь используйте Наполнительная рукоятка для автозаполнения вправо вдоль Ряд 16 пока не появится пустая ячейка.
И вам будут показаны все названия моделей только выбранного бренда, как на скриншоте ниже.
🔎 Как работает формула?
- MATCH($B16,$B$5:$B$14,0): Сайт МАТЧ функция внутри ИНДЕКС функция возвращает номер первой строки ячейки, содержащей имя - Xiaomi.
- MATCH($B16,$B$5:$B$14,0)+COLUMN()-3: Эта часть является вторым аргументом ИНДЕКС функция, определяющая номер строки, в которой будут искаться первые результирующие данные.
- INDEX($C$5:$C$14, MATCH($B16,$B$5:$B$14,0)+COLUMN()-3): Эта часть является вторым аргументом функции IF ([value_if_TRUE]) который извлекает первые выходные данные на основе номера строки, найденного на предыдущем шаге.
- Если совпадение не найдено, то ЕСЛИ функция вернет пустую ячейку.
💭 Примечание: Чтобы правильно вернуть данные с помощью этой формулы, вы должны инициировать таблицу из Колонка B где Колонка B будет представлять критерии и Колонка C будут выходные данные. Вы также должны определить выбранные критерии в колонке B под или над таблицей, как я показал в Клетка B16 .
Читать далее: Функция INDEX MATCH в сравнении с функцией VLOOKUP (9 примеров)
Заключительные слова
Надеюсь, эти два вышеупомянутых метода помогут вам теперь применить их в вашей таблице Excel, извлекая данные из таблицы и отображая их горизонтально в строке. Если у вас есть какие-либо вопросы или отзывы, пожалуйста, дайте мне знать в разделе комментариев. Или вы можете ознакомиться с другими нашими статьями, связанными с функциями Excel на этом сайте.