Skip to main content
SheetCraft
🔤 Text Function · beginner

TEXTJOIN Function in Google Sheets

Concatenates a range of text values using a delimiter between each. The modern way to join strings — replaces clunky CONCATENATE chains for ranges.

Syntax

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

Returns: A single string with all non-empty values joined by delimiter.

Excel equivalent: TEXTJOIN (identical, requires Excel 2019+ or Microsoft 365)

Parameters

NameRequiredDescription
delimiterRequiredWhat to put between each value, e.g., ", " or "\n" for a line break.
ignore_emptyRequiredTRUE skips empty cells (most common). FALSE includes them as zero-length strings.
text1, text2, ...RequiredValues or ranges to join.

Examples

Join a column into a comma-separated list

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

Produces "Apple, Banana, Cherry, ..." from column A, skipping any blank cells.

Build a sentence from fields

=TEXTJOIN(" ", TRUE, "Hello,", A2, "your order is", B2)

Combines fixed text with cell values. Outputs e.g., "Hello, Alice your order is #1234".

Multi-line output for invoice line items

=TEXTJOIN(CHAR(10), TRUE, ARRAYFORMULA(A2:A20 & " — " & B2:B20))

CHAR(10) is a line break. Wraps in ARRAYFORMULA to format each row first. Use cell wrapping (Format → Wrapping → Wrap) to see the lines stacked.

When to use an alternative

  • CONCATENATE / &You only have a handful of fixed cells to join, not a range.
  • JOINYou don't need to skip empty cells (JOIN is the simpler older function).
  • ARRAYFORMULA + nested logicYou need per-row joins, not a single combined string.

Common errors and how to fix them

  • Joins blank cells with delimiters

    Cause: ignore_empty set to FALSE.

    Fix: Pass TRUE as the second argument.

  • #VALUE!

    Cause: Delimiter argument missing or one of the inputs is an error.

    Fix: Wrap inputs with IFERROR or filter the range first.

Related functions

Frequently Asked Questions

What's the difference between TEXTJOIN and JOIN?

JOIN doesn't have an ignore_empty option — it includes blanks, producing "Apple,,Cherry" if the middle cell is empty. TEXTJOIN handles that case correctly. JOIN also doesn't support multiple range arguments. Use TEXTJOIN unless you're maintaining an older sheet.

How do I add a line break with TEXTJOIN?

Use CHAR(10) as the delimiter: TEXTJOIN(CHAR(10), TRUE, A2:A100). To see the line breaks in the cell, enable text wrapping: Format → Wrapping → Wrap.

Source: Google Sheets official function reference.