Obsah
Při práci s velkým množstvím dat v aplikaci Excel se někdy můžete dostat do situace, kdy potřebujete vyhledat hodnoty, které se v souboru dat vyskytují vícekrát. Tyto údaje tedy musíte zobrazit v jedné buňce. V tomto návodu vám ukážeme, jak v aplikaci Excel použít funkci VLOOKUP pro více hodnot v jedné buňce.
Obecně řečeno, nepoužíváme přímo VLOOKUP Zde budeme hledat více hodnot v jedné buňce, což bude podobné funkci VLOOKUP. Doufáme, že vám tento návod bude užitečný.
Stáhnout cvičebnici
Vlookup více hodnot v jedné buňce.xlsm2 snadné způsoby vyhledávání více hodnot v jedné buňce
Nyní si ukážeme 2 způsoby, jak v Excelu vyhledat více hodnot v jedné buňce. První z nich je pomocí příkazu Vzorce a druhý používá VBA kódů. V tomto článku se budeme zabývat jak opakovanými, tak neopakovanými hodnotami. Můžete si tedy vybrat nejvhodnější metodu podle vašeho problému.
Pro demonstraci tohoto problému použijeme následující soubor dat:
Zde máme několik prodejců Jména a jejich prodej Produkty . Nyní je naším cílem najít prodejní produkty jednotlivých prodejců.
1. Použití vzorců pro Vlookup více hodnot v jedné buňce v aplikaci Excel
Na stránkách TEXTJOIN bude naší funkcí pro implementaci této metody. TEXTJOIN umožňuje spojit 2 nebo více řetězců dohromady, přičemž každá hodnota je oddělena znakem oddělovač . Hlavně kombinujeme různé funkce s funkcí TEXTJOIN, abychom realizovali náš vzorec.
Na stránkách TEXTJOIN funkce je k dispozici pouze pro aplikaci Excel 2019 a Office 365.Základní syntaxe funkce TEXTJOIN:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
Zde bude naším oddělovačem čárka ( ","
) pro oddělení hodnot v jedné buňce.
1.1 Funkce TEXTJOIN a IF
Nyní je použití tohoto vzorce poměrně snadné. Tento vzorec vyhledá hodnoty a také je vloží do jedné buňky s oddělovačem, čárkou. Nezapomeňte však, že tento vzorec vrátí hodnotu s duplicitami.
Základní syntaxe:
=TEXTJOIN(", ",TRUE,IF(lookup_value=lookup_range,,finding_range,"))
📌 Kroky
1. Nejprve zadejte následující vzorec Buňka F5 :
=TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
2. Poté stiskněte Vstupte.
3. Nakonec přetáhněte Plnicí rukojeť ikona nad rozsahem buněk F6:F7 .
Nakonec se nám podaří použít VLOOKUP více hodnot v jedné buňce.
🔎 Rozdělení vzorce
Toto členění používáme pouze pro osobu "John".
➤ IF(E5=B5:B13,C5:C13,"")
Tato funkce vrací následující pole:
{"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
Nakonec TEXTJOIN funkce vrátí následující výsledek:
{Mobil, TV, Lednice, Mobilní telefon}
Přečtěte si více: VLOOKUP aplikace Excel pro vrácení více hodnot v jedné buňce oddělených čárkou
1.2 Funkce TEXTJOIN a MATCH (bez duplicit)
Pokud nyní chcete v jedné buňce získat více hodnot, můžete použít tento vzorec. Tento vzorec je kombinací vzorce TEXTJOIN a MATCH Tento vzorec je trochu složitější na použití, ale jistě vám poskytne požadované hodnoty.
📌 KROKY
1. Nejprve zadejte následující vzorec Buňka 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. Poté stiskněte Vstupte.
3. Nakonec přetáhněte Plnicí rukojeť ikona nad rozsahem buněk F6:F7 .
Nakonec se nám podaří použít VLOOKUP více hodnot v jedné buňce bez duplicitních hodnot.
🔎 Rozdělení vzorce
Toto členění používáme pouze pro osobu "John".
➤ ROW(C5:C13)
Vrací pole {5;6;7;8;9;10;11;12;13}
➤ MATCH(ŘÁDEK(C5:C13), ŘÁDEK(C5:C13))
Vrací se: {1;2;3;4;5;6;7;8;9}
➤ IF(E5=B5:B13, C5:C13, "")
Vrací se: {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ MATCH(C5:C13, IF(E5=B5:B13, C5:C13, "")
Tato funkce vrací: {8;8;7;9;7;7;7;8;7}
➤ IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")
Vrací se: {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, "")
Vrací se: {"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, "")))
Konečný výstup bude Mobilní telefon, TV, lednička .
Přečtěte si více: Jak provést VLOOKUP s více řádky v aplikaci Excel (5 metod)
1.3 Funkce TEXTJOIN a UNIQUE (bez duplicit)
Nyní je UNIKÁTNÍ Funkce je dostupná pouze v Excelu 365. Pokud tedy používáte Excel 365, pak tento vzorec určitě můžete použít. Předchozí vzorec je trochu složitější, ale tento vzorec vám usnadní vyhledávání hodnot v jedné buňce. Funkce UNIQUE vrací seznam jedinečných hodnot v seznamu nebo rozsahu. Rozdíl mezi prvním a třetím vzorcem je nyní v použití funkce UNIQUE. UNIKÁTNÍ před funkcí IF funkce.
Základní syntaxe funkce UNIQUE:
=UNIQUE (pole, [by_col], [exactly_once])
pole - Rozsah nebo pole, ze kterého se mají získat jedinečné hodnoty.
by_col - [nepovinné] Jak porovnávat a extrahovat. Podle řádků = FALSE (výchozí); podle sloupců = TRUE.
exactly_once - [nepovinné] TRUE = hodnoty, které se vyskytují jednou, FALSE= všechny jedinečné hodnoty (výchozí)
📌 KROKY
1. Nejprve zadejte následující vzorec Buňka F5 :
=TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,"")))
2. Poté stiskněte Vstupte.
3. Nakonec přetáhněte Plnicí rukojeť ikona nad rozsahem buněk F6:F7.
Jak vidíte, úspěšně jsme použili VLOOKUP více hodnot v jedné buňce.
🔎 Rozdělení vzorce
Toto členění používáme pouze pro osobu "John".
➤ IF(E5=B5:B13,C5:C13,"")
Vrací {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ UNIQUE(IF(E5=B5:B13,C5:C13,""))
Vrací {"Mobile";"";"TV";"Fridge"}
➤ TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,"")))
Konečný výsledek Mobilní telefon,TV,Lednice
Přečtěte si více: Jak vyhledat a vrátit více hodnot v rozevíracím seznamu
2. Použití kódů VBA k vyhledávání více hodnot v jedné buňce
Na stránkách TEXTJOIN je k dispozici pouze pro MS Excel 2019 a MS Excel 365 . Pokud se tedy dobře vyznáte v kódech VBA aplikace Excel, budou pro vás tyto dva kódy velmi praktické. První z nich bude s duplicitami a druhý bez duplicit. Vyberte si tedy metodu podle svého problému.
2.1 Kódy VBA pro více hodnot v jedné buňce
📌 KROKY
1. První. Stiskněte Alt+F11 a otevřete Editor jazyka Visual Basic.
2. Poté klikněte na Vložit> Modul .
3. Dále zadejte následující kód:
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. Nyní přejděte do pracovního listu. Poté do něj zadejte následující vzorec Buňka F5 :
=MultipleValues(B5:B13,E5,C5:C13,",")
5. Poté stiskněte tlačítko VSTUPTE.
6. Nakonec přetáhněte ikonu Rukojeť výplně nad rozsah buněk. F6:F7.
Nakonec jsme použili VLOOKUP více hodnot v jedné buňce .
Přečtěte si více: VLOOKUP pro horizontální vrácení více hodnot v aplikaci Excel
2.2 Kódy VBA pro LOOKUP více hodnot v jedné buňce (bez duplicit)
📌 KROKY
1. První. Stiskněte Alt+F11 a otevřete Editor jazyka Visual Basic.
2. Poté klikněte na Vložit> Modul .
3. Dále zadejte následující kód:
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 =outcome & " " & search_range.Cells(i, ColumnNumber) & "," Skip: End If Next i ValuesNoDup = Left(outcome, Len(outcome) - 1) End Function
4. Po vložení kódu klikněte na tlačítko Nástroje> Reference v otevřeném okně Microsoft Visual Basic for Applications a poté ve vysunutém okně. Odkazy - V dialogovém okně VBAProject zaškrtněte políčko Spuštění skriptovacího prostředí Microsoft možnost v Dostupné odkazy Klikněte na OK .
5. Nyní přejděte do pracovního listu. Poté do něj zadejte následující vzorec Buňka F5 :
=ValuesNoDup(E5,B5:B13,2)
Zde je číslo 2 číslo sloupce datové sady.
6. Poté stiskněte Vstupte na .
7. Nakonec přetáhněte Plnicí rukojeť ikona nad rozsahem buněk F6:F7.
Jak vidíte, použili jsme VLOOKUP více hodnot v jedné buňce bez duplicit.
Přečtěte si více: VLOOKUP a vrácení více hodnot v aplikaci Excel (8 metod)
Závěr
Na závěr doufám, že vám tento návod pomůže vlookup více hodnot v jedné buňce v Excelu. Stáhněte si cvičný sešit a vyzkoušejte si je sami. Jistě to prohloubí vaše znalosti Excelu. Neváhejte také poskytnout zpětnou vazbu v sekci komentářů. Vaše cenné připomínky nás motivují k vytváření mnoha takových článků. Nezapomeňte se podívat na naše webové stránky. ExcelWIKI pro problémy a řešení související s aplikací Excel.