Stop Using CONCATENATE in Excel: Here Are 3 Better Alternatives
CONCATENATE is outdated. Learn three better ways to join text in Excel that will make your formulas cleaner and more powerful.

Stop Using CONCATENATE in Excel: Here Are 3 Better Alternatives
If you're still using CONCATENATE in Excel, it's time for an upgrade.
I used CONCATENATE for years before discovering better alternatives. Once I made the switch, I never looked back.
Here are three better ways to join text in Excel that will make your formulas cleaner and more powerful.
Why CONCATENATE Is Outdated
CONCATENATE works, but it has frustrating limitations:
- You have to reference each cell individually
- It doesn't handle ranges elegantly
- The syntax gets messy with multiple items
- You can't ignore empty cells automatically
Example of CONCATENATE pain:
=CONCATENATE(A1," ",B1," ",C1," ",D1)
If any of those cells are empty, you get awkward extra spaces. And imagine doing this for 10 cells instead of 4.
Alternative 1: The Ampersand (&)
The simplest replacement is the ampersand operator.
Instead of:
=CONCATENATE(A1," ",B1)
Use:
=A1&" "&B1
Shorter, cleaner, easier to read.
The & operator does exactly what CONCATENATE does, but with less typing. For simple text joining, this is my go-to.
Alternative 2: CONCAT Function
CONCAT is the modern replacement for CONCATENATE (yes, Microsoft deprecated their own function).
The big advantage: It accepts ranges.
=CONCAT(A1:C1)
This joins everything in A1 through C1 without listing each cell individually.
However, CONCAT still has one limitation: no delimiter control and no way to ignore empty cells.
Alternative 3: TEXTJOIN Function (The Winner)
TEXTJOIN is the most powerful option and my personal favorite.
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
Example:
=TEXTJOIN(", ", TRUE, A1:A10)
What this does:
- Joins A1 through A10
- Separates each value with ", " (comma and space)
- Automatically skips empty cells (the TRUE argument)
This is game-changing for:
- Creating comma-separated lists
- Building address fields from separate columns
- Concatenating with consistent delimiters
- Handling missing data gracefully
Real-World Example
Let's say you have first name, middle name, and last name in separate columns. Some people don't have middle names.
With CONCATENATE:
=CONCATENATE(A2," ",B2," ",C2)
Result if B2 is empty: "John Smith" (awkward double space)
With TEXTJOIN:
=TEXTJOIN(" ", TRUE, A2:C2)
Result if B2 is empty: "John Smith" (perfect)
TEXTJOIN automatically handles the spacing.
When to Use Each
| Function | Best For |
|---|---|
| Ampersand (&) | Quick, simple joins of 2-3 items |
| CONCAT | Joining ranges without delimiters |
| TEXTJOIN | Joining ranges with delimiters and handling empties |
The Bottom Line
CONCATENATE still works, but TEXTJOIN handles 90% of text-joining scenarios more elegantly.
Make the switch. Your future self (and anyone who has to maintain your formulas) will thank you.
Common Questions About Excel Text Functions
Q: Do I need Microsoft 365 to use TEXTJOIN?
TEXTJOIN is available in Excel 2019, Excel 2021, Excel 365, and Google Sheets. If you're on Excel 2016 or earlier, you're stuck with CONCATENATE or the ampersand.
Q: Can TEXTJOIN handle more complex scenarios?
Yes. You can use it with other functions. Example: =TEXTJOIN(", ", TRUE, IF(A1:A10>100, A1:A10, "")) to only join values over 100.
Q: What happened to CONCATENATE?
Microsoft still supports it for backward compatibility, but they officially recommend using CONCAT or TEXTJOIN instead.
Excel for Analytics
The complete course for finance professionals who want to level up their Excel skills.

SaaS CFO turned educator. 20+ years in finance leadership, from Big 4 audit to building companies. Now helping 250,000+ professionals master the skills that actually move careers.