Как да търсите с множество съвпадения в Excel (с лесни стъпки)

  • Споделя Това
Hugh West

Една от най-удивителните и широко използвани функции на Excel е Функция VLOOKUP Досега се научихме да извличаме едно съвпадение от диапазон от клетки с помощта на тази функция. Често може да се сблъскате със сценарии, в които трябва да получите всички съвпадащи стойности за уникален идентификатор. В тази статия ще покажем как можете да извличате множество съвпадения от диапазон от клетки с помощта на функцията Функция VLOOKUP в Excel.

Изтегляне на работна тетрадка за практика

Можете да изтеглите следната работна книга на Excel, за да я разберете по-добре и да се упражните.

Извършване на Vlookup с множество съвпадения.xlsx

2 стъпки за Vlookup с множество съвпадения в Excel

Тук имаме Записи на книги от книжарница Martin Този набор от данни съдържа Тип книга , Име на книгата , и Автор на някои книги в колони B , C , и D съответно.

Днес целта ни е да открием всички съвпадения на всеки тип книга с помощта на Функция VLOOKUP . Ще изпълним това в две стъпки. Затова нека ги разгледаме една по една.

Тук сме използвали Microsoft Excel 365 версия, можете да използвате всяка друга версия според вашето удобство.

📌 Стъпка 01: Създаване на уникално име за всяка стойност за търсене

  • В самото начало вмъкнете нова колона със заглавие Помощна колона наляво към колоната за търсене Тип книга и въведете тази формула в клетка B5 .
=C5&COUNTIF(C5:$C$25,C5) Разбивка на формулата
  • COUNTIF(C5:$C$25,C5) връща общия брой клетки в диапазона C5:C25 ( Тип книга ), които съдържат стойността в клетката C5 ( Роман ). Вижте Функция COUNTIF за подробности.
    • С прости думи, колко романа има. Това е 7 .
  • C5&COUNTIF(C5:$C$25,C5) конкатенира стойността в клетката C5 ( Роман ) с него.
    • Така се връща Novel7 .

При плъзгане на Дръжка за пълнене инструмент, C5 нараства едно по едно, както C5 , C6 , C7 ... но C25 остава постоянен. Следователно за всеки Тип книга , по-ранните се изключват и се генерира ново име.

Например в случая с романите, Роман1 към Novel7 и подобно за Поезия и други видове книги.

  • След това натиснете ВЪВЕДЕТЕ .

  • След това преместете курсора в долния десен ъгъл на клетката B5 и това ще изглежда като плюс (+) знак. Всъщност това е Дръжка за пълнене инструмент.
  • Сега щракнете два пъти върху него.

Тя копира тази формула в останалите клетки. Всички стойности за търсене са снабдени с уникално име, като например Роман1 , Novel2..., Поезия1 , Поезия2... , и т.н.

📌 Стъпка 02: Използване на функцията VLOOKUP

  • Първо, създайте нова колона с Заглавие на колоната като стойност за търсене.

  • Второ, въведете следната формула в клетката G5 която е първата клетка на тази колона.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) Разбивка на формулата
  • COUNTIF($C$5:$C$25,G$4) показва колко клетки в диапазона C5:C25 ( Тип книга ) съдържа стойността в клетката G4 ( Роман ).
    • С прости думи, колко романа има общо. Това е 7 .

Използвахме абсолютната референция на клетката от обхвата C5:C25 ( $C$5:$C$25 ), защото искаме тя да остане непроменена, ако копираме формулата в някоя клетка.

  • INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) става INDIRECT("A"&7) и връща референцията на клетката A7 . Вижте Функция INDIRECT за подробности.
  • ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) сега става РЕД(A1:A7) .Вижте Функция ROW за подробности.
    • Той връща масив от 1 към 7 като {1, 2, 3, 4, 5, 6, 7} .

Използвахме $A$1 защото не искаме тя да се промени, ако копираме формулата в друга клетка.

  • G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) сега конкатенира стойността в клетката G4 ( Роман ) с масива, върнат от Функция ROW и връща друг масив.
    • Така се връща {Novel1, Novel2, ..., Novel7} .
  • VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) става VLOOKUP({Novel1, Novel2, ..., Novel7},$B$5:$E$25,3,FALSE) .

Търси се всяка стойност от масива {Novel1, Novel2, ... Novel7} в колоната за търсене B .

След това връща съответното име на романа от 3. колона (като col_index_num е 3 ). По този начин получаваме списък на всички романи.

  • Както обикновено, натиснете бутона ВЪВЕДЕТЕ ключ.

Забележка: Това е формула за масив. Затова не забравяйте да натиснете Ctrl + Shift + Enter освен ако не сте в Excel 365 .

И за другите Видове книги ,

  • Първоначално поставете имената им едно до друго като Заглавия на колони и плъзнете Дръжка за пълнене .

Прочетете още: INDIRECT VLOOKUP в Excel

Подобни четива

  • VLOOKUP не работи (8 причини & решения)
  • Excel LOOKUP срещу VLOOKUP: с 3 примера
  • Защо VLOOKUP връща #N/A, когато има съвпадение? (5 причини и решения)
  • Използване на VLOOKUP с множество критерии в Excel (6 метода + алтернативи)
  • Excel VLOOKUP за намиране на последната стойност в колона (с алтернативи)

Алтернативни начини за Vlookup с множество съвпадения в Excel

Ако предишният метод ви се струва опасен, не се притеснявайте. Има и други възможности.

1. Използване на функцията FILTER

Това наистина е най-простият метод. Тук ще използваме само Функция FILTER . Следвайте тези прости стъпки.

📌 Стъпки:

  • Първо, запишете Тип книга като Заглавие на колоната и въведете следната формула в клетка F5 .
=ФИЛТЪР($C$5:$C$25,$B$5:$B$25=F$4) Разбивка на формулата

Тук,

  • $C$5:$C$25 ( Име на книгата ) е lookup_array . Търсим имената на книгите. Вие използвайте вашето.
  • $B$5:$B$25 ( Тип книга ) е matching_array . Искаме да съпоставим видовете книги. Използвайте своята съответно.
  • F4 ( Роман ) е matching_value . Искаме да съответстваме на романите. Използвайте го по подходящ начин.
  • След това натиснете ВЪВЕДЕТЕ .

Сега, ако искате Имена на книги на всички Видове книги ,

  • Първоначално въведете имената им като Заглавия на колони един до друг, след което плъзнете Дръжка за пълнене инструмент.

2. прилагане на комбинация от функциите INDEX, SMALL и ROWS (съвместимо с по-стари версии на Excel)

Сайтът Функция FILTER се предлага само в Office 365 . Така че, ако използвате по-стара версия на Excel, не се притеснявайте. Имаме друг начин за заобикаляне на проблема. Той е прост и лесен; просто следвайте примера.

📌 Стъпки:

  • Преди всичко вмъкнете Тип книга като Заглавие на колоната в клетка F4 и въведете тази формула в клетка F5 .
=IFERROR(INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))))),"") Разбивка на формулата
  • РЕД(B5:B25) връща масив от {5, 6, 7, ..., 25} . и РЕДОВЕ(B1:B4) връща 4 . РЕД(B5:B25)-РЕДОВЕ(B1:B4) връща масив от {1, 2, 3, ..., 21} . Вижте РЕД и РЕДОВЕ функция за подробности.
  • IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),"") връща съответното число от масива {1, 2, 3, ..., 21} стойността в клетката F4 ( Роман ) съвпада със стойността във всяка клетка от обхвата B5:B25 ( Тип книга ). В противен случай се връща празна клетка. Функция IF за подробности.

  • SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))) става SMALL({1, ..., 3, ..., 6, ..., 20, ...},{1, 2, 3, 4, ...., 21}) и връща първо числата, а след това #NUM! грешки в празните клетки. Функция SMALL за подробности.

  • INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))))) става INDEX($C$5:$C$25,{1,3,6,11,...,#NUM!}) и връща съответното Имена на книги (име на романите) и #NUM! грешки. Вижте Функция INDEX за подробности.

  • Накрая обвихме формулата в Функция IFERROR за да превърнете грешките в празни клетки.
  • След това натиснете ВЪВЕДЕТЕ .

  • Сега, ако искате, вмъкнете другия Видове книги като Заглавия на колони и плъзнете Дръжка за пълнене . Ще получите книгите от другите видове книги.

3. Vlookup с множество съвпадения и връщане на резултатите в един ред

В предишните методи получихме резултатите във вертикални колони. Но ако искаме да получим стойностите в един ред, как да го направим? Тук ще получим Автор имена за различни Видове книги следвайте внимателно стъпките по-долу.

📌 Стъпки:

  • Първоначално отидете в клетка G5 и запишете формулата по-долу.
=IFERROR(INDEX($D$5:$D$19,SMALL(IF($F5=$B$5:$B$19,ROW($D$5:$D$19)-4,""),COLUMN()-6)),"")

Тази формула е подобна на предишната. Ако имате проблеми с разбирането на тази формула, моля, вижте предишно обяснение .

  • След това докоснете ВЪВЕДЕТЕ ключ.

Но има и други автори, чиито романи са включени в този набор от данни. Как да ги получим?

Просто плъзнете Дръжка за пълнене до клетката K5 за да получите другия Автори на Роман . Освен това плъзнете Дръжка за пълнене инструмент към клетка K7 за да получите имената на Автори за различни видове книги. Вижте изображението по-долу за пояснение.

Как да прегледате множество съвпадения с няколко критерия

В предишните ни примери намерихме стойностите за единични критерии. Например получихме заглавията на книгите за определен тип книга. Но тук ще подразбираме няколко критерия. Ще потърсим Романи на Чарлз Дикенс Използвайте този метод. Нека го видим в действие.

📌 Стъпки:

  • Първо и преди всичко изберете клетка H5 и поставете следната формула.
=IFERROR(INDEX($C$5:$C$25,SMALL(IF(1=((--($F$5=$B$5:$B$25))*(--($G$5=$D$5:$D$25))),ROW($C$5:$C$25)-4,""),ROW()-4)),"")
  • След това натиснете ВЪВЕДЕТЕ .

Как да търсите и връщате няколко съвпадения в една клетка

В предишните подходи получавахме стойностите в различни клетки. Но ще покажем как можем да получим резултатите в една клетка. И така, без повече забавяне, нека се потопим!

📌 Стъпки:

  • Първоначално отидете в клетка G5 и въведете формулата по-долу.
=TEXTJOIN(", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,""))

Тук Функция IF получава стойността от диапазона C5:C25 където съответните стойности в диапазона B5:B25 съвпада със стойността в клетката F5 . Тогава Функция TEXTJOIN комбинира стойностите на масива със запетая като разделител.

  • Вторично натиснете ВЪВЕДЕТЕ .

Прочетете още: Функцията INDEX MATCH срещу VLOOKUP (9 примера)

Заключение

В тази статия е обяснено как да направите vlookup с множество съвпадения в Excel по прост и кратък начин. Не забравяйте да изтеглите файла с практиката. Благодарим ви, че прочетохте тази статия. Надяваме се, че е била полезна. Моля, уведомете ни в раздела за коментари, ако имате някакви запитвания или предложения. Моля, посетете нашия уебсайт, ExcelWIKI , доставчик на решения за Excel на едно гише, за да научите повече.

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.