Text

How to Use TEXTJOIN in Excel (Join Text with a Delimiter)

Updated June 30, 2026 5 min read

TEXTJOIN combines text from many cells into one string, placing a delimiter you choose between each item: a comma between names, a slash between dates, or a line break between address lines. It is the modern, flexible way to merge a list.

Its best trick is skipping blank cells, so you never end up with double commas or stray separators. This guide covers the syntax, real examples, and how it differs from CONCAT and the & operator.

TEXTJOIN syntax

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
Argument Required What it does
delimiter Required The text to place between each item, in quotes, such as ", " or " - ". Use "" for no separator.
ignore_empty Required TRUE to skip blank cells (the usual choice); FALSE to keep them and insert a delimiter for each.
text1 Required The first cell, range, or text to join. Whole ranges like A2:A20 are allowed.
text2 Optional More cells, ranges, or text to join. Optional.

Note: TEXTJOIN needs Excel 2019 or Microsoft 365. It also works in Google Sheets with the same arguments.

Examples

Real, copy-paste-ready formulas.

1. Join a list with commas, skipping blanks

You describe Join all the names in A2:A20 separated by commas, ignoring any blank cells
=TEXTJOIN(", ", TRUE, A2:A20)

The ", " sits between each name, and TRUE skips blank cells so you never get an empty slot or a double comma.

2. Build an address from separate columns

You describe Combine the street in A2, city in B2, and ZIP in C2 into one line separated by commas
=TEXTJOIN(", ", TRUE, A2, B2, C2)

You can list individual cells instead of a range. Any blank field is skipped, so a missing city does not leave a dangling comma.

3. Stack items on separate lines

You describe Join the values in A2:A5 with each on its own line
=TEXTJOIN(CHAR(10), TRUE, A2:A5)

CHAR(10) is a line break. Turn on Wrap Text in the cell to see each item on its own row.

4. Keep blank slots in place

You describe Join A2:E2 with commas but keep empty cells so the columns stay aligned
=TEXTJOIN(",", FALSE, A2:E2)

FALSE tells TEXTJOIN to keep blanks, so each missing value still gets its delimiter and positions line up.

How to write TEXTJOIN step by step

  1. 1

    Click the result cell and type =TEXTJOIN(

  2. 2

    Type the delimiter in quotes, such as ", ", then a comma.

  3. 3

    Type TRUE to skip blank cells (or FALSE to keep them), then a comma.

  4. 4

    Select the cells or range to join, for example A2:A20.

  5. 5

    Close the bracket ) and press Enter.

Common errors and fixes

Error Why it happens How to fix it
#NAME? TEXTJOIN is not available in your version of Excel (it needs 2019 or Microsoft 365). Upgrade, or fall back to the & operator or CONCATENATE for older versions.
#VALUE! The joined result is longer than 32,767 characters, the cell limit. Join fewer cells, or split the output across several cells.
Double delimiters appear ignore_empty was set to FALSE while the range had blank cells. Set the second argument to TRUE to skip blanks.
Delimiter is missing The delimiter was left as "" by mistake. Put the separator you want in quotes, e.g. ", " as the first argument.

Frequently asked questions

What does the second argument in TEXTJOIN do?

It is ignore_empty. TRUE skips blank cells so you do not get double delimiters; FALSE keeps blanks and inserts a delimiter for each, which is useful when column positions must line up.

What is the difference between TEXTJOIN and CONCAT?

CONCAT just glues everything together with no separator. TEXTJOIN puts a delimiter between items and can skip blanks, which is what you want for comma-separated lists.

How do I join cells with a line break?

Use CHAR(10) as the delimiter: =TEXTJOIN(CHAR(10), TRUE, A2:A5), then turn on Wrap Text so each item shows on its own line.

Does TEXTJOIN work in Google Sheets?

Yes. Google Sheets has TEXTJOIN with the same delimiter, ignore_empty, and text arguments.

Launching soon

Get this the moment we launch

ExcelPerfect turns plain English into the exact formula, and it’s almost here. Join the waitlist for early access and an extended free trial.

You type Join all the names in A2:A20 separated by commas, skipping blanks
=TEXTJOIN(", ", TRUE, A2:A20)

No spam, ever. Just one email the day we launch. By joining you agree to our Privacy Policy.