In Excel: use =TEXTJOIN(delimiter, ignore_empty, range) — it joins a whole range into one string, putting your delimiter between items and optionally skipping blank cells. Function availability: TEXTJOIN: Excel 2019+. These are Microsoft's version markers; earlier perpetual releases do not include these functions. Check the actual product and update channel before using the formula. A marker does not establish an identical Web/Mac workflow or Google Sheets support.
On this page8
Syntax
Arguments
| Argument | required / optional | Description |
|---|---|---|
delimiter | required | The text placed between each item, such as ", " for a comma-separated list. |
ignore_empty | required | TRUE skips blank cells (so no double delimiters); FALSE keeps them. |
text1 | required | The first cell, range or string to join, such as A2:A6. |
text2, ... | optional | Optional further cells, ranges or strings to append. |
Related functions
Function availability: TEXTJOIN: Excel 2019+. These are Microsoft's version markers; earlier perpetual releases do not include these functions. Check the actual product and update channel before using the formula. A marker does not establish an identical Web/Mac workflow or Google Sheets support.
In the result cell type =TEXTJOIN( and type the delimiter in quotes, such as ", " for a comma-separated list.
Type a comma, then TRUE to skip blank cells (or FALSE to keep them).
Type a comma and select the range to join, such as A2:A6.
Close the bracket and press Enter to see the combined string.
Add more comma-separated ranges or cells before the closing bracket if the values are spread out.
What this does
TEXTJOIN joins many values into one string with a delimiter you set once, and it accepts a whole range rather than item-by-item arguments — its two big advantages over CONCATENATE. The first argument is the separator (for example ", "), the second decides whether blank cells are skipped (TRUE) or kept as empty slots (FALSE), and then you point it at a cell, a range, or several of them. With ignore_empty TRUE you never get doubled-up delimiters from gaps in the data. The same idea underpins a lot of everyday Excel work, so the few minutes spent getting it right here pay back across every sheet you build afterwards. Treat it as a pattern, not a one-off, and it stops being something you look up and starts being something you reach for. Treat “textjoin if” as a small repeatable workflow rather than a one-off click you hope to remember next time. Use a small test block before the live file, so any surprise in the affected cells shows up while it is still harmless. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. That turns a text operation that turns messy entries into clean, usable data into a method you can reuse, explain, and defend when the workbook leaves your screen.
A worked example
Tags sit in A2:A6 as "red", "", "blue", "", "green" with two blanks. =TEXTJOIN(", ", TRUE, A2:A6) returns "red, blue, green" — the comma-space separates each value and the empty cells are skipped, so there are no ", ," gaps. With FALSE instead of TRUE it would return "red, , blue, , green", keeping the blanks as empty entries. TEXTJOIN is the modern way to build delimited lists from a column — comma-separated tags, address lines, email recipients — joining a range in one step and skipping the blanks. Check the referenced cells, argument order and result type in your workbook. Start with the worked example before changing an input, then compare the changed result with the calculation you expected. An error value or a result of a different type is a reason to inspect the inputs and arguments.
In Google Sheets
Function availability: TEXTJOIN: Excel 2019+. These are Microsoft's version markers; earlier perpetual releases do not include these functions. Check the actual product and update channel before using the formula. A marker does not establish an identical Web/Mac workflow or Google Sheets support. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. For “textjoin if”, keep the input cells and the result visible while you check the formula in Excel. Follow the worked example and change one input at a time. The steps explain the workbook calculation; this page does not run a live calculator for that task.
Common mistakes
- Swapping the first two arguments — the delimiter comes first and ignore_empty second, not the other way around.
- Leaving ignore_empty as FALSE on data with gaps, which produces ugly doubled delimiters like "red, , blue".
- Forgetting the quotes around the delimiter, so a literal separator such as ", " is misread and the formula errors.
Frequently asked questions
How is TEXTJOIN better than CONCATENATE?
TEXTJOIN takes a whole range at once, sets the separator a single time instead of inserting it between every pair, and can skip blank cells automatically — three things CONCATENATE cannot do.
How do I stop empty cells from adding extra delimiters?
Set the second argument, ignore_empty, to TRUE. TEXTJOIN then skips blank cells entirely, so a range with gaps joins cleanly without ", ," runs.
Can TEXTJOIN use a line break as the delimiter?
Yes — use CHAR(10) as the delimiter, =TEXTJOIN(CHAR(10), TRUE, A2:A6), and turn on Wrap Text in the cell so each joined value appears on its own line.
Which Excel release does this formula require?
Function availability: TEXTJOIN: Excel 2019+. These are Microsoft's version markers; earlier perpetual releases do not include these functions. Check the actual product and update channel before using the formula. A marker does not establish an identical Web/Mac workflow or Google Sheets support.