CONCAT vs TEXTJOIN in Excel: Which One Should You Use?

Reading time: 2 minutes

CONCAT and TEXTJOIN both join text in Excel, and at first sight they do the same job. They do not. One of them asks you where the separator goes and what to do with empty cells — the other does not ask anything, and that is exactly where lists break.

CONCAT glues, and that is all

CONCAT takes your values and sticks them end to end. Its one real strength is that it accepts a whole range:

=CONCAT(A2:D2)

CONCAT function

⚠️ But the result is PENARileyOmahaNE 68102 — unreadable. CONCAT has no separator. To get spaces or commas, you are back to listing every value one by one, which cancels the advantage.

TEXTJOIN asks the two right questions

=TEXTJOIN(separator, ignore_empty, text1, text2, …)
  • separator — written once, applied everywhere
  • ignore_empty — TRUE to skip empty cells, FALSE to keep them
=TEXTJOIN(", ",TRUE,A2:C2)
TEXTJOIN function

The argument that settles it: the empty cell

Take an address whose second line is often blank:

FormulaResult
=CONCAT and the & operator12 Oak Street, , London
=TEXTJOIN(", ",FALSE,A2:C2)12 Oak Street, , London
=TEXTJOIN(", ",TRUE,A2:C2)12 Oak Street, London ✅

Those double commas are what makes a mailing list look broken. TEXTJOIN with TRUE is the only one that removes them — without a single IF.

Try it right now

👉 Six steps, free, corrected as you type: join a first and last name, then do the same with CONCAT, then with TEXTJOIN. It is a real spreadsheet — start in cell E2.

Joining Last name + First name

Combine last name and first name into one cell using &, CONCAT and TEXTJOIN, with UPPER/LOWER for formatting — 6 guided steps.

=cell & " " & cell

1 / 6

Join first name + space + last name

Text — Q1 · 151

=CONCAT( … , " " , … )

2 / 6

Same thing with CONCAT

Text — Q2 · 152

=UPPER(…) & " " & …

3 / 6

Format "LAST NAME First name" (last name in uppercase)

Text — Q3 · 153

="Hello Mr. " & cell

4 / 6

Greeting line: "Hello Mr. Dupont"

Text — Q4 · 154

=TEXTJOIN( delimiter , ignore_empty , … )

5 / 6

Join Last name, First name and City with TEXTJOIN

Text — Q5 · 155

=LOWER( … & "." & … & "@company.com" )

6 / 6

Build an email: firstname.lastname@company.com

Text — Q6 · 156

Your score is

0%

Which one, and when

  • Two or three values, always filled in → the & operator. Shortest to write.
  • A whole range, no separator needed → CONCAT.
  • A list, a separator, possible gaps → TEXTJOIN. Every time.

⚠️ Both need Excel 2019 or Microsoft 365. On an older version, they return #NAME? — see what changed between CONCAT and CONCATENATE.

Next: keep your date format when joining text · build email addresses from a name list · and the reverse operation with TEXTSPLIT.

Leave a Reply

Your email address will not be published. Required fields are marked *

CONCAT vs TEXTJOIN in Excel: Which One Should You Use?

Reading time: 2 minutes

CONCAT and TEXTJOIN both join text in Excel, and at first sight they do the same job. They do not. One of them asks you where the separator goes and what to do with empty cells — the other does not ask anything, and that is exactly where lists break.

CONCAT glues, and that is all

CONCAT takes your values and sticks them end to end. Its one real strength is that it accepts a whole range:

=CONCAT(A2:D2)

CONCAT function

⚠️ But the result is PENARileyOmahaNE 68102 — unreadable. CONCAT has no separator. To get spaces or commas, you are back to listing every value one by one, which cancels the advantage.

TEXTJOIN asks the two right questions

=TEXTJOIN(separator, ignore_empty, text1, text2, …)
  • separator — written once, applied everywhere
  • ignore_empty — TRUE to skip empty cells, FALSE to keep them
=TEXTJOIN(", ",TRUE,A2:C2)
TEXTJOIN function

The argument that settles it: the empty cell

Take an address whose second line is often blank:

FormulaResult
=CONCAT and the & operator12 Oak Street, , London
=TEXTJOIN(", ",FALSE,A2:C2)12 Oak Street, , London
=TEXTJOIN(", ",TRUE,A2:C2)12 Oak Street, London ✅

Those double commas are what makes a mailing list look broken. TEXTJOIN with TRUE is the only one that removes them — without a single IF.

Try it right now

👉 Six steps, free, corrected as you type: join a first and last name, then do the same with CONCAT, then with TEXTJOIN. It is a real spreadsheet — start in cell E2.

Joining Last name + First name

Combine last name and first name into one cell using &, CONCAT and TEXTJOIN, with UPPER/LOWER for formatting — 6 guided steps.

=cell & " " & cell

1 / 6

Join first name + space + last name

Text — Q1 · 151

=CONCAT( … , " " , … )

2 / 6

Same thing with CONCAT

Text — Q2 · 152

=UPPER(…) & " " & …

3 / 6

Format "LAST NAME First name" (last name in uppercase)

Text — Q3 · 153

="Hello Mr. " & cell

4 / 6

Greeting line: "Hello Mr. Dupont"

Text — Q4 · 154

=TEXTJOIN( delimiter , ignore_empty , … )

5 / 6

Join Last name, First name and City with TEXTJOIN

Text — Q5 · 155

=LOWER( … & "." & … & "@company.com" )

6 / 6

Build an email: firstname.lastname@company.com

Text — Q6 · 156

Your score is

0%

Which one, and when

  • Two or three values, always filled in → the & operator. Shortest to write.
  • A whole range, no separator needed → CONCAT.
  • A list, a separator, possible gaps → TEXTJOIN. Every time.

⚠️ Both need Excel 2019 or Microsoft 365. On an older version, they return #NAME? — see what changed between CONCAT and CONCATENATE.

Next: keep your date format when joining text · build email addresses from a name list · and the reverse operation with TEXTSPLIT.

Leave a Reply

Your email address will not be published. Required fields are marked *