Funkcia TEXTJOIN v programe Excel na zlúčenie textu z viacerých buniek

  • Zdieľajte To
Michael Brown

Učebnica ukazuje, ako používať funkciu TEXTJOIN na spájanie textu v programe Excel na praktických príkladoch.

Až donedávna existovali dve prevládajúce metódy na spájanie obsahu buniek v programe Excel: operátor spájania a funkcia CONCATENATE. Zdá sa, že so zavedením funkcie TEXTJOIN sa objavila výkonnejšia alternatíva, ktorá umožňuje spájať text flexibilnejším spôsobom vrátane ľubovoľného oddeľovacieho znaku medzi nimi. V skutočnosti je toho však oveľa viac!

    Funkcia Excel TEXTJOIN

    TEXTJOIN v programe Excel zlúči textové reťazce z viacerých buniek alebo rozsahov a oddelí kombinované hodnoty ľubovoľným oddeľovačom, ktorý zadáte. Vo výsledku môže ignorovať alebo zahrnúť prázdne bunky.

    Funkcia je k dispozícii v aplikáciách Excel pre Office 365, Excel 2021 a Excel 2019.

    Syntax funkcie TEXTJOIN je nasledujúca:

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

    Kde:

    • Oddeľovač (povinné) - je oddeľovač medzi jednotlivými textovými hodnotami, ktoré kombinujete. Zvyčajne sa zadáva ako textový reťazec uzavretý v dvojitých úvodzovkách alebo ako odkaz na bunku obsahujúcu textový reťazec. Číslo zadané ako oddeľovač sa považuje za text.
    • Ignore_empty (povinné) - Určuje, či sa majú prázdne bunky ignorovať alebo nie:
      • TRUE - ignoruje všetky prázdne bunky.
      • FALSE - do výsledného reťazca zahrniete prázdne bunky.
    • Text1 (povinné) - prvá hodnota, ktorá sa má spojiť. Môže byť zadaná ako textový reťazec, odkaz na bunku obsahujúcu reťazec alebo pole reťazcov, napríklad rozsah buniek.
    • Text2 , ... (nepovinné) - ďalšie textové hodnoty, ktoré sa majú spojiť. Povolených je maximálne 252 textových argumentov vrátane text1 .

    Ako príklad spojme časti adries z buniek B2, C2 a D2 do jednej bunky a oddeľme hodnoty čiarkou a medzerou:

    Pri použití funkcie CONCATENATE by ste museli určiť každú bunku osobitne a za každý odkaz umiestniť oddeľovač (", "), čo by mohlo byť nepríjemné pri spájaní obsahu mnohých buniek:

    =CONCATENATE(A2, ", ", B2, ", ", C2)

    V programe Excel TEXTJOIN stačí v prvom argumente raz zadať oddeľovač a v treťom argumente uviesť rozsah buniek:

    =TEXTJOIN(", ", TRUE, A2:C2)

    TEXTJOIN v programe Excel - 6 vecí, ktoré si treba zapamätať

    Ak chcete efektívne používať TEXTJOIN vo svojich pracovných listoch, je potrebné venovať pozornosť niekoľkým dôležitým bodom:

    1. TEXTJOIN je nová funkcia, ktorá je k dispozícii len v aplikácii Excel 2019 - Excel 365. V predchádzajúcich verziách aplikácie Excel používajte namiesto nej funkciu CONCATENATE alebo operátor "&".
    2. V nových verziách programu Excel môžete na spájanie hodnôt zo samostatných buniek a rozsahov použiť aj funkciu CONCAT, ktorá však nemá možnosti pre oddeľovače alebo prázdne bunky.
    3. Akékoľvek číslo zadané do TEXTJOIN pre oddeľovač alebo text argumenty sa prevedú na text.
    4. Ak oddeľovač nie je zadaná alebo je prázdnym reťazcom (""), textové hodnoty sa spájajú bez akéhokoľvek oddeľovača.
    5. Funkcia dokáže spracovať až 252 textových argumentov.
    6. Výsledný reťazec môže obsahovať maximálne 32 767 znakov, čo je limit bunky v programe Excel. Ak je tento limit prekročený, vzorec TEXTJOIN vráti chybu #VALUE!

    Ako spojiť text v programe Excel - príklady vzorcov

    Aby ste lepšie pochopili všetky výhody funkcie TEXTJOIN, pozrime sa, ako ju používať v reálnych situáciách.

    Previesť stĺpec na zoznam oddelený čiarkou

    Ak chcete spojiť zvislý zoznam, ktorý oddeľuje hodnoty čiarkou, bodkočiarkou alebo iným oddeľovačom, je TEXTJOIN tou správnou funkciou.

    V tomto príklade budeme spájať výhry a prehry jednotlivých tímov z tabuľky uvedenej nižšie. To možno vykonať pomocou nasledujúcich vzorcov, ktoré sa líšia len rozsahom spájaných buniek.

    Pre tím 1:

    =TEXTJOIN(",", FALSE, B2:B6)

    Pre tím 2:

    =TEXTJOIN(",", FALSE, C2:C6)

    A tak ďalej.

    Vo všetkých vzorcoch sa používajú tieto argumenty:

    • Oddeľovač - čiarka (",").
    • Ignore_empty je nastavená na FALSE, aby zahŕňala prázdne bunky, pretože potrebujeme zobraziť, ktoré hry sa nehrali.

    Výsledkom budú štyri zoznamy oddelené čiarkami, ktoré predstavujú výhry a prehry každého tímu v kompaktnej forme:

    Spojenie buniek s rôznymi oddeľovačmi

    V situácii, keď potrebujete oddeliť kombinované hodnoty rôznymi oddeľovačmi, môžete buď zadať niekoľko oddeľovačov ako konštantu poľa, alebo zadať každý oddeľovač do samostatnej bunky a použiť odkaz na rozsah pre oddeľovač argument.

    Predpokladajme, že chcete spojiť bunky obsahujúce rôzne časti názvu a získať výsledok v tomto formáte: Priezvisko , Krstné meno Stredné meno .

    Ako vidíte, priezvisko a meno sú oddelené čiarkou a medzerou (", "), zatiaľ čo meno a prostredné meno iba medzerou (" "). Tieto dva oddeľovače teda zahrnieme do konštanty poľa {", "," "} a dostaneme nasledujúci vzorec:

    =TEXTJOIN({", "," "}, TRUE, A2:C2)

    Kde A2:C2 sú názvy častí, ktoré sa majú skombinovať.

    Prípadne môžete napísať oddeľovače bez úvodzoviek do niektorých prázdnych buniek (napríklad čiarka a medzera v bunke F3 a medzera v bunke G3) a použiť rozsah $F$3:$G$3 (dbajte na absolútne odkazy na bunky) pre oddeľovač argument:

    =TEXTJOIN($F$3:$G$3, TRUE, A2:C2)

    Pomocou tohto všeobecného prístupu môžete zlúčiť obsah buniek v rôznych formulároch.

    Ak napríklad chcete, aby sa výsledok v Krstné meno Stredná iniciála Priezvisko formát, potom použite funkciu LEFT na vyňatie prvého znaku (iniciály) z bunky C2. Pokiaľ ide o oddeľovače, medzi Krstné meno a Strednú iniciálu vložíme medzeru (" "); medzi Iniciálu a Priezvisko vložíme bodku a medzeru (". "):

    =TEXTJOIN({" ","."}, TRUE, B2, LEFT(C2,1), A2)

    Spájanie textu a dátumov v programe Excel

    V špecifickom prípade, keď zlučujete text a dátumy, nebude fungovať priame zadávanie dátumov do vzorca TEXTJOIN. Ako si možno pamätáte, Excel ukladá dátumy ako poradové čísla, takže váš vzorec vráti číslo predstavujúce dátum, ako je znázornené na nasledujúcej snímke:

    =TEXTJOIN(" ", TRUE, A2:B2)

    Aby ste to vyriešili, musíte dátum pred spojením previesť na textový reťazec. A tu sa hodí funkcia TEXT s požadovaným formátovacím kódom ("mm/dd/rrrr" v našom prípade):

    =TEXTJOIN(" ", TRUE, A2, TEXT(B2, "mm/dd/rrrr")

    Zlúčenie textu so zalomením riadkov

    Ak chcete v programe Excel zlúčiť text tak, aby každá hodnota začínala na novom riadku, použite ako oddeľovač CHAR(10) (kde 10 je znak konca riadku).

    Ak chcete napríklad skombinovať text z buniek A2 a B2 a oddeliť hodnoty zalomením riadku, použite tento vzorec:

    =TEXTJOIN(CHAR(10), TRUE, A2:B2)

    Tip: Ak chcete, aby sa výsledok zobrazil vo viacerých riadkoch, ako je znázornené na obrázku vyššie, uistite sa, že je zapnutá funkcia Obaliť text.

    TEXTJOIN IF na zlúčenie textu s podmienkami

    Vďaka schopnosti programu Excel TEXTJOIN pracovať s poliami reťazcov ho možno použiť aj na podmienečné zlúčenie obsahu dvoch alebo viacerých buniek. Ak to chcete urobiť, použite funkciu IF na vyhodnotenie rozsahu buniek a vrátenie poľa hodnôt, ktoré spĺňajú podmienku, do text1 argument TEXTJOIN.

    Predpokladajme, že z tabuľky zobrazenej na obrázku nižšie chcete získať zoznam Tím 1 Aby ste to dosiahli, vložte do príkazu IF nasledujúci príkaz text1 argument:

    IF($B$2:$B$9=1, $A$2:$A$9, "")

    V jednoduchej angličtine uvedený vzorec hovorí: Ak sa stĺpec B rovná 1, vráťte hodnotu zo stĺpca A v tom istom riadku; inak vráťte prázdny reťazec.

    Úplný vzorec pre Tím 1 má tento tvar:

    =TEXTJOIN(", ", TRUE, IF($B$2:$B$9=1, $A$2:$A$9, ""))

    Podobným spôsobom môžete získať čiarkou oddelený zoznam členov Tím 2:

    =TEXTJOIN(", ", TRUE, IF($B$2:$B$9=2, $A$2:$A$9, ""))

    Poznámka: Vzhľadom na funkciu dynamických polí, ktorá je k dispozícii v aplikáciách Excel 365 a 2021, funguje tento vzorec ako bežný vzorec, ktorý je zobrazený na vyššie uvedenej snímke obrazovky. V aplikácii Excel 2019 ho musíte zadať ako tradičný vzorec poľa stlačením klávesovej skratky Ctrl + Shift + Enter.

    Vyhľadávanie a vrátenie viacerých zhody v zozname oddelenom čiarkou

    Ako pravdepodobne viete, funkcia Excel VLOOKUP môže vrátiť len prvú nájdenú zhodu. Ale čo ak potrebujete získať všetky zhody pre konkrétne ID, SKU alebo niečo iné?

    Ak chcete výsledky vypisovať do samostatných buniek, použite jeden zo vzorcov opísaných v časti Ako v programe Excel vypisovať viacero hodnôt.

    Ak chcete vyhľadať a vrátiť všetky zodpovedajúce hodnoty v jednej bunke ako zoznam oddelený čiarkami, použite vzorec TEXTJOIN IF.

    Aby sme videli, ako to funguje v praxi, načítajme zoznam výrobkov zakúpených daným predajcom zo vzorovej tabuľky uvedenej nižšie. To sa dá jednoducho urobiť pomocou nasledujúceho vzorca:

    =TEXTJOIN(", ", TRUE, IF($A$2:$A$12=D2, $B$2:$B$12, ""))

    Kde A2:A12 sú názvy predajcov, B2:B12 sú produkty a D2 je predajca, o ktorého máte záujem.

    Vyššie uvedený vzorec prejde do E2 a prinesie všetky zhody pre cieľového predajcu v D2 (Adam). Vďaka šikovnému použitiu relatívnych (pre cieľového predajcu) a absolútnych (pre názvy predajcov a produktov) odkazov na bunky sa vzorec správne skopíruje do nasledujúcich buniek a funguje pekne aj pre ostatných dvoch predajcov:

    Poznámka: Rovnako ako v predchádzajúcom príklade, aj tento vzorec funguje ako bežný vzorec v aplikácii Excel 365 a 2021 a ako vzorec CSE (Ctrl + Shift + Enter ) v aplikácii Excel 2019.

    Logika vzorca je presne rovnaká ako v predchádzajúcom príklade:

    Príkaz IF porovnáva každé meno v A2:A12 s cieľovým menom v D2 (v našom prípade Adam):

    IF($A$2:$A$12=D2, $B$2:$B$12, "")

    Ak sa logický test vyhodnotí ako TRUE (t. j. názov v D2 sa zhoduje s názvom v stĺpci A), vzorec vráti súčin zo stĺpca B; v opačnom prípade sa vráti prázdny reťazec (""). Výsledkom IF je nasledujúce pole:

    {"";"";"Bananas";"Apples";"";"";"";"Oranges";"";"Lemons";""}

    Pole sa dostane do funkcie TEXTJOIN ako text1 Keďže TEXTJOIN je nakonfigurovaný tak, aby hodnoty oddeľoval čiarkou a medzerou (", "), dostaneme ako konečný výsledok tento reťazec:

    Banány, jablká, pomaranče, citróny

    Excel TEXTJOIN nefunguje

    Ak váš vzorec TEXTJOIN vedie k chybe, s najväčšou pravdepodobnosťou ide o jednu z nasledujúcich príčin:

    • Chyba #NAME? nastane, keď sa TEXTJOIN použije v staršej verzii programu Excel, v ktorej táto funkcia nie je podporovaná (pred rokom 2019), alebo keď je názov funkcie napísaný nesprávne.
    • #VALUE! chyba nastane, ak výsledný reťazec prekročí 32 767 znakov.
    • Chyba #VALUE! sa môže vyskytnúť aj vtedy, ak Excel nerozpozná oddeľovač ako text, napríklad ak zadáte nejaký netlačiteľný znak, napríklad CHAR(0).

    Takto sa používa funkcia TEXTJOIN v programe Excel. Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!

    Dostupné súbory na stiahnutie

    Príklady vzorcov Excel TEXTJOIN

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.