Text
How to Use TEXTJOIN in Excel (Join Text with a Delimiter)
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
=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
=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
=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
=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
Click the result cell and type =TEXTJOIN(
- 2
Type the delimiter in quotes, such as ", ", then a comma.
- 3
Type TRUE to skip blank cells (or FALSE to keep them), then a comma.
- 4
Select the cells or range to join, for example A2:A20.
- 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.