Online Excel Editor
Free Use

TEXTJOIN in Excel: Syntax, Examples and Errors

Updated 2026-10-13 · Free · Works in Excel & Google Sheets

Syntax

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)

Quick answer

TEXTJOIN glues many values into one cell with a delimiter you choose: =TEXTJOIN(", ", TRUE, A2:A8) turns a column into "Doe, Smith, Lee" in one cell. TRUE skips blank cells, FALSE keeps them as gaps — and because the result is text, it can no longer be used as a number.

Syntax

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
ArgumentWhat it means
delimiterThe text placed between every pair of values: ", " for a comma+space list, "-" for codes, CHAR(10) for a line break inside one cell. Written in quotes, or as a cell reference.
ignore_emptyTRUE skips blank cells so they leave no gap; FALSE keeps an empty slot for each blank. No default — you must type TRUE or FALSE.
text1, [text2], ...The values to join: single cells, whole ranges, or a mix — up to 252 text arguments. A range like A2:A8 joins all its cells in order.

Depending on your regional settings, arguments are separated by semicolons instead of commas: =TEXTJOIN(", "; TRUE; A2:A8). This is standard in countries where the comma is the decimal separator.

Basic examples

=TEXTJOIN(", ", TRUE, A2:A8)

The signature move: a whole column collapses into one readable list — "Doe, Smith, Lee" — with TRUE discarding the blanks along the way. Perfect for summaries, email lines, and any place a raw range would print one value per row.

=TEXTJOIN(CHAR(10), TRUE, B2:B10)

Joins the values with real line breaks inside a single cell — an address block, a checklist, a mini-report. Turn on Wrap Text for the cell, or the breaks show as one long line.

=TEXTJOIN("-", TRUE, A2, B2, C2)

Builds codes and keys from parts: SKU, order numbers, slugified titles. Each piece is separated by exactly one dash, so nobody has to hand-type the separator ever again.

=TEXTJOIN(", ", FALSE, A2:A8)

The same list with FALSE: every blank cell keeps its slot, so missing values show up as ", ," — exactly what you want when position in the list carries meaning and gaps must stay visible.

The result of TEXTJOIN is text — one value that cannot be summed, averaged or matched like a number. If the joined output must feed calculations, keep the original cells too, or convert the result back with VALUE.

Common errors and how to fix them

SymptomMost common causeFix
#NAME?TEXTJOIN is misspelled — or your Excel is older than 2019 / not Microsoft 365, where the function does not exist, or another language version localizes the name (UNIRCADENAS, JOINDRE.TEXTE, TEXTVERKETTEN).Type =TEXT and let autocomplete confirm the function exists; update Office if it does not, or open the file in the matching language version.
#VALUE!The joined result exceeds 32,767 characters — the hard cell limit. Huge ranges with long text overflow silently into this error.Split the range into several TEXTJOIN cells (A2:A500, A501:A1000, ...) and join those, or shorten the source text.
The list overflows one long lineThe line breaks are there but the cell does not display them: CHAR(10) needs Wrap Text switched on for the destination cell.Select the cell and enable Wrap Text — the CHAR(10) breaks render as real new lines immediately.
Gaps like ", ," appear in the listignore_empty was set to FALSE, so blank cells keep their slot in the output.Switch the second argument to TRUE, or clean the blanks first if the gaps are symptoms of a data problem.
A delimiter appears at the start or endThe first argument received a range or the wrong text: =TEXTJOIN(A2:A8, TRUE, ...) uses cells as the delimiter itself, and a delimiter with a trailing space shows one at the end.Put the delimiter string in quotes as the first argument — =TEXTJOIN(", ", TRUE, A2:A8) — and check it for stray spaces.

Hidden spaces wreck joined lists too: "Doe " joins as "Doe , Smith" with a stray gap before the delimiter. Clean the source range first, and the joined list comes out perfectly aligned.

TEXTJOIN vs. CONCAT and CONCATENATE

TEXTJOINCONCAT / CONCATENATE
DelimiterOne argument covers the whole join — placed between every pair of valuesNone — you type the separator between every single pair by hand
Blank cellsThe ignore_empty argument skips or keeps blanks in one switchBlanks join as empty strings — gaps appear and must be cleaned in advance
RangesAccepts whole ranges directly: =TEXTJOIN(", ", TRUE, A2:A8)Only single cells and literals — a range spills a spilled-array error or joins with no separator
Available inExcel 2019 and later, Microsoft 365 (and Google Sheets)Every version — CONCAT since 2016, CONCATENATE back to the earliest Excels (and Google Sheets)
=CONCATENATE(A2, " ", B2)

The old way: every separator is typed by hand, and a three-cell join already needs two of them. For two or three known cells this is fine — but for a whole column, TEXTJOIN with ignore_empty is shorter, safer against blanks, and easier to read a year later.

TEXTJOIN in Google Sheets

Google Sheets supports TEXTJOIN with the same three arguments and behavior as Excel, so the formulas above can be pasted over unchanged.

  • In regional settings that use a comma as the decimal separator (much of Europe and Latin America), type semicolons between arguments: =TEXTJOIN(", "; TRUE; A2:A8). Excel behaves the same way.
  • Sheets also has JOIN, which works like TEXTJOIN but skips empty cells automatically — no TRUE/FALSE argument to remember.
  • The reverse operation exists too: SPLIT pulls one cell apart into several, mirroring what TEXTJOIN does.
  • Just like Excel, the output is text: 32,767 characters is the ceiling, and numbers joined into a string stop being numbers.

Limitations and pro tips

  • TEXTJOIN erases data types: dates, currency and decimals join as their displayed text, and the result can never be calculated again. Keep the source cells if the numbers matter.
  • TRUE also swallows cells that contain only an empty string "" — handy for cleaned data, dangerous when an empty string was meaningful.
  • The delimiter applies between values only — never before the first or after the last. If you see leading or trailing separators, the arguments are in the wrong order.
  • Joining thousands of rows re-evaluates on every edit: for very large ranges, consider Power Query or a one-time paste-as-values instead of a live formula.
  • TEXTSPLIT is the inverse operation: one cell back into columns or rows. Join to hand off a list, split to unpack one.

Treat TEXTJOIN as the presentation layer: clean the values first, then join. A joined list is only as tidy as the cells that feed it — polish the source, and the result needs no manual patching.

Related Tools

Related Functions

Frequently Asked Questions

What does TEXTJOIN do in Excel?

It combines many text values into one cell, placing a delimiter of your choice between them: =TEXTJOIN(", ", TRUE, A2:A8) turns a column into "Doe, Smith, Lee". The TRUE argument tells it to skip blank cells along the way.

Which Excel versions have TEXTJOIN?

Excel 2019 and later, plus Microsoft 365. In Excel 2016 and earlier the function does not exist — #NAME? is the telltale sign — and CONCATENATE or the & operator are the workarounds there.

How do I join values with line breaks?

Use CHAR(10) as the delimiter: =TEXTJOIN(CHAR(10), TRUE, A2:A8). Each value lands on its own line inside one cell — turn on Wrap Text so the breaks actually display instead of hiding in one long row.

Why does TEXTJOIN return #VALUE!?

The joined string exceeded 32,767 characters — the hard limit for a single cell. Split the range across several TEXTJOIN formulas and join those results, or trim the source text.

What is the difference between TEXTJOIN and CONCAT?

CONCAT just glues values with nothing between them and takes single cells; TEXTJOIN adds a delimiter between every pair and can skip blanks in one switch. For lists and ranges, TEXTJOIN replaces both CONCAT and CONCATENATE.

How do I ignore blank cells in TEXTJOIN?

Set the second argument to TRUE: =TEXTJOIN(", ", TRUE, A2:A8). Blanks leave no gap in the output. FALSE keeps an empty slot for each blank — useful when position matters and gaps must stay visible.

Does TEXTJOIN work in Google Sheets?

Yes — same name, same three arguments, same behavior, semicolons only in comma-decimal regional settings. Sheets also offers JOIN, which skips blanks automatically, and SPLIT as the inverse operation.

Ready to try it on your own file?

Open Merge Columns in Excel — It's Free