Inhoudsopgave
De tutorial laat zien hoe u de TEXTJOIN-functie gebruikt om tekst in Excel samen te voegen, met praktische voorbeelden.
Tot voor kort waren er twee gangbare methoden om celinhoud in Excel samen te voegen: de aaneenschakelingsoperator en de functie CONCATENATE. Met de introductie van TEXTJOIN lijkt er een krachtiger alternatief te zijn gekomen, waarmee je tekst op een flexibelere manier kunt samenvoegen, inclusief elk scheidingsteken ertussen. Maar in werkelijkheid is er veel meer mogelijk!
Excel TEXTJOIN functie
TEXTJOIN in Excel voegt tekststrings uit meerdere cellen of bereiken samen en scheidt de gecombineerde waarden met een willekeurig scheidingsteken dat u opgeeft. Het kan lege cellen negeren of opnemen in het resultaat.
De functie is beschikbaar in Excel voor Office 365, Excel 2021 en Excel 2019.
De syntaxis van de TEXTJOIN-functie is als volgt:
TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)Waar:
- Scheidingsteken (vereist) - is een scheidingsteken tussen elke tekstwaarde die u combineert. Gewoonlijk wordt het geleverd als een tekststring tussen dubbele aanhalingstekens of een verwijzing naar een cel die een tekststring bevat. Een getal dat als scheidingsteken wordt geleverd, wordt behandeld als tekst.
- Negeer_leeg (vereist) - Bepaalt of lege cellen al dan niet moeten worden genegeerd:
- TRUE - negeer alle lege cellen.
- FALSE - lege cellen opnemen in de resulterende string.
- Tekst1 (vereist) - eerste waarde om samen te voegen. Kan worden geleverd als een tekststring, een verwijzing naar een cel die een string bevat, of een array van strings zoals een bereik van cellen.
- Tekst2 , ... (optioneel) - extra tekstwaarden die moeten worden samengevoegd. Er zijn maximaal 252 tekstargumenten toegestaan, waaronder tekst1 .
Laten we als voorbeeld de adresdelen van de cellen B2, C2 en D2 samenvoegen in één cel en de waarden scheiden met een komma en een spatie:
Met de functie CONCATENATE moet u elke cel afzonderlijk specificeren en een scheidingsteken (", ") achter elke verwijzing plaatsen, wat lastig kan zijn wanneer u de inhoud van veel cellen samenvoegt:
=CONCATENATE(A2, ", ", B2, ", ", C2)
Met Excel TEXTJOIN specificeert u het scheidingsteken slechts eenmaal in het eerste argument, en levert u een cellenbereik voor het derde argument:
=TEXTJOIN(", ", TRUE, A2:C2)
TEXTJOIN in Excel - 6 dingen om te onthouden
Om TEXTJOIN effectief te gebruiken in je werkbladen, zijn er een paar belangrijke punten waar je op moet letten:
- TEXTJOIN is een nieuwe functie, die alleen beschikbaar is in Excel 2019 - Excel 365. Gebruik in eerdere Excel-versies de CONCATENATE-functie of de "&"-operator.
- In nieuwe versies van Excel kunt u ook de functie CONCAT gebruiken om waarden uit afzonderlijke cellen en bereiken samen te voegen, maar zonder opties voor scheidingstekens of lege cellen.
- Elk nummer dat aan TEXTJOIN wordt geleverd voor de scheidingsteken of tekst argumenten wordt omgezet in tekst.
- Als scheidingsteken niet is opgegeven of een lege tekenreeks is (""), worden tekstwaarden aaneengeschakeld zonder scheidingsteken.
- De functie kan maximaal 252 tekstargumenten verwerken.
- De resulterende string kan maximaal 32.767 tekens bevatten, wat de cellimiet in Excel is. Als deze limiet wordt overschreden, geeft een TEXTJOIN-formule de foutmelding #VALUE! terug.
Tekst samenvoegen in Excel - formulevoorbeelden
Om alle voordelen van TEXTJOIN beter te begrijpen, laten we eens kijken hoe de functie in reële scenario's kan worden gebruikt.
Converteer kolom naar door komma's gescheiden lijst
Wanneer u een verticale lijst wilt samenvoegen en de waarden wilt scheiden door een komma, puntkomma of een ander scheidingsteken, is TEXTJOIN de juiste functie.
Voor dit voorbeeld zullen we de overwinningen en verliezen van elk team uit de onderstaande tabel aan elkaar rijgen. Dit kan worden gedaan met de volgende formules, die alleen verschillen in het bereik van de cellen die worden samengevoegd.
Voor team 1:
=TEXTJOIN(",", FALSE, B2:B6)
Voor team 2:
=TEXTJOIN(",", FALSE, C2:C6)
En zo verder.
In alle formules worden de volgende argumenten gebruikt:
- Scheidingsteken - een komma (",").
- Negeer_leeg is ingesteld op FALSE om lege cellen op te nemen, omdat we moeten laten zien welke spellen niet zijn gespeeld.
Als resultaat krijgt u vier door komma's gescheiden lijsten die de overwinningen en verliezen van elk team in een compacte vorm weergeven:
Cellen met verschillende scheidingstekens samenvoegen
In een situatie waarin u de gecombineerde waarden moet scheiden met verschillende scheidingstekens, kunt u ofwel verschillende scheidingstekens opgeven als een matrixconstante, ofwel elk scheidingsteken invoeren in een afzonderlijke cel en een bereikverwijzing gebruiken voor de scheidingsteken argument.
Stel dat u cellen met verschillende naamdelen wilt samenvoegen en het resultaat in dit formaat wilt krijgen: Achternaam , Voornaam Voornaam .
Zoals u kunt zien, worden de Achternaam en Voornaam gescheiden door een komma en een spatie (", "), terwijl de Voornaam en Middennaam alleen worden gescheiden door een spatie (" "). We nemen deze twee scheidingstekens dus op in een matrixconstante {", "," "} en krijgen de volgende formule:
=TEXTJOIN({", ",""}, TRUE, A2:C2)
Waarbij A2:C2 de te combineren naamdelen zijn.
Als alternatief kunt u de scheidingstekens zonder aanhalingstekens in enkele lege cellen typen (bijvoorbeeld een komma en een spatie in F3 en een spatie in G3) en het bereik $F$3:$G$3 gebruiken (let op de absolute celverwijzingen) voor de scheidingsteken argument:
=TEXTJOIN($F$3:$G$3, TRUE, A2:C2)
Met deze algemene aanpak kunt u celinhoud in verschillende vormen samenvoegen.
Als u bijvoorbeeld het resultaat in de Voornaam Middelste initiaal Achternaam formaat, gebruik dan de functie LINKS om het eerste teken (de initiaal) uit cel C2 te halen. Wat de scheidingstekens betreft, plaatsen we een spatie (" ") tussen de Voornaam en de Middelste initiaal; een punt en een spatie (". ") tussen de Initiaal en de Achternaam:
=TEXTJOIN({" ","."}, TRUE, B2, LEFT(C2,1), A2)
Tekst en data samenvoegen in Excel
In een specifiek geval waarin u tekst en datums samenvoegt, werkt het niet om datums rechtstreeks in een TEKSTJOIN-formule op te nemen. Zoals u zich wellicht herinnert, slaat Excel datums op als volgnummers, dus uw formule zal een getal teruggeven dat de datum vertegenwoordigt, zoals in de onderstaande schermafbeelding:
=TEXTJOIN(" ", TRUE, A2:B2)
Om dit op te lossen, moet u de datum omzetten in een tekststring alvorens deze samen te voegen. En hier komt de TEXT-functie met de gewenste formaatcode ("mm/dd/yyyy" in ons geval) van pas:
=TEXTJOIN(" ", TRUE, A2, TEXT(B2, "mm/dd/yyyy"))
Tekst samenvoegen met regeleinden
Als u tekst in Excel wilt samenvoegen zodat elke waarde op een nieuwe regel begint, gebruikt u CHAR(10) als scheidingsteken (waarbij 10 een linefeed-teken is).
Om bijvoorbeeld tekst uit de cellen A2 en B2 te combineren en de waarden te scheiden door een regeleinde, gebruikt u deze formule:
=TEXTJOIN(CHAR(10), TRUE, A2:B2)
Tip. Om het resultaat in meerdere regels weer te geven zoals in de schermafbeelding hierboven, moet de functie Wrap text aan staan.
TEXTJOIN IF om tekst met voorwaarden samen te voegen
Omdat Excel TEXTJOIN arrays van strings kan verwerken, kan het ook worden gebruikt om de inhoud van twee of meer cellen voorwaardelijk samen te voegen. Gebruik daarvoor de IF-functie om een reeks cellen te evalueren en een array van waarden die aan de voorwaarde voldoen terug te sturen naar de tekst1 argument van TEXTJOIN.
Stel dat u uit de tabel in onderstaande schermafbeelding een lijst wilt opvragen van Team 1 leden. Om dit te bereiken nestelt u de volgende IF-instructie in de tekst1 argument:
IF($B$2:$B$9=1, $A$2:$A$9, "")
In gewoon Engels zegt de bovenstaande formule: Als kolom B gelijk is aan 1, geef dan een waarde terug uit kolom A in dezelfde rij; anders geef je een lege tekenreeks terug.
De volledige formule voor Team 1 neemt deze vorm aan:
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=1, $A$2:$A$9, ""))
Op dezelfde manier kunt u een door komma's gescheiden lijst krijgen van de leden van Team 2:
=TEXTJOIN(", ", TRUE, IF($B$2:$B$9=2, $A$2:$A$9, ""))
Opmerking. Vanwege de functie Dynamische matrices die beschikbaar is in Excel 365 en 2021, werkt dit als een gewone formule, zoals in de bovenstaande schermafbeelding. In Excel 2019 moet u het invoeren als een traditionele matrixformule door op de sneltoets Ctrl + Shift + Enter te drukken.
Opzoeken en retourneren van meerdere overeenkomsten in een door komma's gescheiden lijst
Zoals u waarschijnlijk weet, kan de Excel VLOOKUP-functie alleen de eerste gevonden overeenkomst teruggeven. Maar wat als u alle overeenkomsten voor een specifieke ID, SKU of iets anders nodig hebt?
Om de resultaten in afzonderlijke cellen uit te voeren, gebruikt u een van de formules die worden beschreven in Hoe VLOOKUP meerdere waarden in Excel.
Om alle overeenkomende waarden in een enkele cel als een door komma's gescheiden lijst op te zoeken en terug te geven, gebruikt u de formule TEXTJOIN IF.
Om te zien hoe het in de praktijk werkt, laten we een lijst van door een bepaalde verkoper gekochte producten opvragen uit de onderstaande voorbeeldtabel. Dit kan eenvoudig worden gedaan met de volgende formule:
=TEXTJOIN(", ", TRUE, IF($A$2:$A$12=D2, $B$2:$B$12, ""))
Waarbij A2:A12 namen van verkopers zijn, B2:B12 producten, en D2 de verkoper van belang is.
De bovenstaande formule gaat naar E2 en brengt alle overeenkomsten voor de doelverkoper in D2 (Adam). Door het slimme gebruik van relatieve (voor de doelverkoper) en absolute (voor de namen van de verkopers en producten) celverwijzingen, kopieert de formule correct naar de onderstaande cellen en werkt ook mooi voor de andere twee verkopers:
Opmerking. Net als bij het vorige voorbeeld werkt dit als een gewone formule in Excel 365 en 2021, en als een CSE-formule (Ctrl + Shift + Enter ) in Excel 2019.
De logica van de formule is precies dezelfde als in het vorige voorbeeld:
De IF-instructie vergelijkt elke naam in A2:A12 met de doelnaam in D2 (Adam in ons geval):
IF($A$2:$A$12=D2, $B$2:$B$12, "")
Als de logische test uitkomt op TRUE (d.w.z. de naam in D2 komt overeen met de naam in kolom A), geeft de formule een product uit kolom B terug; anders wordt een lege tekenreeks ("") teruggegeven. Het resultaat van IF is de volgende matrix:
{"";"";"Bananas";"Apples";"";"";"";"Oranges";"";"Lemons";""}
De array gaat naar de TEXTJOIN-functie als de tekst1 En omdat TEXTJOIN is ingesteld om de waarden te scheiden met een komma en een spatie (", "), krijgen we deze tekenreeks als eindresultaat:
Bananen, appels, sinaasappels, citroenen...
Excel TEXTJOIN werkt niet
Wanneer uw TEXTJOIN-formule een fout oplevert, is dat waarschijnlijk een van de volgende:
- #NAME? fout treedt op wanneer TEXTJOIN wordt gebruikt in een oudere versie van Excel waar deze functie niet wordt ondersteund (vóór 2019) of wanneer de naam van de functie verkeerd is gespeld.
- Er treedt een #VALUE! fout op als de resulterende string meer dan 32.767 tekens bevat.
- #VALUE! fout kan ook optreden indien Excel het scheidingsteken niet als tekst herkent, bijvoorbeeld indien u een niet-afdrukbaar teken zoals CHAR(0) opgeeft.
Zo gebruik je de TEXTJOIN functie in Excel. Ik dank je voor het lezen en hoop je volgende week op onze blog te zien!
Beschikbare downloads
Excel TEKSTJOEN formule voorbeelden