CONCAT Function

Excel Functions › Text

Excel 2019+ Excel 365

The Excel CONCAT function joins text from multiple values into one string — and unlike its predecessor CONCATENATE, it happily swallows whole ranges, so =CONCAT(A2:A50) just works. It has no delimiter argument, though: when you need a comma or space between every piece, reach for TEXTJOIN instead.


Quick answer: to combine a first and last name with a space between them:
=CONCAT(A2, " ", B2)
List every piece in order — cells, text in quotes, even whole ranges. CONCAT glues them together exactly as given, with nothing added in between.

Syntax

=CONCAT(text1, [text2], ...)
ArgumentDescription
text1RequiredThe first item to join — a cell, text in quotes, a number, or an entire range.
text2, ...OptionalUp to 253 more items, joined left to right in the order listed.

Available in: Excel 2019+, Excel for Microsoft 365, and Excel for the web. Excel 2016 and earlier show #NAME? — use CONCATENATE or the & operator there. The combined result can’t exceed 32,767 characters.

Join cells with text in between

The classic job: stitch first and last names into one column. Put the formula in C2 and copy it down — the " " in the middle supplies the space:

ABC
1FirstLastFull name
2MayaChenMaya Chen
3LuisRomeroLuis Romero
4PriyaNairPriya Nair
=CONCAT(A2, " ", B2) // in C2, copied down

Mix in as much literal text as you like. A friendly email greeting from the same table:

=CONCAT("Hi ", A2, ", your order has shipped!")

CONCAT only adds what you give it — forget the " " and you get MayaChen.

Try it: interactive CONCAT demo

Live demo

Type a first and last name (cells A2 and B2), pick an output style, and watch CONCAT build the string.

Joining ranges, numbers, and dates

CONCAT’s party trick is accepting ranges. With one letter per cell in A2:A6, this collapses them into a single word:

=CONCAT(A2:A6) // "E","X","C","E","L" becomes "EXCEL"

Range items are joined with nothing between them — great for reassembling codes, terrible for word lists. When every piece needs a separator, use TEXTJOIN:

=TEXTJOIN(", ", TRUE, A2:A6) // adds ", " between items and skips blanks

Numbers and dates lose their formatting when joined — a date becomes its serial number. Wrap them in TEXT to control the display:

=CONCAT("Invoice due ", TEXT(B2, "mmm d, yyyy")) // Invoice due Jun 30, 2026
=CONCAT(A2, " owes ", TEXT(C2, "$#,##0.00"))

Going the other way? TEXTSPLIT breaks a combined string back into pieces, and TEXTBEFORE / TEXTAFTER grab just one side of a delimiter.

Errors & common pitfalls

#NAME? — older Excel. CONCAT arrived in Excel 2019. In Excel 2016 and earlier the name isn’t recognized — swap in CONCATENATE or chain the pieces with &.

#VALUE! — result too long. A cell tops out at 32,767 characters. Join a big enough range and CONCAT hits the ceiling — usually a sign the data belongs in rows, not one mega-cell.

Pitfall: no delimiter, ever. =CONCAT(A2:A6) runs values together with no separator and no way to add one per item. If you’re tempted to type ", " between every argument, TEXTJOIN does it once and skips blanks too.

Pitfall: dates turn into serial numbers. =CONCAT("Due ", B2) shows Due 46203 because formatting lives in the cell, not the value. Wrap it: TEXT(B2, "mm/dd/yyyy").

Pitfall: a formula shows instead of the result. If the cell displays =CONCAT(...) as text, the cell was formatted as Text before you typed. Set the format to General and re-enter the formula.

Practice workbook

📊
Download the free CONCAT practice workbook
Every example on this page, ready to open in Excel — plus practice challenges with answers on a separate tab. No sign-up required.

Frequently asked questions

What's the difference between CONCAT and CONCATENATE?
They do the same core job, but CONCAT accepts ranges (=CONCAT(A2:A50)) while CONCATENATE makes you click every cell individually. CONCATENATE is kept only for backward compatibility — Microsoft recommends CONCAT for new work.
Should I use CONCAT or the & operator?
For two or three pieces, =A2 & " " & B2 is quicker to type and works in every Excel version. CONCAT wins when you have many pieces or a whole range to join. The results are identical.
How do I put a space or comma between every value?
CONCAT has no delimiter argument — you’d have to type ", " between every item by hand. Use =TEXTJOIN(", ", TRUE, A2:A20) instead: one delimiter, applied everywhere, blanks skipped.
Why does my date come out as a number like 46203?
CONCAT joins the underlying value, and Excel stores dates as serial numbers. Wrap the date in TEXT to format it: =CONCAT("Due ", TEXT(B2, "mmm d, yyyy")). The same trick controls currency and percentages.
Can CONCAT ignore blank cells in a range?
Not directly — though since it adds no delimiter, blanks contribute nothing visible anyway. The moment you need delimiters and blank-skipping, that's TEXTJOIN with ignore_empty set to TRUE.
Why do I get #NAME? when I type CONCAT?
Your Excel predates the function. CONCAT requires Excel 2019, Excel for Microsoft 365, or Excel for the web. In Excel 2016 and earlier, use CONCATENATE or the & operator instead.

Master functions like this in one day

This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related functions: TEXTJOIN · CONCATENATE · TEXTSPLIT · TEXTBEFORE · TEXTAFTER