Jak v aplikaci Excel provést VLOOKUP více hodnot v jedné buňce (2 snadné metody)

  • Sdílet Toto
Hugh West

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.xlsm

2 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.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.