Obsah
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.xlsm2 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.