Field Guide

How to concatenate in Excel: the & operator, CONCAT, TEXTJOIN, and CONCATENATE

Updated

To concatenate in Excel, join values with the ampersand operator: =A2&" "&B2 combines the first name in A2 and the last name in B2 with a space between them. The CONCAT function does the same job as a function call and can take whole ranges, and TEXTJOIN inserts a delimiter of your choice between every value it joins. CONCATENATE, the function most people learned first, still works, but it is the legacy option: Microsoft keeps it for backward compatibility and recommends CONCAT instead.

This page covers all four ways to combine text, the with-a-space pattern for names, combining two columns into one, and the places a join goes wrong without an error: dates that come out as serial numbers, numbers that stop being numbers, and the difference between combining values and merging cells.

The four ways to combine text

The ampersand operator. The simplest join needs no function at all. Microsoft’s own best-practice advice on the CONCATENATE page is to use the ampersand instead of the function: the & calculation operator joins text items directly, so =A1&B1 runs the two values together and =A2&" "&B2 puts a space between them. Any typed text, like that space, sits inside double quotation marks; cell references do not.

fx
=A2&" "&B2

CONCAT. The current joining function. It combines the text from ranges as well as individual strings, so =CONCAT(A2:C2) joins a whole range in one argument, something the ampersand needs one reference at a time for. What CONCAT does not provide is a delimiter or an ignore-empty option: it places values directly against each other, and separators have to be passed as extra arguments, as in =CONCAT(A2," ",B2). It takes up to 253 text arguments, and it replaced CONCATENATE in Excel 2016, Excel Mobile, and Excel for the web.

TEXTJOIN. The right choice when many values need the same separator. Its first argument is the delimiter, its second is TRUE or FALSE for ignoring empty cells, and the rest are the values or ranges to join, up to a documented maximum of 252 text arguments in total. With an empty text string as the delimiter, TEXTJOIN effectively concatenates the ranges. It is also the newest of the four: Microsoft lists it for Excel 2019 and later plus Microsoft 365, with an availability note naming Windows or Mac with Office 2019 or a Microsoft 365 subscription.

fx
=TEXTJOIN(", ", TRUE, A2:A6)

CONCATENATE. The legacy function: =CONCATENATE(A2," ",B2) still evaluates in current Excel, and Microsoft keeps the function for backward compatibility while recommending CONCAT, because CONCATENATE “may not be available in future versions of Excel”. Its arguments are individual items, which Microsoft describes as a text value, number, or cell reference, up to 255 of them totaling 8,192 characters. There is no need to rewrite old workbooks today, but new formulas should use CONCAT or the ampersand.

How do I combine first and last names with a space?

The join everyone builds first. With first names in column A and last names in column B, the formula is one ampersand per boundary, with the space passed as quoted text:

C2
fx
=A2&" "&B2
A B C
1 First name Last name Full name
2 Maya Patel Maya Patel
The ampersand joins A2, a quoted space, and B2: C2 shows Maya Patel. Without the quoted space the result runs together as MayaPatel.

The same shape handles any separator. Reversing the references and swapping the space for a quoted comma and space, =B2&", "&A2, returns Patel, Maya for sorting by surname. =CONCAT(A2," ",B2) and =CONCATENATE(A2," ",B2) produce exactly the same text; the ampersand version is simply the least typing.

How do I combine two columns into one?

Put the join formula in a helper column and fill it down: =A2&" "&B2 in C2, copied down the column so every row gets its own join. The originals stay untouched, which is the point of the helper column: if a join comes out wrong, the source values are still there.

If the combined column is meant to replace the originals, do not delete columns A and B while C still contains formulas that point at them. Copy the helper column and paste it back over itself as values first, so the results become plain entries; then the source columns can go.

One property of the output changes how the column behaves afterwards: a join produces text. Microsoft’s page on combining text and numbers is explicit on the point: put numbers into a joined cell and they turn into text, no longer usable as numeric values, so arithmetic on them is over. A rebuilt column of what used to be numbers will not sum, and SUM raises no error about it. The joined value is also built from what each cell stores, not what it displays: the documented example is a cell showing 40% whose underlying value, the .4 the formula actually uses, is what lands in the join. The fix for formatted numbers is the TEXT function, covered next for dates; how text-typed numbers happen and how to convert them back is covered in numbers stored as text in Excel.

Why does concatenating a date show a number like 46249?

Because the join uses the value the cell stores, and Excel stores dates as serial numbers; the day you see in the cell is a display format. Join a due date of 15 Aug 2026 with ="Due "&B2 and the label reads Due 46249. Why dates work that way is covered in Excel date formats; the fix here is to render the date with the TEXT function before the join:

="Due "&TEXT(B2,"dd mmm yyyy")
TEXT formats the date in B2 as text before the ampersand joins it: the label reads Due 15 Aug 2026 instead of Due 46249.

The same wrap fixes any formatted number in a join, currency and percentages included. The format codes that drive it are covered on the TEXT function page.

When many cells need the same separator: TEXTJOIN

Joining a list with the ampersand means typing every reference and every separator by hand. TEXTJOIN takes the separator once and a range:

C2
fx
=TEXTJOIN(", ", TRUE, A2:A6)
A B C
1 Region Coverage list
2 North North, South, East, West
3 South
4
5 East
6 West
TEXTJOIN joins A2:A6 with a comma and space between each value. Because ignore_empty is TRUE, the empty A4 adds nothing: C2 reads North, South, East, West, with no doubled separator where the gap was.

That second argument is what the ampersand cannot offer: with ignore_empty set to TRUE, blank cells in the range disappear from the output instead of leaving stranded separators.

Merging cells is not combining values

Some of the people searching for how to combine cells mean Home > Merge & Center, and it does something different: it combines the cells themselves into one larger cell, which Microsoft pitches as a way to create a label that spans several columns. Only one value survives. The documentation is direct about the rest: “The contents of the other cells that you merge are deleted.” The value that remains is the one from the upper-left cell, for left-to-right languages. So merging is layout, and it destroys data that concatenation would have kept. To combine values, write a join formula in a new cell; to make one heading stretch across columns, merge.

To reverse a merge, select the Merge & Center down arrow and choose Unmerge Cells; the separate cells come back, though the values deleted at merge time do not. If Merge & Center is disabled, Microsoft’s tip is to check two things: no cell should be open for editing, and the selection cannot be inside an Excel table.

What is the opposite of concatenate?

Splitting: one cell holding several values, distributed into separate cells. The classic built-in feature for it is Text to Columns in Excel, which breaks a column apart on a delimiter such as a comma or space, and the broader set of ways to pull a cell apart is covered in how to split cells in Excel. A full-name column joined with =A2&" "&B2 splits back into first and last names the same way it was built, on the space.

Troubleshooting a join

#NAME? instead of a result. On Microsoft’s CONCATENATE page, this error usually means quotation marks are missing from a text argument: =CONCATENATE(A2, Family) fails where =CONCATENATE(A2," Family") works. The same quoting rule applies to every method here, the ampersand included. What each Excel error means, this one included, has its own entry in Excel errors explained.

#VALUE! from a long result. A cell tops out at 32,767 characters. Microsoft documents on both function pages that if the resulting string exceeds that limit, CONCAT and TEXTJOIN return the #VALUE! error, a sign that a join took in far more text than intended.

SUM returns 0. Joined output is text, so a column rebuilt by concatenation sums to 0, and nothing on the sheet flags the change. Keep the numeric originals and point SUM at them, or convert the text back as described in numbers stored as text in Excel.

The short version

Frequently asked questions

How do I concatenate in Excel?
Join values with the ampersand operator: =A2&" "&B2 combines the contents of A2 and B2 with a space between them. The CONCAT function does the same job as a function call and can take whole ranges, and TEXTJOIN adds a delimiter of your choice between every value. CONCATENATE still works but is a legacy function kept for compatibility.
What is the difference between CONCAT and CONCATENATE?
CONCAT replaces CONCATENATE. CONCAT can combine the text from ranges as well as individual strings, while CONCATENATE's arguments are individual items, which Microsoft describes as a text value, number, or cell reference. CONCATENATE remains available for compatibility with earlier versions, but Microsoft warns it may not be available in future versions of Excel.
How do I combine first and last names in Excel?
With first names in column A and last names in column B, enter =A2&" "&B2 in a helper column and fill it down. The quoted space between the two references is what separates the names; swap it for ", " and reverse the references, =B2&", "&A2, to get the Last, First form instead.
Why is TEXTJOIN not working in my Excel?
TEXTJOIN requires a newer Excel than the other joining methods: Microsoft's availability note says it is available on Windows or Mac with Office 2019 or a Microsoft 365 subscription. In Excel 2016 and earlier, join with the ampersand operator or CONCATENATE instead.
What is the opposite of concatenate in Excel?
Splitting: taking one cell that holds several values and distributing the pieces into separate cells. The classic built-in feature for this is Text to Columns, which splits a column apart on a delimiter such as a comma or space. So a full-name column can be joined from two columns with =A2&" "&B2, and split back apart with Text to Columns.
Is merging cells the same as combining their values?
No. Merge & Center combines the cells themselves into one larger cell, and only one value survives: per Microsoft's documentation, the upper-left cell's contents (for left-to-right languages) carry into the merged cell, and the values held by the other merged cells are deleted. To combine the values, use the ampersand, CONCAT, or TEXTJOIN in a new cell instead; nothing is deleted.

Catch the errors before they ship

Reviewing a change to a model? Compare the two versions in your browser and see every changed cell, formula, and value. It's free, and nothing leaves your computer.