Type =CONCATENATE(A2, " ", B2) beside the two columns and fill it down: it joins the first name, a space and the last name. =A2&" "&B2 does the same in fewer characters, and TEXTJOIN joins a whole row and skips its blank cells.
C2 = Marco·Rossi CONCATENATE joins its arguments in order: the first name, a space in quotes, the last name. Filled down, each row joins its own names.
A sign-up form or an export often splits what you want in one cell across several: first and last names, the parts of an address, a code and its number. Putting them together is called concatenating, and you’ll meet three ways to do it at work: the CONCATENATE function, the shorter & sign, and TEXTJOIN for a whole row at once.
First, join a staff list’s names both ways in the sheet below. Then each job gets a small sheet of its own: a range, blank cells, and the dates and amounts that come out as plain numbers unless you tell Excel how to write them.
This is Witsheet, Witsy’s in-browser spreadsheet. It works like Excel and checks each step as you go.
CONCATENATE takes its pieces in order and joins them end to end. =CONCATENATE(A2, " ", B2) is the first name, a space and the last name. It adds nothing of its own between them, so a space, a
comma or a word goes in as a piece of its own, in quotes. Fill the formula down and each row joins its
own cells.
C2 = Marco·Rossi Three pieces: a cell, a space in quotes, a cell. Leave the middle one out and you get MarcoRossi.
A number goes in without quotes. Text always needs them: =CONCATENATE(A2, Dear) shows #NAME?, because Excel reads Dear as the name of something it can’t find.
The & sign does the same job as CONCATENATE, and Microsoft’s own page on CONCATENATE suggests it
instead. =A2&" "&B2 gives Marco Rossi too. Each & joins what is on either side of it, so a
longer join is a chain: =B2&", "&A2 puts the last name first, and =A2&" "&B2&" ("&C2&")" adds a department in brackets after the name.
Flash Fill joins columns by example. Type the full name for the first row, Marco Rossi, and press Ctrl+E, on a Mac too: Excel works out the rule and fills the rest of the column. It writes
values, not formulas, so nothing updates when a name changes, and for a list that changes, a formula
is the better tool. One example can also fit the wrong rule; separating first and last names shows it happen on a name with a
middle initial.
Microsoft replaced CONCATENATE with CONCAT in Excel 2016, and keeps CONCATENATE so older workbooks still work. Its page says CONCATENATE “may not be available in future versions of Excel” (as of November 2026). Given cells one by one, the two give the same answer. They part company when you give them a range.
E2 = J. In Microsoft 365, CONCATENATE doesn’t join a range: it gives each cell back on its own, spilled across the row. It only joins the arguments you list one by one.
So for a whole row, CONCAT joins the cells with nothing between them, and TEXTJOIN joins them with a delimiter. Microsoft lists CONCAT for Office 2019 and Microsoft 365, so in a workbook that has to open in an older version, CONCATENATE or & is the safe choice.
TEXTJOIN takes the delimiter once, as its first argument, and puts it between every
value. Its second argument, ignore_empty, decides what a blank cell does: TRUE skips it, and FALSE
keeps it, with a delimiter beside nothing. Addresses show the difference, because not every address
has a unit number.
E3 = 880·Pine·Ave,·Denver,·CO One delimiter for the whole range, and TRUE skips the empty unit with the comma it would have brought.
TRUE also skips a cell whose formula returns empty text, "". And TEXTJOIN joins a column
the same way as a row: =TEXTJOIN(", ", TRUE, A2:A50) makes one comma-separated list of
everything in A, ready to paste into an email.
A cell’s format only changes how it looks. Underneath, a date is a count of days and an amount is a
plain number, and a join takes what’s underneath: a due date of March 14, 2026 joins as 46095. TEXT writes a number the way a format code says, and its answer is text, ready to join.
D2 = Marco owes 1234.5 by 46095 A join takes the value under the format, not what the cell shows: 1234.5 for the amount, and 46095 for the date, the day count Excel stores for March 14, 2026.
Some format codes to start from: "$#,##0.00" for dollars and cents, "0%" for
a percentage, "mmm d, yyyy" or "m/d/yyyy" for a date. A long decimal joins
with up to 15 digits, so =A2&" "&1/3 ends in 0.333333333333333, and TEXT(1/3, "0.00") gives 0.33.
Excel’s Merge & Center button isn’t for this. It merges cells, not what’s in them: merge Marco in A2 with Rossi in B2, and the merged cell keeps Marco and drops Rossi. Excel warns you first, but the warning is easy to click past.
To merge two columns into one, join them in a new column with any formula above. Copy that column and paste it back over itself with Paste Special → Values, so it holds the names themselves rather than formulas that read the old columns. Then delete the old columns. Witsheet doesn’t have Merge & Center yet, so try that button in your own Excel.
Witsy’s Excel course teaches a few hundred small skills, called Wits, the way this page teaches combining columns: in a real spreadsheet, a step at a time. The placement test finds the ones you already have.
Take a few minute test to see how good you actually are with spreadsheets. Witsy creates a map of the Wits you should learn next.
Take the placement test Or just start learning →