Jak VLOOKUP Wiele wartości w jednej komórce w programie Excel (2 proste metody)

  • Udostępnij To
Hugh West

Podczas pracy z dużymi ilościami danych w Excelu, czasami możesz znaleźć się w sytuacji, w której musisz wyszukać wartości, które pojawiają się wielokrotnie w Twoim zbiorze danych. Musisz więc zobaczyć te dane w jednej komórce. W tym poradniku pokażemy Ci, jak używać VLOOKUP dla wielu wartości w jednej komórce w Excelu.

Ogólnie rzecz biorąc, nie używamy bezpośrednio VLOOKUP W ten sposób będziemy mogli znaleźć wiele wartości w jednej komórce, co będzie podobne do funkcji VLOOKUP. Mamy nadzieję, że ten tutorial będzie dla Ciebie pomocny.

Pobierz Zeszyt ćwiczeń

Vlookup Multiple Values in One Cell.xlsm

2 Proste metody Vlookup dla wielu wartości w jednej komórce

Teraz pokażemy Ci 2 sposoby na wyszukanie wielu wartości w jednej komórce w Excelu. Pierwszym z nich jest użycie Formuły a drugi używa VBA kody. w tym artykule będziemy sprawdzać zarówno powtarzające się, jak i nie powtarzające się wartości. więc możesz wybrać najlepiej dopasowaną metodę w zależności od problemu.

Aby zademonstrować ten problem, użyjemy następującego zestawu danych:

Mamy tu kilku sprzedawców Nazwy i ich sprzedaż Produkty Teraz naszym celem jest znalezienie produktów sprzedawanych przez każdego sprzedawcę.

1) Używanie formuł do Vlookup wielu wartości w jednej komórce w Excelu

Na stronie TEXTJOIN będzie naszą funkcją do implementacji tej metody. TEXTJOIN Funkcja pozwala na połączenie 2 lub więcej ciągów znaków, gdzie każda wartość oddzielona jest znakiem delimiter Głównie łączymy różne funkcje z funkcją TEXTJOIN, aby zrealizować nasz wzór.

Na stronie TEXTJOIN Funkcja jest dostępna tylko dla programu Excel 2019 i Office 365.

Podstawowa składnia funkcji TEXTJOIN:

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)

Tutaj naszym delimiterem będzie przecinek ( "," ), aby oddzielić wartości w jednej komórce.

1.1 Funkcje TEXTJOIN i IF

Teraz ta formuła jest dość łatwa w użyciu. Ta formuła wyszuka wartości, a także wstawi je do jednej komórki z ogranicznikiem, przecinkiem. Ale pamiętaj, że ta formuła zwróci wartość z duplikatami.

Składnia podstawowa:

=TEXTJOIN(", ",TRUE,IF(lookup_value=lookup_range,,finding_range,""))

📌 Kroki

1) Po pierwsze, wpisz następujący wzór w Komórka F5 :

=TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))

2. następnie naciśnij Wejdź.

3. na koniec przeciągnij Uchwyt do napełniania ikona nad zakresem komórek F6:F7 .

W końcu udaje nam się wykorzystać VLOOKUP wiele wartości w jednej komórce.

🔎 Podział formuły

Używamy tego podziału tylko dla osoby "Jan"

IF(E5=B5:B13,C5:C13,"")

Funkcja zwraca następującą tablicę:

{"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}

TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))

Wreszcie TEXTJOIN funkcja zwróci następujący wynik:

{Mobile, TV, Fridge, Mobile}

Read More: Excel VLOOKUP, aby zwrócić wiele wartości w jednej komórce oddzielonych przecinkiem

1.2 Funkcje TEXTJOIN i MATCH (bez duplikatów)

Teraz, jeśli chcesz uzyskać wiele wartości w jednej komórce, możesz użyć tej formuły.Ta formuła jest połączeniem TEXTJOIN oraz MATCH Funkcje. Ta formuła jest trochę skomplikowana w użyciu, ale z pewnością da ci pożądane wartości.

📌 KROKI

1) Po pierwsze, wpisz następujący wzór w Komórka F5 :

=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, ""))

2. następnie naciśnij Wejdź.

3. na koniec przeciągnij Uchwyt do napełniania ikona nad zakresem komórek F6:F7 .

W końcu udaje nam się wykorzystać VLOOKUP wiele wartości w jednej komórce bez duplikatów.

🔎 Podział formuły

Używamy tego podziału tylko dla osoby "Jan"

ROW(C5:C13)

Zwraca on tablicę {5;6;7;8;9;10;11;12;13}

MATCH(ROW(C5:C13), ROW(C5:C13))

Zwraca: {1;2;3;4;5;6;7;8;9}

IF(E5=B5:B13, C5:C13, "")

Zwraca: {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}

MATCH(C5:C13, IF(E5=B5:B13, C5:C13, "")

Funkcja ta zwraca: {8;8;7;9;7;7;7;8;7}

IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),")

Zwraca: {1;1;"";4;"";6;"";1;""}

IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")

Zwraca: {"Mobile";"";"";"TV";"";"Fridge";"";"";""}

TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, ""))

Końcowym wynikiem będzie Komórka, telewizor, lodówka .

Read More: Jak wykonać VLOOKUP z wieloma wierszami w programie Excel (5 metod)

1.3 Funkcje TEXTJOIN i UNIQUE (bez duplikatów)

Teraz UNIQUE Funkcja UNIQUE jest dostępna tylko w programie Excel 365, więc jeśli korzystasz z programu Excel 365, to z pewnością możesz skorzystać z tej formuły. Poprzednia formuła jest nieco trudna, ale ta formuła ułatwi Ci wyszukiwanie wartości w jednej komórce. Funkcja UNIQUE zwraca listę unikalnych wartości w liście lub zakresie. Teraz różnica między pierwszą a trzecią formułą polega na użyciu funkcji UNIQUE funkcja przed JEŚLI funkcja.

Podstawowa składnia funkcji UNIQUE:

=UNIQUE (array, [by_col], [exactly_once])

macierz - Zakres lub tablica, z której mają zostać wyodrębnione unikalne wartości.

przez_kol - Opcjonalnie] Sposób porównywania i wyodrębniania. Przez wiersz = FALSE (domyślnie); przez kolumnę = TRUE.

dokładnie_jeden raz - TRUE = wartości, które występują raz, FALSE= wszystkie unikalne wartości (domyślnie).

📌 KROKI

1) Po pierwsze, wpisz następujący wzór w Komórka F5 :

=TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,")))

2. następnie naciśnij Wejdź.

3. na koniec przeciągnij Uchwyt do napełniania ikona nad zakresem komórek F6:F7.

Jak widać, udało nam się wykorzystać VLOOKUP wiele wartości w jednej komórce.

🔎 Podział formuły

Używamy tego podziału tylko dla osoby "Jan"

➤ IF(E5=B5:B13,C5:C13,"")

Zwraca {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}

➤ UNIQUE(IF(E5=B5:B13,C5:C13,""))

Zwraca {"Mobile";"";"TV";"Fridge"}

TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,"")))

Wynik końcowy Komórka, TV, lodówka

Read More: Jak zrobić Vlookup i zwrócić wiele wartości w liście rozwijanej

2. używanie kodów VBA do wyszukiwania wielu wartości w jednej komórce.

Na stronie TEXTJOIN Funkcja jest dostępna tylko dla MS Excel 2019 r. oraz MS Excel 365 . Tak więc, jeśli jesteś dobrze znany z kodów VBA Excela, te dwa kody będą dla ciebie bardzo praktyczne. Pierwszy będzie z duplikatami, a drugi bez duplikatów. Więc wybierz swoją metodę zgodnie z twoim problemem.

2.1 VBA koduje wiele wartości w jednej komórce

📌 KROKI

1. pierwszy. naciśnij Alt+F11 aby otworzyć Visual Basic Editor.

2. następnie kliknij na Insert> Moduł .

3) Następnie wpisz następujący kod:

 Function MultipleValues(work_range As Range, criteria As Variant, merge_range As Range, Optional Separator As String = ",") As Variant Dim outcome As String On Error Resume Next If work_range.Count merge_range.Count Then MultipleValues = CVErr(xlErrRef) Exit Function End If For i = 1 To work_range.Count If work_range.Cells(i).Value = criteria Then outcome = outcome & Separator &merge_range.Cells(i).Value End If Next i If outcome "" Then outcome = VBA.Mid(outcome, VBA.Len(Separator) + 1) End If MultipleValues = outcome Exit Function End Function 

4) Teraz przejdź do swojego arkusza, a następnie wpisz w nim następującą formułę Komórka F5 :

=MultipleValues(B5:B13,E5,C5:C13,",")

5. następnie naciśnij ENTER.

6. Na koniec przeciągnij ikonę Uchwyt wypełnienia nad zakresem komórek F6:F7.

W końcu użyliśmy VLOOKUP wiele wartości w jednej komórce .

Read More: VLOOKUP do zwracania wielu wartości poziomo w Excelu

2.2 Kody VBA do LOOKUP wielu wartości w jednej komórce (bez duplikatów)

📌 KROKI

1. pierwszy. naciśnij Alt+F11 aby otworzyć Visual Basic Editor.

2. następnie kliknij na Insert> Moduł .

3) Następnie wpisz następujący kod:

 Function ValuesNoDup(target As String, search_range As Range, ColumnNumber As Integer) Dim i As Long Dim outcome As String For i = 1 To search_range.Columns(1).Cells.Count If search_range.Cells(i, 1) = target Then For J = 1 To i - 1 If search_range.Cells(J, 1) = target Then If search_range.Cells(J, ColumnNumber) = search_range.Cells(i, ColumnNumber) Then GoTo Skip End If End If Next J outcome =.wynik & " " & search_range.Cells(i, ColumnNumber) & "," Pomiń: End If Next i ValuesNoDup = Left(wynik, Len(wynik) - 1) End Function 

4. po wstawieniu kodu, należy kliknąć Narzędzia> Referencje w otwartym oknie Microsoft Visual Basic for Applications, a następnie w wyskakującym oknie Referencje - Okno dialogowe VBAProject, zaznacz Microsoft Scripting Runtime opcja w Dostępne referencje kliknij na OK .

5) Teraz przejdź do swojego arkusza, a następnie wpisz w nim następującą formułę Komórka F5 :

=ValuesNoDup(E5,B5:B13,2)

Tutaj 2 jest numerem kolumny w zbiorze danych.

6. następnie naciśnij Wejdź na stronę .

7. na koniec przeciągnij Uchwyt do napełniania ikona nad zakresem komórek F6:F7.

Jak widać, użyliśmy VLOOKUP wiele wartości w jednej komórce bez duplikatów.

Read More: Jak VLOOKUP i zwrócić wiele wartości w programie Excel (8 metod)

Wniosek

Podsumowując, mam nadzieję, że ten tutorial pomoże Ci w vlookup wiele wartości w jednej komórce w Excelu. Pobierz zeszyt ćwiczeń i wypróbuj je samodzielnie. Z pewnością rozwinie to Twoją wiedzę na temat Excela. Nie krępuj się również wyrażać opinii w sekcji komentarzy. Twoje cenne uwagi motywują nas do tworzenia wielu artykułów takich jak te. Nie zapomnij sprawdzić naszej strony internetowej ExcelWIKI dla problemów i rozwiązań związanych z programem Excel.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.