Obsah
Výukový program ukazuje na praktických příkladech, jak používat funkci TEXTJOIN ke slučování textu v aplikaci Excel.
Až donedávna existovaly dva převládající způsoby slučování obsahu buněk v Excelu: operátor spojování a funkce CONCATENATE. Po zavedení funkce TEXTJOIN se zdá, že se objevila výkonnější alternativa, která umožňuje spojovat text flexibilnějším způsobem včetně libovolného oddělovače mezi nimi. Ve skutečnosti je toho ale mnohem víc!
Funkce TEXTJOIN aplikace Excel
TEXTJOIN v aplikaci Excel sloučí textové řetězce z více buněk nebo rozsahů a oddělí sloučené hodnoty libovolným oddělovačem, který zadáte. Může buď ignorovat, nebo do výsledku zahrnout prázdné buňky.
Funkce je k dispozici v aplikacích Excel pro Office 365, Excel 2021 a Excel 2019.
Syntaxe funkce TEXTJOIN je následující:
Kde:
- Oddělovač (povinné) - je oddělovač mezi jednotlivými kombinovanými textovými hodnotami. Obvykle se zadává jako textový řetězec uzavřený do dvojitých uvozovek nebo jako odkaz na buňku obsahující textový řetězec. Číslo zadané jako oddělovač se považuje za text.
- Ignore_empty (povinné) - určuje, zda se mají prázdné buňky ignorovat, nebo ne:
- TRUE - ignoruje prázdné buňky.
- FALSE - do výsledného řetězce zahrne prázdné buňky.
- Text1 (povinné) - první hodnota, která se má spojit. Lze zadat jako textový řetězec, odkaz na buňku obsahující řetězec nebo pole řetězců, například rozsah buněk.
- Text2 , ... (nepovinné) - další textové hodnoty, které mají být spojeny. Je povoleno maximálně 252 textových argumentů, včetně text1 .
Jako příklad spojíme části adres z buněk B2, C2 a D2 dohromady do jedné buňky a oddělíme hodnoty čárkou a mezerou:
Při použití funkce CONCATENATE byste museli zadat každou buňku zvlášť a za každý odkaz vložit oddělovač (", "), což by mohlo být nepříjemné při slučování obsahu mnoha buněk:
=CONCATENATE(A2, ", ", B2, ", ", C2)
V aplikaci Excel TEXTJOIN zadáte oddělovač pouze jednou v prvním argumentu a jako třetí argument uvedete rozsah buněk:
=TEXTJOIN(", ", TRUE, A2:C2)
TEXTJOIN v aplikaci Excel - 6 věcí, které je třeba si zapamatovat
Abyste mohli TEXTJOIN efektivně používat v pracovních listech, je třeba dbát na několik důležitých bodů:
- TEXTJOIN je nová funkce, která je k dispozici pouze v aplikaci Excel 2019 - Excel 365. Ve starších verzích aplikace Excel používejte místo ní funkci CONCATENATE nebo operátor "&".
- V nových verzích aplikace Excel můžete také použít funkci CONCAT ke spojování hodnot z oddělených buněk a rozsahů, ale bez možnosti použití oddělovačů nebo prázdných buněk.
- Jakékoli číslo zadané do TEXTJOIN pro oddělovač nebo text argumenty jsou převedeny na text.
- Pokud oddělovač není zadán nebo je prázdný řetězec (""), textové hodnoty se spojí bez jakéhokoli oddělovače.
- Funkce může zpracovávat až 252 textových argumentů.
- Výsledný řetězec může obsahovat maximálně 32 767 znaků, což je limit buňky v aplikaci Excel. Pokud je tento limit překročen, vzorec TEXTJOIN vrátí chybu #VALUE!.
Jak spojit text v aplikaci Excel - příklady vzorců
Abychom lépe pochopili všechny výhody funkce TEXTJOIN, podívejme se na její použití v reálných situacích.
Převést sloupec na seznam oddělený čárkou
Pokud chcete spojit svislý seznam a oddělit hodnoty čárkou, středníkem nebo jiným oddělovačem, je TEXTJOIN tou správnou funkcí.
V tomto příkladu budeme spojovat výhry a prohry jednotlivých týmů z níže uvedené tabulky. To lze provést pomocí následujících vzorců, které se liší pouze rozsahem spojovaných buněk.
Pro tým 1:
=TEXTJOIN(",", FALSE, B2:B6)
Pro tým 2:
=TEXTJOIN(",", FALSE, C2:C6)
A tak dále.
Ve všech vzorcích se používají následující argumenty:
- Oddělovač - čárka (",").
- Ignore_empty je nastavena na FALSE, aby zahrnovala prázdné buňky, protože potřebujeme zobrazit, které hry nebyly odehrány.
Výsledkem jsou čtyři seznamy oddělené čárkami, které představují výhry a prohry jednotlivých týmů v kompaktní podobě:
Spojení buněk s různými oddělovači
V situaci, kdy potřebujete oddělit kombinované hodnoty různými oddělovači, můžete buď zadat několik oddělovačů jako konstantu pole, nebo zadat každý oddělovač do samostatné buňky a použít odkaz na rozsah pro pole oddělovač argument.
Předpokládejme, že chcete spojit buňky obsahující různé části názvu a získat výsledek v tomto formátu: Příjmení , Jméno Střední jméno .
Jak vidíte, příjmení a jméno jsou odděleny čárkou a mezerou (", "), zatímco jméno a prostřední jméno pouze mezerou (" "). Tyto dva oddělovače tedy zahrneme do konstanty pole {", "," "} a získáme následující vzorec:
=TEXTJOIN({", "," "}, TRUE, A2:C2)
Kde A2:C2 jsou části názvu, které se mají kombinovat.
Případně můžete napsat oddělovače bez uvozovek do některých prázdných buněk (například čárka a mezera v buňce F3 a mezera v buňce G3) a použít rozsah $F$3:$G$3 (pozor na absolutní odkazy na buňky). oddělovač argument:
=TEXTJOIN($F$3:$G$3, TRUE, A2:C2)
Pomocí tohoto obecného přístupu můžete sloučit obsah buněk v různých formulářích.
Pokud například chcete, aby výsledek ve tvaru Křestní jméno Střední iniciála Příjmení formátu a poté pomocí funkce LEFT vyjmeme první znak (iniciálu) z buňky C2. Co se týče oddělovačů, mezi Křestní jméno a Střední iniciálu vložíme mezeru (" "), mezi Iniciálu a Příjmení tečku a mezeru (". "):
=TEXTJOIN({" ","."}, TRUE, B2, LEFT(C2,1), A2)
Spojení textu a dat v aplikaci Excel
Ve specifickém případě, kdy slučujete text a data, nebude zadávání dat přímo do vzorce TEXTJOIN fungovat. Jak si možná pamatujete, Excel ukládá data jako pořadová čísla, takže váš vzorec vrátí číslo představující datum, jak je znázorněno na obrázku níže:
=TEXTJOIN(" ", TRUE, A2:B2)
Abyste to vyřešili, musíte datum před spojením převést na textový řetězec. A zde se hodí funkce TEXT s požadovaným kódem formátu ("mm/dd/rrrr" v našem případě):
=TEXTJOIN(" ", TRUE, A2, TEXT(B2, "mm/dd/rrrr"))
Sloučení textu se zalomením řádků
Chcete-li v aplikaci Excel sloučit text tak, aby každá hodnota začínala na novém řádku, použijte jako oddělovač znak CHAR(10) (kde 10 je znak konce řádku).
Chcete-li například spojit text z buněk A2 a B2 a oddělit hodnoty zalomením řádku, použijte tento vzorec:
=TEXTJOIN(CHAR(10), TRUE, A2:B2)
Tip: Aby se výsledek zobrazil ve více řádcích, jak je znázorněno na výše uvedeném obrázku, ujistěte se, že je zapnuta funkce Obtékání textu.
TEXTJOIN IF pro sloučení textu s podmínkami
Díky schopnosti funkce TEXTJOIN aplikace Excel pracovat s poli řetězců ji lze použít také k podmíněnému sloučení obsahu dvou nebo více buněk. Chcete-li to provést, použijte funkci IF, která vyhodnotí rozsah buněk a vrátí pole hodnot, které splňují podmínku, do funkce text1 argument TEXTJOIN.
Předpokládejme, že z tabulky zobrazené na obrázku níže chcete získat seznam. Tým 1 Chcete-li toho dosáhnout, vložte do příkazu IF následující příkaz text1 argument:
IF($B$2:$B$9=1, $A$2:$A$9, "")
Jednoduše řečeno, výše uvedený vzorec říká: Pokud se sloupec B rovná 1, vraťte hodnotu ze sloupce A ve stejném řádku; v opačném případě vraťte prázdný řetězec.
Úplný vzorec pro Tým 1 má tento tvar:
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=1, $A$2:$A$9, ""))
Podobným způsobem můžete získat čárkou oddělený seznam členů skupiny Tým 2:
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=2, $A$2:$A$9, ""))
Poznámka: Vzhledem k funkci dynamických polí, která je k dispozici v aplikacích Excel 365 a 2021, funguje tento vzorec jako běžný vzorec, který je zobrazen na výše uvedeném snímku obrazovky. V aplikaci Excel 2019 jej musíte zadat jako tradiční vzorec pole stisknutím klávesové zkratky Ctrl + Shift + Enter.
Vyhledání a vrácení více shod v seznamu odděleném čárkou
Jak pravděpodobně víte, funkce VLOOKUP aplikace Excel může vrátit pouze první nalezenou shodu. Ale co když potřebujete získat všechny shody pro konkrétní ID, SKU nebo něco jiného?
Chcete-li výsledky vypsat do samostatných buněk, použijte jeden ze vzorců popsaných v části Jak v Excelu vypsat více hodnot.
Chcete-li vyhledat a vrátit všechny odpovídající hodnoty v jedné buňce jako seznam oddělený čárkou, použijte vzorec TEXTJOIN IF.
Abychom viděli, jak to funguje v praxi, získáme seznam výrobků zakoupených daným prodejcem z níže uvedené vzorové tabulky. To lze snadno provést pomocí následujícího vzorce:
=TEXTJOIN(", ", TRUE, IF($A$2:$A$12=D2, $B$2:$B$12, ""))
Kde A2:A12 jsou názvy prodejců, B2:B12 jsou produkty a D2 je prodejce, o kterého máte zájem.
Výše uvedený vzorec přejde do E2 a přenese všechny shody pro cílového prodejce v D2 (Adam). Díky chytrému použití relativních (pro cílového prodejce) a absolutních (pro názvy prodejců a produktů) odkazů na buňky se vzorec správně zkopíruje do níže uvedených buněk a funguje pěkně i pro další dva prodejce:
Poznámka: Stejně jako v předchozím příkladu funguje tento vzorec v aplikaci Excel 365 a 2021 jako běžný vzorec a v aplikaci Excel 2019 jako vzorec CSE (Ctrl + Shift + Enter ).
Logika vzorce je úplně stejná jako v předchozím příkladu:
Příkaz IF porovná každé jméno v A2:A12 s cílovým jménem v D2 (v našem případě Adam):
IF($A$2:$A$12=D2, $B$2:$B$12, "")
Pokud je logický test vyhodnocen jako TRUE (tj. název v D2 odpovídá názvu ve sloupci A), vzorec vrátí součin ze sloupce B; v opačném případě je vrácen prázdný řetězec (""). Výsledkem IF je následující pole:
{"";"";"Bananas";"Apples";"";"";"";"Oranges";"";"Lemons";""}
Pole přechází do funkce TEXTJOIN jako text1 A protože TEXTJOIN je nastaven tak, aby hodnoty odděloval čárkou a mezerou (", "), dostaneme jako konečný výsledek tento řetězec:
Banány, jablka, pomeranče, citrony
Nefunguje aplikace Excel TEXTJOIN
Pokud vzorec TEXTJOIN vykazuje chybu, jedná se s největší pravděpodobností o jednu z následujících chyb:
- Chyba #NAME? nastane, pokud je funkce TEXTJOIN použita ve starší verzi aplikace Excel, kde tato funkce není podporována (před rokem 2019), nebo pokud je název funkce napsán chybně.
- #VALUE! chyba nastane, pokud výsledný řetězec přesáhne 32 767 znaků.
- K chybě #VALUE! může dojít také v případě, že Excel nerozpozná oddělovač jako text, například pokud zadáte nějaký netisknutelný znak, například CHAR(0).
To je návod na použití funkce TEXTJOIN v Excelu. Děkuji vám za přečtení a doufám, že se uvidíme na našem blogu příští týden!
Dostupné soubory ke stažení
Příklady vzorce TEXTJOIN aplikace Excel