Spis treści
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.xlsm2 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.