CONCAT vs TEXTJOIN vs &
All three join text. The & operator is fine for two or three pieces. CONCAT joins whole ranges but adds nothing between them. TEXTJOIN puts a delimiter between items and can skip blanks, which makes it the right choice for names, addresses and lists.
The differences
| Feature | & and CONCAT | TEXTJOIN |
|---|---|---|
| Delimiter between items | Typed into the formula each time | One argument for all items |
| Ranges like A2:C2 | CONCAT: yes. &: no | Yes |
| Skip empty cells | No | Yes, with ignore_empty TRUE |
| Available in | CONCAT: Excel 2019 and later. &: every version | Excel 2019 and later |
Same data, side by side
One sample sheet, each approach in its own cell. Results are calculated by our formula engine.
| Cell | Formula | Result | What it shows |
|---|---|---|---|
| F2 | =A2&" "&B2&" "&C2 | Maya Chen | The & operator leaves a double space when the middle name is blank |
| F3 | =CONCAT(A2:C2) | MayaChen | CONCAT joins the range but puts nothing between the parts |
| F4 | =TEXTJOIN(" ",TRUE,A2:C2) | Maya Chen | TEXTJOIN adds spaces and skips the blank middle name |
Try it live
Change the inputs or rewrite a formula and compare the results.
When to use each
Choose & when
You're joining two or three cells with a fixed separator and want the formula to work in any version.
Choose TEXTJOIN when
There's a range, a delimiter, or blank cells to skip, such as full names, addresses or comma-separated lists.
Practice TEXTJOIN
From lesson 14, Joining text. Graded instantly, then re-checked on changed data.
One-cell list
G2, list every city from C2:C6 in one cell, separated by a comma and a space, skipping blanks.The functions
CONCATCONCAT joins text from several cells or whole ranges into one string. Excel 2019 and later, including Microsoft 365.TEXTJOINTEXTJOIN joins a list of values with the same delimiter between each one, and can skip blanks. Excel 2019 and later, including Microsoft 365.CONCATENATECONCATENATE joins up to 255 text items into one string. Every current version.
Questions
What is the difference between CONCAT and CONCATENATE?
CONCAT accepts ranges such as A2:C2; CONCATENATE needs each cell listed separately. CONCATENATE is kept for older files.
How do I join a column into one comma-separated cell?
Use =TEXTJOIN(", ",TRUE,A2:A20). The TRUE skips empty cells.
Last reviewed October 2026.