Ga naar hoofdinhoud

Excel TEXTJOIN(): Tekst combineren in Excel

Combineer celwaarden moeiteloos met TEXTJOIN(). Ga om met scheidingstekens, sla lege cellen over en vereenvoudig je gegevensverwerking in Excel.
· 6 min lezen

Verken met AI

Goed geformatteerde tekst opbouwen uit Excel-gegevens is een veelvoorkomende behoefte, maar waarden aan elkaar rijgen kan al snel rommelig worden. De functie TEXTJOIN() van Excel biedt een eenvoudige oplossing: je kunt tekstbereiken samenvoegen met een scheidingsteken en zelfs lege cellen overslaan. 

In dit artikel neem ik de basis van TEXTJOIN() door, vergelijk ik het met soortgelijke functies zoals CONCAT() en CONCATENATE(), en werk ik praktische scenario’s uit waarin het uitblinkt. Onderweg pleit ik voor TEXTJOIN() omdat ik vind dat dit tegenwoordig het betere hulpmiddel is om tekst te combineren – en ik denk dat je aan het einde van het artikel ook overtuigd bent.

Hoe Excel TEXTJOIN() werkt

Laten we eerst helder krijgen wat TEXTJOIN() precies doet en waarom de syntaxis zoveel flexibeler is dan wat er eerder was.

In de kern laat TEXTJOIN() je tekstwaarden uit meerdere cellen samenvoegen, met een scheidingsteken (zoals een komma, spatie of puntkomma) ertussen. In tegenstelling tot oudere aanpakken kan het in één keer een volledig bereik verwerken, en je bepaalt zelf of lege cellen worden genegeerd.

Dit is de syntaxis:

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
  • delimiter: Het teken of de tekens die je tussen elk tekstdeel wilt plaatsen (vaak een komma, spatie, enz.)

  • ignore_empty: TRUE om lege cellen over te slaan, FALSE om ze op te nemen

  • text1, [text2], …: De cellen, bereiken of waarden die je wilt combineren

Stel dat je waarden hebt in A1, A2 en A3. Je wilt ze samenvoegen, gescheiden door komma’s, en lege cellen overslaan:

=TEXTJOIN(",", TRUE, A1:C1)

Excel TEXTJOIN terwijl lege cellen worden overgeslagen

Als A2 leeg is, krijg je alleen de waarden uit A1 en A3, gescheiden door een komma.

Waarom is dit belangrijk? Andere functies (ik denk aan CONCATENATE()) laten je elke cel apart opsommen en slaan geen lege cellen over. TEXTJOIN() is korter om te typen en veel makkelijker te onderhouden.

TEXTJOIN() vs. CONCATENATE() vs. CONCAT()

Nu we de basis van TEXTJOIN() hebben behandeld, is het de moeite waard om te zien hoe het zich verhoudt tot oudere Excel-tekstfuncties. Als je CONCATENATE() of CONCAT() hebt gebruikt, vraag je je misschien af waarom je zou overstappen.

  • TEXTJOIN(): Laat je een scheidingsteken opgeven en eenvoudig lege cellen overslaan. Accepteert bereiken.

  • CONCAT(): Voegt bereiken of individuele tekstcellen samen, maar je kunt geen scheidingsteken opgeven. Slaat geen lege cellen over.

  • CONCATENATE(): De oudste optie. Dwingt je om elke cel één voor één op te geven. Geen veld voor scheidingsteken, geen bereikondersteuning.

Als voorbeeld: we voegen waarden in B1, B2 en B3 samen met een puntkomma ertussen. Zo zien de verschillende functies eruit:

=TEXTJOIN(";", TRUE, A1:C1)

Excel TEXTJOIN met een puntkomma

=CONCAT(B1:D1)

Excel TEXTJOIN vs CONCAT

=CONCATENATE(B1, C1, D1)

Excel TEXTJOIN vs CONCATENATE

Let erop dat TEXTJOIN() de enige is waarmee je zonder extra gedoe een scheidingsteken kunt kiezen. Met CONCAT() of CONCATENATE() moet je scheidingstekens handmatig toevoegen als je die wilt:

=B1 & ";" & C1 & ";" & D1

scheidingstekens handmatig toevoegen

En minstens zo belangrijk: afhankelijk van hoe je gegevens zijn opgebouwd, kan TEXTJOIN() lege cellen voor je overslaan. CONCATENATE() en CONCAT() nemen de lege cel gewoon op.

Scheidingstekens en lege cellen afhandelen

Ik wil iets meer vertellen over deze twee veelvoorkomende pijnpunten: consistente scheidingstekens toevoegen en lege cellen negeren.

Aangepaste scheidingstekens

Je wilt waarschijnlijk verschillende scheidingstekens voor verschillende gevallen. Je kunt komma’s, pipes, nieuwe regels of zelfs andere soorten tekens als scheiding gebruiken.

Om te scheiden met een verticale streep, gebruik je dit:

=TEXTJOIN("|", TRUE, D1:G1)

Excel TEXTJOIN met een verticale streep

Je kunt ook meer niches doen. Hier gebruik ik een spatie-streepje-spatie als scheiding:

=TEXTJOIN(" - ", TRUE, D1:G1)

Excel TEXTJOIN met liggende streepjes

Je kunt zelfs CHAR(10) gebruiken voor een regeleinde, al moet je dan in de celeigenschappen Tekstterugloop inschakelen om het effect te zien.

Lege cellen overslaan

Een van de frustrerendste zaken bij het samenstellen van gegevens is omgaan met lege cellen. TEXTJOIN() geeft je de regie. Zet het argument ignore_empty op TRUE, en lege cellen worden volledig weggelaten.

=TEXTJOIN(", ", TRUE, E1:G1)

Excel TEXTJOIN slaat lege cellen over

Resultaat: “Red, Blue”. De lege cel (F2) wordt genegeerd, dus je krijgt geen extra komma.

Als je ignore_empty op FALSE zet:

=TEXTJOIN(", ", FALSE, E1:G1)

Excel TEXTJOIN vergeet lege cellen over te slaan

Nu is het resultaat: “Red, , Blue”. Die extra komma valt op (en is meestal niet wat je wilt). Naar mijn ervaring is TRUE meestal het beste.

Dit lijkt misschien een klein verschil, maar als je deze functie even oefent, bespaar je tijd op nabewerkingen.

Dynamische lijsten en labels bouwen

Nu je de basis hebt gezien, bekijken we manieren waarop TEXTJOIN() problemen kan oplossen. Ik focus op twee scenario’s die je waarschijnlijk tegenkomt: dynamische samenvattingen maken en labels samenstellen uit variabele gegevens.

Samenvattingen maken op basis van gebruikersinvoer

Stel dat je enquête-antwoorden verzamelt waarbij gebruikers Ja/Nee antwoorden op een reeks optionele vragen. Alleen sommigen antwoorden, dus de resultaten staan verspreid over F1 tot en met J1. 

Als je alleen de vragen wilt opsommen waarop ze “Yes” hebben geantwoord, kun je TEXTJOIN() combineren met IF() en FILTER() (met dynamische arrays in nieuwere Excel-versies).

Stel dat G1:G5 de vraagtekst bevat en F1:F5 de bijbehorende Yes/No:

=TEXTJOIN(", ", TRUE, FILTER(F2:J2, F1:J1="Yes"))

Excel TEXTJOIN gecombineerd met FILTER

Je uitvoercel vermeldt nu alleen de vragen waarop de gebruiker “Yes” zei, gescheiden door komma’s.

Heb je geen dynamische arrays, bouw dan een hulp kolom die de vraagtekst alleen weergeeft als het antwoord Yes is, en voeg dat hulpreeks samen met TEXTJOIN().

Aangepaste labels bouwen uit variabele gegevens

Stel dat je verzendlabels voorbereidt uit een tabel waarin sommige velden (zoals “Apartment” of “Suite”) soms leeg zijn. Je wilt adresonderdelen samenvoegen tot één regel.

Als je adres staat in H1 (“123 Main St”), H2 (“Apt 4B” of leeg), H3 (“Springfield”), H4 (“IL”), H5 (“62704”), dan gebruik je:

=TEXTJOIN(", ", TRUE, H1:L1)

Excel TEXTJOIN met flexibiliteit voor lege cellen

Als H2 leeg is, blijft je output netjes (geen dubbele komma’s!) omdat TEXTJOIN() de lege cel overslaat.

Dit zijn veelvoorkomende voorbeelden, maar dezelfde logica geldt overal waar je gegevens samenvoegt met optionele velden of conditionele opname.

Overige aandachtspunten

Hoe handig TEXTJOIN() ook is, er zijn een paar kleine zaken:

Meerdere bereiken gebruiken met TEXTJOIN()

Eén ding om te weten over TEXTJOIN() is hoe het omgaat met meerdere bereiken. Je kunt meer dan één bereik doorgeven, zelfs als ze niet naast elkaar liggen, zolang je ze maar apart opsomt:

=TEXTJOIN(", ", TRUE, B1:D1, B2:D2)

Excel TEXTJOIN met een niet-aaneengesloten bereik

Dit werkt prima. Excel combineert de waarden uit beide bereiken en voegt ze samen. Onthoud wel: je kunt ze niet als één array schrijven zoals (A1:A3,C1:C3). Je moet elk bereik als een eigen argument opgeven.

Geneste functies en dynamische arrays

Als je TEXTJOIN() gebruikt als onderdeel van een formule met dynamische arrays (zoals met UNIQUE() of FILTER()), onthoud dan dat je scheidingsteken en ignore_empty-argument nog steeds enkele waarden moeten zijn. Arrays daar gebruiken levert een #VALUE!-fout op.

Scheidingstekens en eindopmaak

Soms wil je geen scheidingsteken (je wilt alles gewoon aan elkaar plakken). Zet het scheidingsteken dan op "" (een lege tekenreeks):

=TEXTJOIN("", TRUE, A1:C1)

Excel TEXTJOIN zonder scheidingsteken

Weet wel: als je het scheidingsteken overslaat, verlies je het belangrijkste voordeel van de functie ten opzichte van CONCAT().

Als je lijsten wilt maken voor gebruik buiten Excel (zoals CSV-uploads), let dan op extra spaties, onverwachte regeleinden of tekenencodering (vooral als je symbolen of Unicode gebruikt).

Verwante functies en geavanceerde technieken

Als je vertrouwd raakt met TEXTJOIN(), vraag je je misschien af hoe het past bij andere “dynamische” Excel-functies. Vaak wordt het nog krachtiger in combinatie met UNIQUE(), FILTER() of SORT().

Stel bijvoorbeeld dat je alle unieke productcategorieën uit een lijst wilt samenvoegen:

=TEXTJOIN(", ", TRUE, UNIQUE(TRANSPOSE(A1:E1)))

Let op: UNIQUE() is in Excel standaard kolomgeoriënteerd. Omdat ik met een rij werkte, moest ik ook TRANSPOSE() gebruiken.

Of je wilt alleen diegenen die aan een bepaalde voorwaarde voldoen:

=TEXTJOIN(", ", TRUE, FILTER(A1:C1, A2:C2="Active"))

Beide voorbeelden laten zien hoe TEXTJOIN() gegevens kan samenvatten of rapporteren zonder hulpkolommen of handmatig filteren.

Conclusie

Als je nog steeds CONCATENATE() gebruikt of cellen handmatig aan elkaar rijgt, bespaart overstappen op TEXTJOIN() je tijd. (Beloofd!)

Ook wil ik toevoegen dat het leren van TEXTJOIN() je helpt om in bereiken te denken. Dat is een manier van werken die loont wanneer je de functies voor dynamische arrays van Excel en andere modernere aanpakken gebruikt. Volg onze Advanced Excel Functions-cursus om verder te leren.

Josef Waples

Auteur

Josef Waples

Ik ben een schrijver en editor op het gebied van data science en heb bijgedragen aan onderzoeksartikelen in wetenschappelijke tijdschriften. Ik ben vooral geïnteresseerd in lineaire algebra, statistiek, R en dergelijke. Ik speel ook best wat schaak! 

Onderwerpen

Gerelateerd