
Join text from multiple cells or entire ranges into one string. The modern replacement for CONCATENATE that finally accepts cell ranges as input.
The Excel CONCAT function joins text from multiple cells or ranges into a single string. It is the modern replacement for the older CONCATENATE function, with one key upgrade: CONCAT accepts entire cell ranges like A1:A10 as input, while CONCATENATE requires you to list every single cell individually. This makes CONCAT much faster when you need to join a list of values from a column.
CONCAT does not add any separator between values automatically. If you want a space, a comma, or a dash between items, you need to include that separator as a text string inside the formula. For situations where you want a separator added automatically across a long list of cells, the better choice is TEXTJOIN, which lets you set a separator once and apply it to a whole range.
Combines text and numbers from individual cells or entire ranges. No separator is added automatically — you add it yourself as a text argument.
Returns everything joined together. Numbers are converted to text automatically, but formatting like currency symbols or date formats is not preserved.
=CONCAT(text1, [text2], ...)
CONCAT takes one or more arguments. The first, text1, is required and can be a cell, a range, or a text string. All additional arguments are optional. You can mix cells, ranges, and typed text in any order — for example, =CONCAT(A1, " - ", B1:B3) joins A1 with a dash and then appends all values from B1 to B3. CONCAT was introduced in Excel 2016. If you need to support older versions of Excel, use the & operator instead.
Think of the text-joining functions as a progression from old to modern. The older functions required more typing and did not support ranges. The newer ones are more flexible and handle common use cases automatically.
| Function | Accepts Ranges? | Auto Separator? | Use When |
|---|---|---|---|
CONCAT |
Yes | No — add manually | You want to join a range without needing a separator |
CONCATENATE |
No — cell by cell only | No — add manually | You are using an older version of Excel |
TEXTJOIN |
Yes | Yes — set once | You need a comma, space, or dash between every item automatically |
& operator |
No — cell by cell only | No — add manually | You want the shortest possible formula for a simple join |
In practice, if you are joining just two or three cells, the & operator is often the quickest approach — like =A1&" "&B1. If you are joining a list of values where every item needs the same separator, use TEXTJOIN. Use CONCAT when you need to join a range quickly but the separator logic is different between items, like building a formatted code or address where some separators are dashes and others are spaces.
The most common use for CONCAT is building identifier strings from separate columns. For example, if you have a department code in column A, a sequence number in column B, and a year in column C, you can combine them into a product code like =CONCAT(A1,"-",B1,"-",C1). This gives you a consistent code format across every row without needing to type or copy-paste anything manually.
One important thing to know about CONCAT is that it does not preserve number formatting. If cell A1 contains the date 1 January 2025, joining it with CONCAT will give you the raw serial number (like 45658) instead of the formatted date. To include a formatted date or currency value inside a CONCAT formula, wrap the number first with the TEXT function: =CONCAT("Order date: ", TEXT(A1,"dd/mm/yyyy")).
The simplest use: join a first name and last name from two separate cells. You add the space as a text string in the middle. The same pattern works for any two pieces of text you want to combine.
=CONCAT(A1, " ", B1) // "Hello World"
=CONCAT(A1, ", ", B1) // "Hello, World"
In cell F1, use CONCAT to join A1 and B1 with a space between them. A1="Hello", B1="World".
CONCAT can take a range directly, which is the main upgrade over CONCATENATE. All values in the range are joined with no gap between them. This is useful for creating compact codes from a list of values or for testing what a column of text looks like when merged together.
=CONCAT(A1:A3) // Joins A1, A2, A3 with no separator
=CONCAT(A1:A3, "X") // Adds "X" after the whole joined range
In cell F2, use CONCAT to join all the values in A1:A3 into one string with no separator.
When your spreadsheet has address parts in separate columns, CONCAT brings them together into a properly formatted single line. You control the spacing and punctuation by typing separators as text inside the formula.
=CONCAT(A3, ", ", B3, " ", C3)
// "123 Main St, New York 10001"
In cell F3, combine street (A3), city (B3), and zip (C3) with a comma and space. Formula: =CONCAT(A3,", ",B3," ",C3).
Instead of typing codes manually, CONCAT lets you build them from data already in the spreadsheet. When the values in A4, B4, or C4 change, the product code updates automatically — no manual editing needed.
=CONCAT(A4, "-", B4, "-", C4)
// "ENG-042-2025" — changes whenever any cell changes
In cell F4, join A4, B4, and C4 with dashes to create a product code. Formula: =CONCAT(A4,"-",B4,"-",C4).
Remember that CONCAT is only available in Excel 2016 and later. If your spreadsheet might be opened by someone using an older version of Excel, use the & operator instead — it works in all versions and behaves the same way for simple joins.
A practical rule: use & for quick two-cell joins, CONCAT when joining a range, and TEXTJOIN when the separator is always the same across a long list.
CONCAT joins text from multiple cells or ranges into a single string.=CONCAT(text1, [text2], ...) — any mix of cells, ranges, and text strings.A1:A10 — something CONCATENATE cannot do.Tell your friends about this post