Spis treści
Jedną z najbardziej niesamowitych i szeroko stosowanych funkcji Excela jest. Funkcja VLOOKUP Do tej pory nauczyliśmy się wyciągać pojedyncze dopasowanie z zakresu komórek za pomocą tej funkcji. Często można spotkać się ze scenariuszami, w których trzeba uzyskać wszystkie pasujące wartości dla unikalnego identyfikatora. W tym artykule zademonstrujemy, jak można wyciągnąć wiele dopasowań z zakresu komórek za pomocą funkcji Funkcja VLOOKUP w Excelu.
Pobierz Zeszyt ćwiczeń
Możesz pobrać następujący skoroszyt Excela, aby lepiej zrozumieć i samemu poćwiczyć.
Wykonywanie Vlookup z wieloma dopasowaniami.xlsx2 Kroki do Vlookup z wieloma dopasowaniami w Excelu
Tutaj mamy Rekordy książkowe księgarni Martin Ten zbiór danych zawiera Typ książki , Nazwa książki oraz Autor niektórych książek w kolumnach B , C oraz D odpowiednio.
Dzisiaj naszym celem jest wyciągnięcie wszystkich zapałek z każdego rodzaju książki przy użyciu Funkcja VLOOKUP . Wykonamy to w dwóch krokach, więc zbadajmy je po kolei.
Tutaj użyliśmy Microsoft Excel 365 wersja, możesz użyć każdej innej wersji zgodnie z Twoją wygodą.
📌 Krok 01: Utwórz unikalną nazwę dla każdej wartości wyszukiwania
- Na samym początku wstawiamy nową kolumnę z nagłówkiem Kolumna pomocników po lewej stronie do kolumny lookup Typ książki i wprowadź tę formułę w komórce B5 .
=C5&COUNTIF(C5:$25,C5)
Podział formuły - COUNTIF(C5:$C$25,C5) zwraca całkowitą liczbę komórek w zakresie C5:C25 ( Typ książki ), które zawierają wartość w komórce C5 ( Powieść ).Zob. Funkcja COUNTIF dla szczegółów.
- Najprościej rzecz ujmując, ile jest powieści.Jest to 7 .
- C5&COUNTIF(C5:$C$25,C5) konkatenuje wartość w komórce C5 ( Powieść ) z nim.
- Więc zwraca Nowela7 .
Podczas przeciągania Uchwyt do napełniania narzędzie, C5 przyrasta jeden po drugim, jak C5 , C6 , C7 ... ale C25 pozostaje stały, dlatego dla każdego Typ książki , wcześniejsze zostają wykluczone i generowana jest nowa nazwa.
Na przykład w przypadku powieści, Powieść1 do Nowela7 są generowane, i podobnie dla Poezja i inne rodzaje książek.
- Następnie naciśnij ENTER .
- Następnie należy ustawić kursor w prawym dolnym rogu komórki B5 i będzie to wyglądało na plus. (+) Znak. Właściwie, to jest Uchwyt do napełniania narzędzie.
- Teraz kliknij na nią dwukrotnie.
Formuła ta zostanie skopiowana do pozostałych komórek. Wszystkie wartości lookup posiadają unikalną nazwę, np. Powieść1 , Novel2.., Poezja1 , Poezja2... , itp.
📌 Krok 02: Użyj funkcji VLOOKUP
- Po pierwsze, utwórz nową kolumnę z Nagłówek kolumny jako wartość podglądu.
- Po drugie, w komórce wstaw następującą formułę G5 która jest pierwszą komórką tej kolumny.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE)
Podział formuły - COUNTIF($C$5:$C$25,G$4) mówi, ile komórek w zakresie C5:C25 ( Typ książki ) zawierają wartość w komórce G4 ( Powieść ).
- Najprościej mówiąc, ile jest w sumie powieści.Jest to 7 .
Użyliśmy bezwzględnego odwołania do komórki zakresu C5:C25 ( $C$5:$C$25 ), ponieważ chcemy, aby pozostała ona niezmieniona, jeśli skopiujemy formułę do dowolnej komórki.
- INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) staje się INDIRECT("A"&7) i zwraca referencję do komórki A7 . See the Funkcja INDIRECT dla szczegółów.
- ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))) staje się teraz ROW(A1:A7) .Zob. Funkcja ROW dla szczegółów.
- Zwraca on tablicę z 1 do 7 jak {1, 2, 3, 4, 5, 6, 7} .
Użyliśmy $A$1 ponieważ nie chcemy, aby zmieniła się ona, jeśli skopiujemy formułę do innej komórki.
- G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))) teraz konkatenuje wartość w komórce G4 ( Powieść ) z tablicą zwróconą przez Funkcja ROW i zwraca inną tablicę.
- Więc zwraca {Nowela1, Nowela2, ..., Nowela7} .
- VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) staje się VLOOKUP({Nowela1, Nowela2, ..., Nowela7},$B$5:$E$25,3,FALSE) .
Wyszukuje każdą wartość tablicy {Nowela1, Nowela2, ... Nowela7} w kolumnie "lookup B .
Następnie zwraca odpowiednią nazwę powieści z 3. kolumna (jako col_index_num jest 3 ).W ten sposób otrzymujemy listę wszystkich powieści.
- Jak zwykle, naciśnij przycisk ENTER klucz.
Uwaga: To formuła tablicowa, więc nie zapomnij nacisnąć Ctrl + Shift + Enter chyba że jesteś w Excelu 365 .
A dla pozostałych Rodzaje książek ,
- Na początku wstaw ich nazwiska obok siebie jako Nagłówki kolumn i przeciągnąć Uchwyt do napełniania .
Read More: INDIRECT VLOOKUP w Excelu
Podobne lektury
- VLOOKUP nie działa (8 powodów & rozwiązania)
- Excel LOOKUP vs VLOOKUP: z 3 przykładami
- Dlaczego VLOOKUP zwraca #N/A kiedy istnieje dopasowanie (5 przyczyn & rozwiązania)
- Użyj VLOOKUP z wieloma kryteriami w programie Excel (6 metod + alternatywy)
- Excel VLOOKUP, aby znaleźć ostatnią wartość w kolumnie (z alternatywami)
Alternatywne sposoby na Vlookup z wieloma dopasowaniami w Excelu
Jeśli poprzednia metoda wydaje się niebezpieczna, nie martw się, jest więcej dostępnych opcji.
1) Używanie funkcji FILTRU
Jest to rzeczywiście najprostsza metoda. W tym przypadku użyjemy tylko Funkcja FILTRU Wykonaj te proste kroki.
📌 Kroki:
- Po pierwsze, zapisz Typ książki jako Nagłówek kolumny i wprowadź następującą formułę w komórce F5 .
=FILTER($C$5:$C$25,$B$5:$B$25=F$4)
Podział formuły Tutaj,
- $C$5:$C$25 ( Nazwa książki ) to. lookup_array Szukamy nazw książek. Ty użyj swojej.
- $B$5:$B$25 ( Typ książki ) to. matching_array . Chcemy dopasować typy książek. Ty użyj swojej odpowiednio.
- F4 ( Powieść ) to. dopasowanie_wartości . Chcemy dopasować się do powieści. Używasz go odpowiednio.
- Następnie naciśnij ENTER .
Teraz, jeśli chcesz, aby Nazwy książek wszystkich Rodzaje książek ,
- Na początku należy wstawić ich nazwy jako Nagłówki kolumn obok siebie, a następnie przeciągnij Uchwyt do napełniania narzędzie.
2. stosowanie kombinacji funkcji INDEX, SMALL i ROWS (kompatybilne ze starszymi wersjami programu Excel)
Na stronie Funkcja FILTRU jest dostępny tylko w Office 365 . Tak więc, jeśli używasz starszej wersji programu Excel, nie martw się, mamy dla ciebie inne obejście, które jest proste i łatwe; po prostu podążaj za nim.
📌 Kroki:
- Przede wszystkim wstawić Typ książki jako Nagłówek kolumny w komórce F4 i wprowadź tę formułę w komórce 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))))),"")
Podział formuły - ROW(B5:B25) zwraca tablicę {5, 6, 7, ..., 25} . ROWS(B1:B4) zwraca 4 . Więc ROW(B5:B25)-ROWS(B1:B4) zwraca tablicę {1, 2, 3, ..., 21} . See the ROW oraz ROWS funkcja dla szczegółów.
- IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),"") zwraca odpowiednią liczbę z tablicy {1, 2, 3, ..., 21} wartość w komórce F4 ( Powieść ) odpowiada wartości w dowolnej komórce zakresu B5:B25 ( Typ książki ). W przeciwnym razie zwraca pustą komórkę. zob. Funkcja IF dla szczegółów.
- SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))) staje się SMALL({1, ..., 3, ..., 6, ..., 20, ...},{1, 2, 3, 4, ...., 21}) i zwraca najpierw liczby, a następnie #NUM! błędy w pustych komórkach. Zobacz. Funkcja SMALL dla szczegółów.
- INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))))) staje się INDEX($C$5:$C$25,{1,3,6,11,...,#NUM!}) i zwraca odpowiednią Nazwy książek (Nazwa powieści) oraz #NUM! błędy, patrz. Funkcja INDEX dla szczegółów.
- Na koniec zawinęliśmy formułę do środka Funkcja IFERROR aby zamienić błędy na puste komórki.
- Następnie należy nacisnąć ENTER .
- Teraz, jeśli chcesz, wstaw drugi Rodzaje książek jako Nagłówki kolumn i przeciągnąć Uchwyt do napełniania . dostaniesz książki innych typów.
3) Vlookup z wieloma dopasowaniami i zwracaniem wyników w wierszu
W poprzednich metodach otrzymaliśmy wyniki w pionowych kolumnach. Ale jeśli chcemy uzyskać wartości w wierszu, jak możemy to zrobić? Tutaj otrzymamy m.in. Autor nazwy dla różnych Rodzaje książek w rzędzie. Wystarczy uważnie wykonać poniższe kroki.
📌 Kroki:
- Na początku przejdź do komórki G5 i zapisz poniższy wzór.
=IFERROR(INDEX($D$5:$D$19,SMALL(IF($F5=$B$5:$B$19,ROW($D$5:$D$19)-4,""),COLUMN()-6))),")
Ta formuła jest podobna do poprzedniej, więc jeśli masz problem ze zrozumieniem tej formuły, proszę zobacz poprzednie wyjaśnienie .
- Następnie dotknij przycisku ENTER klucz.
Ale w tym zbiorze danych są jeszcze inni autorzy, którzy mają powieści, więc jak je zdobyć?
Wystarczy przeciągnąć Uchwyt do napełniania aż do komórki K5 aby uzyskać drugi Autorzy z Powieść Ponadto, przeciągnij Uchwyt do napełniania narzędzie do komórki K7 aby uzyskać nazwy Autorzy dla różnych typów książek. Dla wyjaśnienia patrz obrazek poniżej.
Jak wyszukać wiele dopasowań z kilkoma kryteriami?
W poprzednich przykładach znajdowaliśmy wartości dla pojedynczych kryteriów. Na przykład uzyskiwaliśmy tytuły książek dla określonego typu książki. Ale tutaj będziemy sugerować się wieloma kryteriami. Będziemy szukać wartości dla kryteriów Powieści z Charles Dickens używając tej metody. Zobaczmy to w akcji.
📌 Kroki:
- Przede wszystkim należy wybrać komórkę H5 i wklejenie poniższego wzoru.
=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))),")
- Następnie naciśnij ENTER .
Jak zrobić Vlookup i zwrócić wiele dopasowań w jednej komórce
We wcześniejszych podejściach otrzymywaliśmy wartości w różnych komórkach. Ale pokażemy, jak możemy uzyskać wyniki w jednej komórce. Tak więc, bez dalszej zwłoki, zanurkujmy!
📌 Kroki:
- Przede wszystkim, przejdź do komórki G5 i wprowadź poniższy wzór.
=TEXTJOIN(", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,"))
Tutaj Funkcja IF pobiera wartość z zakresu C5:C25 gdzie odpowiednie wartości w zakresie B5:B25 pasuje do wartości w komórce F5 . Then, the Funkcja TEXTJOIN łączy wartości tablicy z przecinkiem jako separatorem.
- Po drugie, naciśnij ENTER .
Read More: INDEX MATCH vs VLOOKUP Funkcja (9 przykładów)
Wniosek
Ten artykuł wyjaśnia, jak vlookup z wieloma dopasowaniami w Excelu w prosty i zwięzły sposób. Nie zapomnij pobrać pliku ćwiczeniowego. Dziękujemy za przeczytanie tego artykułu. Mamy nadzieję, że było to pomocne. Daj nam znać w sekcji komentarzy, jeśli masz jakieś pytania lub sugestie. Zapraszamy na naszą stronę internetową, ExcelWIKI , dostawcy kompleksowych rozwiązań dla programu Excel, aby dowiedzieć się więcej.