Ako VLOOKUP viac hodnôt v jednej bunke v programe Excel (2 jednoduché metódy)

  • Zdieľajte To
Hugh West

Pri práci s veľkým množstvom údajov v programe Excel sa niekedy môžete ocitnúť v situácii, keď potrebujete vyhľadať hodnoty, ktoré sa v súbore údajov vyskytujú viackrát. Tieto údaje teda musíte vidieť v jednej bunke. V tomto návode vám ukážeme, ako v programe Excel použiť funkciu VLOOKUP pre viacero hodnôt v jednej bunke.

Všeobecne povedané, nepoužívame priamo VLOOKUP Funkcia tu nájde viacero hodnôt v jednej bunke, ktorá bude podobná funkcii VLOOKUP. Dúfame, že vám tento návod bude nápomocný.

Stiahnite si cvičebnicu

Vlookup viacerých hodnôt v jednej bunke.xlsm

2 jednoduché metódy na vyhľadávanie viacerých hodnôt v jednej bunke

Teraz si ukážeme 2 spôsoby vyhľadávania viacerých hodnôt v jednej bunke programu Excel. Prvý z nich je pomocou Vzorce a druhý používa VBA kódy. V tomto článku sa budeme zaoberať opakovanými aj neopakovanými hodnotami. Môžete si teda vybrať najvhodnejšiu metódu podľa vášho problému.

Na demonštráciu tohto problému použijeme nasledujúci súbor údajov:

Máme tu niekoľko predajcov Názvy a ich predaj Produkty Teraz je naším cieľom nájsť predajné produkty každého predajcu.

1. Použitie vzorcov na vyhľadávanie viacerých hodnôt v jednej bunke v programe Excel

Stránka TEXTJOIN bude našou funkciou na implementáciu tejto metódy. TEXTJOIN umožňuje spojiť 2 alebo viac reťazcov, pričom každá hodnota je oddelená znakom oddeľovač . Hlavne kombinujeme rôzne funkcie s funkciou TEXTJOIN na implementáciu nášho vzorca.

Stránka TEXTJOIN funkcia je k dispozícii len pre Excel 2019 a Office 365.

Základná syntax funkcie TEXTJOIN:

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

Tu bude naším oddeľovačom čiarka ( "," ) na oddelenie hodnôt v jednej bunke.

1.1 Funkcie TEXTJOIN a IF

Tento vzorec sa teraz používa celkom jednoducho. Tento vzorec vyhľadá hodnoty a tiež ich vloží do jednej bunky s oddeľovačom, čiarkou. Nezabudnite však, že tento vzorec vráti hodnotu s duplikátmi.

Základná syntax:

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

📌 Kroky

1. Najprv zadajte nasledujúci vzorec do Bunka F5 :

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

2. Potom stlačte Vstúpte.

3. Nakoniec potiahnite Rukoväť náplne ikona nad rozsahom buniek F6:F7 .

Nakoniec sa nám podarí použiť VLOOKUP viac hodnôt v jednej bunke.

🔎 Rozdelenie vzorca

Toto členenie používame len pre osobu "John"

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

Táto funkcia vráti nasledujúce pole:

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

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

Nakoniec TEXTJOIN funkcia vráti nasledujúci výsledok:

{Mobil, TV, Chladnička, Mobilný telefón}

Prečítajte si viac: Excel VLOOKUP na vrátenie viacerých hodnôt v jednej bunke oddelených čiarkou

1.2 Funkcie TEXTJOIN a MATCH (bez duplikátov)

Ak chcete v jednej bunke získať viacero hodnôt, môžete použiť tento vzorec. Tento vzorec je kombináciou vzorcov TEXTJOIN a MATCH Tento vzorec je trochu zložitejší na použitie, ale určite poskytne požadované hodnoty.

📌 KROKY

1. Najprv zadajte nasledujúci vzorec do Bunka 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. Potom stlačte Vstúpte.

3. Nakoniec potiahnite Rukoväť náplne ikona nad rozsahom buniek F6:F7 .

Nakoniec sa nám podarí použiť VLOOKUP viac hodnôt v jednej bunke bez duplicitných hodnôt.

🔎 Rozdelenie vzorca

Toto členenie používame len pre osobu "John"

ROW(C5:C13)

Vracia pole {5;6;7;8;9;10;11;12;13}

MATCH(RIADOK(C5:C13), RIADOK(C5:C13))

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

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

Vracia sa: {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}

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

Táto funkcia vracia: {8;8;7;9;7;7;7;8;7}

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

Vracia sa: {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, "")

Vracia sa: {"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ý telefón, TV, chladnička .

Prečítajte si viac: Ako vykonať VLOOKUP s viacerými riadkami v programe Excel (5 metód)

1.3 Funkcie TEXTJOIN a UNIQUE (bez duplikátov)

Teraz sa UNIKÁTNE Funkcia je dostupná len v programe Excel 365. Ak teda používate Excel 365, určite môžete použiť tento vzorec. Predchádzajúci vzorec je trochu zložitejší, ale tento vzorec vám uľahčí vyhľadávanie hodnôt v jednej bunke. Funkcia UNIQUE vráti zoznam jedinečných hodnôt v zozname alebo rozsahu. Rozdiel medzi prvým a tretím vzorcom je v použití funkcie UNIKÁTNE pred funkciou IF funkcie.

Základná syntax funkcie UNIQUE:

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

pole - Rozsah alebo pole, z ktorého sa majú získať jedinečné hodnoty.

by_col - [voliteľné] Spôsob porovnania a extrakcie. Podľa riadkov = FALSE (predvolené); podľa stĺpcov = TRUE.

exactly_once - [voliteľné] TRUE = hodnoty, ktoré sa vyskytujú raz, FALSE = všetky jedinečné hodnoty (predvolené)

📌 KROKY

1. Najprv zadajte nasledujúci vzorec do Bunka F5 :

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

2. Potom stlačte Vstúpte.

3. Nakoniec potiahnite Rukoväť náplne ikona nad rozsahom buniek F6:F7.

Ako vidíte, úspešne sme použili VLOOKUP viac hodnôt v jednej bunke.

🔎 Rozdelenie vzorca

Toto členenie používame len pre osobu "John"

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

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

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

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

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

Konečný výsledok Mobilný telefón,TV,chladnička

Prečítajte si viac: Ako Vlookup a vrátiť viacero hodnôt v rozbaľovacom zozname

2. Použitie kódov VBA na vyhľadávanie viacerých hodnôt v jednej bunke

Stránka TEXTJOIN je k dispozícii len pre MS Excel 2019 a MS Excel 365 . Ak teda dobre poznáte kódy VBA programu Excel, tieto dva kódy budú pre vás veľmi praktické. Prvý bude s duplikátmi a druhý bez duplikátov. Vyberte si teda metódu podľa vášho problému.

2.1 Kódy VBA Viacero hodnôt v jednej bunke

📌 KROKY

1. Prvá. Stlačte Alt+F11 otvoriť Editor jazyka Visual Basic.

2. Potom kliknite na Vložiť> Modul .

3. Ďalej zadajte nasledujúci 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 result "" Then outcome = VBA.Mid(outcome, VBA.Len(Separator) + 1) End If MultipleValues = outcome Exit Function End Function 

4. Teraz prejdite na pracovný hárok. Potom zadajte nasledujúci vzorec Bunka F5 :

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

5. Potom stlačte tlačidlo VSTÚPIŤ.

6. Nakoniec potiahnite ikonu Rukoväť výplne nad rozsah buniek F6:F7.

Nakoniec sme použili VLOOKUP viac hodnôt v jednej bunke .

Prečítajte si viac: VLOOKUP na horizontálne vrátenie viacerých hodnôt v programe Excel

2.2 Kódy VBA na vyhľadávanie viacerých hodnôt v jednej bunke (bez duplikátov)

📌 KROKY

1. Prvá. Stlačte Alt+F11 otvoriť Editor jazyka Visual Basic.

2. Potom kliknite na Vložiť> Modul .

3. Ďalej zadajte nasledujúci 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 =výsledok & " " & search_range.Cells(i, ColumnNumber) & "," Skip: End If Next i ValuesNoDup = Left(výsledok, Len(výsledok) - 1) End Function 

4. Po vložení kódu kliknite na tlačidlo Nástroje> Referencie v otvorenom okne Microsoft Visual Basic for Applications a potom vo vysunutom okne Odkazy - V dialógovom okne VBAProject začiarknite políčko Spustenie skriptov Microsoft možnosť v Dostupné referencie zoznamové pole. Kliknite na OK .

5. Teraz prejdite na pracovný hárok. Potom zadajte nasledujúci vzorec Bunka F5 :

=ValuesNoDup(E5,B5:B13,2)

V tomto prípade je 2 číslo stĺpca súboru údajov.

6. Potom stlačte tlačidlo Vstúpte na stránku .

7. Nakoniec potiahnite Rukoväť náplne ikona nad rozsahom buniek F6:F7.

Ako vidíte, použili sme VLOOKUP viac hodnôt v jednej bunke bez duplikátov.

Prečítajte si viac: Ako VLOOKUP a vrátiť viacero hodnôt v programe Excel (8 metód)

Záver

Na záver dúfam, že vám tento návod pomôže vlookup viacero hodnôt v jednej bunke v programe Excel. Stiahnite si cvičný zošit a vyskúšajte si ich sami. Určite sa tým rozvinú vaše vedomosti o programe Excel. Neváhajte tiež poskytnúť spätnú väzbu v sekcii komentárov. Vaša cenná spätná väzba nás motivuje k tvorbe mnohých takýchto článkov. Nezabudnite si pozrieť našu webovú stránku ExcelWIKI pre problémy a riešenia súvisiace s programom Excel.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.