Combining text from multiple cells — joining a first and last name, building an address, merging codes — is one of the most common Excel tasks. There are several ways to do it, and knowing which to use saves frustration.
The & operator: simplest
The ampersand joins text directly:
=A1 & B1
To add a space or other text between values, include it in quotes:
=A1 & " " & B1
Example — combine first name (A1) and last name (B1):
=A1 & " " & B1
This is the quickest method for simple joins and works in every version of Excel.
CONCATENATE: the old function
CONCATENATE does the same thing as &, just in function form:
=CONCATENATE(A1, " ", B1)
It's being phased out in favor of newer functions, but still works. There's no real reason to prefer it over &, which is shorter.
CONCAT: the modern replacement
CONCAT (Excel 2019+) improves on CONCATENATE by accepting ranges:
=CONCAT(A1:C1)
CONCATENATE couldn't take a whole range — you had to list each cell. CONCAT can, which is handy for joining many adjacent cells. But it doesn't insert separators, so everything runs together.
TEXTJOIN: the best for separators
When you need a separator between values and want to skip blanks, TEXTJOIN (Excel 2019+) is the best tool:
=TEXTJOIN(", ", TRUE, A1:A5)
The first argument is the separator, the second (TRUE) skips empty cells, avoiding doubled-up commas or spaces. This solves the classic problem where empty cells leave stray separators.
Adding spaces, commas, and text
Whatever method you use, remember that literal text goes in quotes:
=A1 & ", " & B1 (adds a comma and space)
=A1 & " - " & B1 (adds a dash)
="Total: " & A1 (adds a label)
Joining text with numbers and dates
When you join a number or date, it may lose its formatting. Use TEXT to control how it appears:
="Total: " & TEXT(A1, "$#,##0.00")
This formats the number as currency within the joined text. For dates:
="Date: " & TEXT(A1, "mm/dd/yyyy")
Without TEXT, a date would show as its underlying serial number.
Which to use
&operator — quick joins of a few cells. The everyday default.- TEXTJOIN — when you need separators and want to skip blanks (best for lists).
- CONCAT — joining a whole range with no separators.
- CONCATENATE — only for legacy files;
&does the same thing better.
The takeaway
For most joins, the & operator is all you need — just remember to put spaces and punctuation in quotes. Step up to TEXTJOIN when you're building lists with separators, and use the TEXT function whenever you're joining numbers or dates that need to keep their formatting.