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.
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.
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:
| A | B | C | |
|---|---|---|---|
| 1 | First name | Last name | Full name |
| 2 | Maya | Patel | Maya Patel |
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:
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:
| A | B | C | |
|---|---|---|---|
| 1 | Region | Coverage list | |
| 2 | North | North, South, East, West | |
| 3 | South | ||
| 4 | |||
| 5 | East | ||
| 6 | West |
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
- Join values with the ampersand:
=A2&" "&B2is first name, space, last name. Typed separators sit in double quotation marks. - CONCAT is the current function and takes ranges:
=CONCAT(A2:C2). TEXTJOIN adds a delimiter once for a whole range and can skip empty cells:=TEXTJOIN(", ", TRUE, A2:A6). CONCATENATE is legacy; Microsoft says it may not be available in future versions. - Combining two columns: helper column, fill down, paste as values before deleting the originals.
- The output is text, built from stored values: dates join as serial numbers unless wrapped in the TEXT function, and joined numbers stop calculating.
- Merge & Center combines cells, not values, and deletes every value but the upper-left one. To check what changed when a workbook’s columns were rebuilt between two versions, compare the two files: the comparison lists each cell whose stored type changed from number to text.