TEXTJOIN and CONCAT are modern functions for combining text from multiple cells. They replaced the clunky old CONCATENATE, and TEXTJOIN in particular solves a problem that used to require awkward workarounds.
The old way and its problem
For years, joining text meant CONCATENATE or the & operator:
=A1 & " " & B1 & " " & C1
This works, but it's tedious when you have many cells, and it has an ugly flaw: if some cells are empty, you get doubled-up separators (like "John Smith" with two spaces, or stray commas).
CONCAT: the simpler join
CONCAT (Excel 2019+) joins values and accepts ranges, which CONCATENATE couldn't:
=CONCAT(A1:C1)
This combines everything in the range. But CONCAT doesn't add separators — everything runs together — so it's best when you don't need spaces or commas between values.
TEXTJOIN: the one you actually want
TEXTJOIN (Excel 2019+) is the star. Its syntax:
=TEXTJOIN(delimiter, ignore_empty, text1, text2, ...)
- delimiter — what to put between each value (a space, comma, etc.).
- ignore_empty — TRUE to skip blank cells (this is the killer feature).
- text — the cells or ranges to join.
Example — join a list of names with commas, skipping any blanks:
=TEXTJOIN(", ", TRUE, A1:A10)
That TRUE is what makes TEXTJOIN special: it skips empty cells, so you never get doubled separators or trailing commas. The old CONCATENATE approach couldn't do this without complicated nesting.
Practical examples
Combine address parts, skipping missing ones:
=TEXTJOIN(", ", TRUE, Street, City, State, Zip)
If someone has no street listed, you won't get a stray leading comma.
Build a comma-separated list from a column:
=TEXTJOIN(", ", TRUE, B2:B50)
Great for turning a column of items into a single readable list.
Join with line breaks using CHAR(10) as the delimiter (enable Wrap Text to see them):
=TEXTJOIN(CHAR(10), TRUE, A1:A5)
Which to use
- TEXTJOIN — whenever you need a separator between values or want to skip blanks. This is the default choice.
- CONCAT — when you're gluing values together with no separator.
- CONCATENATE /
&— only for older-version compatibility, since they lack the range and ignore-empty features.
Version note
TEXTJOIN and CONCAT require Excel 2019 or later (or Microsoft 365). In older versions they show as #NAME? errors, so for shared workbooks with mixed versions, fall back to the & operator. But if you have a modern Excel, TEXTJOIN will quickly become one of your most-used text functions.