Съдържание
Има няколко начина за кандидатстване 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 в посока надолу, ще получите наведнъж останалите имена на служителите от посочения отдел.
🔎 Как работи тази формула?
- РЕД($B$5:$B$13): Сайтът РЕД функцията извлича номерата на редовете на дефинираните препратки към клетките и връща следния масив:
{5;6;7;8;9;10;11;12;13}
- MATCH(ROW($B$5:$B$13), ROW($B$5:$B$13)): MATCH Функцията тук преобразува извлечените номера на редове, започвайки от 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)), ""): С помощта на IF тази част от формулата връща номера на индекса на редовете, които отговарят на зададеното условие. Така че тази част връща масив от:
{"";2;"";4;"";"";"";"";9}
- Сайтът МАЛЪК функцията във формулата извлича първото малко число, намерено в предишната стъпка, и го присвоява на втория аргумент (row_number) на INDEX функция.
- И накрая. INDEX показва името на служителя въз основа на посочения номер на реда.
- Сайтът РЕДОВЕ функцията в тази формула дефинира 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 . Така че сега ще въведем две различни условия и ще извлечем данни въз основа на всички намерени съвпадения.
Например, искаме да знаем имената на служителите, които в момента работят в Продажби отдел на проекта ID на DMR 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 функцията е използвана за показване на персонализиран изход, ако бъде открита някаква грешка.
- Сайтът IF функцията в тази формула комбинира два различни критерия и с помощта на двоен едночлен, булевите стойности (TRUE или FALSE) да се превърне в 1 или 0 След това функцията връща номера на индекса на редовете, които отговарят на зададените критерии.
- РЕД($D$5:$D$13)-4: В тази част броят на '4' е номерът на реда в заглавието на служителя.
- ROW()-16: И цифровата стойност '16' използвана в тази част, означава номера на предишния ред на първата изходна клетка.
Прочетете още: Използване на VLOOKUP с множество критерии в Excel (6 метода + алтернативи)
4. VLOOKUP и изтегляне на всички съвпадения с автоматичен филтър
Като използвате AutoFilter , можем по-лесно да извлечем данни въз основа на всички съвпадения. Тъй като ще извлечем имената на служителите от отдел Производство, трябва да извършим следните стъпки:
📌 Стъпка 1:
➤ Изберете цялата таблица с данни и щракнете с десния бутон на мишката.
➤ Изберете 'Филтриране по стойността на избраната клетка' опция от Филтър опции.
Току-що активирахте Филтър бутони за заглавията.
📌 Стъпка 2:
➤ Щракнете върху Филтър бутон от Отдел заглавие.
➤ Поставете знак върху Производство само опция.
➤ Преса ОК и сте готови.
Както е показано на снимката по-долу, ще се покажат резултатните и филтрираните данни.
Прочетете още: 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 и IF можем да потърсим дадена стойност и да извлечем данни въз основа на всички съвпадения в една клетка.
Необходимата формула в изхода Клетка C16 ще бъде:
=TEXTJOIN(", ",TRUE,IF($B$5:$B$13=$C$15,$C$5:$C$13,""))
След натискане на Въведете , ще намерите имената на служителите от Производство отдел в една клетка, разделени със запетаи.
В тази формула IF връща масива със съвпадащите имена, както и булевата стойност "FALSE" за несъвпадащите клетки. TEXTJOIN След това функцията обединява всички намерени имена с посочения разделител.
Прочетете още: VLOOKUP Частичен текст от една клетка в Excel
Заключителни думи
Надявам се, че всички тези методи, споменати по-горе, сега ще ви помогнат да ги прилагате във вашите електронни таблици на Excel, когато е необходимо. Ако имате въпроси или обратна връзка, моля, уведомете ме в раздела за коментари. Или можете да разгледате други наши статии, свързани с функциите на Excel на този уебсайт.