How to Combine Text in Excel: CONCAT, TEXTJOIN and & (2026 Guide)
First name in one column, last name in another, and you need "Priya Sharma" in a third. Excel has three ways to glue text together — the & operator, CONCAT, and TEXTJOIN — and they are not interchangeable. One is best for a quick join, one for a range, one for a list with separators. Here they are, with the same jobs done each way so you can see the difference.
Method 1: The & operator (quick and everywhere)
Full name from first name in A2 and last name in B2:
=A2&" "&B2
& joins whatever is on either side of it. Text goes in quotes — including the space between the names, which is the part everyone forgets the first time (=A2&B2 gives "PriyaSharma"). The & operator works in every Excel version, Google Sheets, and LibreOffice, and it is the fastest way to join two or three pieces.
Method 2: CONCAT (join a range, no separator)
CONCAT joins a list of values, and it accepts a whole range at once:
=CONCAT(A2:C2)
That glues A2, B2, and C2 together with nothing between them. With separators, you write them in yourself:
=CONCAT(A2," ",B2)
CONCAT replaced the older CONCATENATE function, which still works but is no longer updated. If you inherit a spreadsheet full of CONCATENATE, it does the same thing — no need to rewrite it.
Method 3: TEXTJOIN (lists, addresses, anything with a separator)
TEXTJOIN is the one to learn. It takes a separator first, then decides what to do with empty cells:
=TEXTJOIN(" ",TRUE,A2:C2)
The pieces: " " is the separator (a space), TRUE means "skip empty cells", and A2:C2 is the range. For a comma-separated list of tags in A2:A10:
=TEXTJOIN(", ",TRUE,A2:A10)
Skipping blanks is the killer feature. Building an address from street, city, and state where the second address line is sometimes empty? With & you get a double space or a stray comma; with TEXTJOIN and TRUE, the empty cell simply disappears. TEXTJOIN needs Excel 2019 or Microsoft 365 (it works in Google Sheets too).
Which one to use
| Job | Use | Why |
|---|---|---|
| Join two or three cells quickly | & | Shortest to type, works everywhere |
| Join a whole range with no separator | CONCAT | Takes a range; & cannot |
| Join with a separator, skipping blanks | TEXTJOIN | Separator plus blank-skipping in one function |
| Build an address or a list | TEXTJOIN | Empty lines vanish instead of leaving double separators |
The 3 mistakes that break text joins
- Dates turn into numbers. Excel stores dates as numbers, and joining text exposes the raw number —
="Due "&A2gives "Due 45941". Wrap the date first:="Due "&TEXT(A2,"dd mmm yyyy"). - Numbers lose their formatting.
="Total: "&B2turns $1,250.00 into "Total: 1250". UseTEXTto keep the format:="Total: "&TEXT(B2,"$#,##0.00"). - Double separators from empty cells.
=A2&", "&B2&", "&C2with B2 empty gives "Main St, , Springfield". Use TEXTJOIN withTRUEand the empty cell drops out cleanly.
FAQ
What is the difference between CONCAT and TEXTJOIN?
CONCAT glues values together with no separator — you add spaces and commas yourself. TEXTJOIN takes a separator as its first argument and can skip empty cells, which makes it the right choice for lists and addresses.
Why does my combined date show as a number?
Excel stores dates as numbers, and combining text with & or CONCAT exposes the raw number. Wrap the date in TEXT first, for example =TEXT(A2,"dd mmm yyyy"), to control how it appears.
Do CONCAT and TEXTJOIN work in Google Sheets?
Yes — both work in Google Sheets with the same syntax. The & operator works everywhere.
Describe it — get the formula
Type what you want in plain English and get the TEXTJOIN, CONCAT, or any other formula, explained. Free: 5 formulas a day, no account. Sigline Pro ($39 once) unlocks unlimited.