CONCAT joins text from multiple cells, ranges, or values into one text string. It replaces the older CONCATENATE function and can combine whole ranges without listing every cell.
=CONCAT(text1, [text2], …)What does CONCAT do?
CONCAT is Excel's text-joining function. You give it two or more pieces of text, cell references, or ranges, and it returns one combined text string. For example, =CONCAT(A2," ",B2) joins a first name in A2 and a last name in B2 with a space between them. Unlike the older CONCATENATE function, CONCAT can accept a whole range such as A2:C2 and join everything in it.
Joining text matters because spreadsheets often store data in separate columns: first and last names, street and city, product code and batch number. Reports, labels, email addresses, and import files usually need those pieces combined. CONCAT lets you build the combined value with a formula, so it updates automatically when the source cells change.
A typical situation: you receive a customer list with separate first name, last name, and region columns, and you need a single "Last, First (Region)" label for a mail merge. Instead of retyping hundreds of rows, you write one CONCAT formula, fill it down, and the labels are ready. The same approach works for order references, full addresses, and display names.
When to use CONCAT
- Combining first and last names into a full name column
- Building full addresses from street, city, and postcode columns
- Creating email addresses from first name, last name, and domain
- Making order or invoice references from a prefix, number, and date
- Joining product code and batch number into one tracking ID
- Producing labels such as "Region - Salesperson" for reports
CONCAT syntax
=CONCAT(text1, [text2], …)| Argument | Required? | What to enter |
|---|---|---|
text1 | Required | The first text value, cell reference, or range to join. Example: A2 or "Order-". |
text2 | Optional | Additional text values, cell references, or ranges to join in order. You can add up to 253 arguments. Example: " " or B2:C2. |
What it returns: A single text string containing all the supplied values joined in the order given. Numbers and dates are converted to text using their general display format.
CONCAT examples
1 Join a first name and last name
The goal is a full name in one cell. The formula =CONCAT(A2," ",B2) takes the first name from A2, adds a space, then adds the last name from B2. It returns "Ana Silva". The space is a literal text argument in quotes, which keeps the names readable. Fill the formula down to create full names for every row.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | First Name | Last Name | |||
| 2 | Ana | Silva | Ana Silva | ||
| 3 | Liam | Okafor | |||
| 4 | Mia | Chen | |||
| 5 |
2 Build an email address from name parts
Here you need a company email address from a first name, last name, and domain. The formula =CONCAT(A2,".",B2,"@",C2) joins the first name, a dot, the last name, an at sign, and the domain. For row 2 it returns "ana.silva@example.com". Each literal separator is written in quotes so the result is a valid address. Copy the formula down for the rest of the list.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | First Name | Last Name | Domain | |||
| 2 | Ana | Silva | example.com | Ana.Silva@example.com | ||
| 3 | Liam | Okafor | example.com | |||
| 4 | Mia | Chen | example.com | |||
| 5 |
3 Join a whole range of address parts
This example shows CONCAT's range ability. The formula =CONCAT(A2,", ",B2,", ",C2) joins the street, city, and postcode with comma-and-space separators. For row 2 it returns "12 Oak Street, Leeds, LS1 4AB". You could also write =CONCAT(A2:C2) to join the range, but that would omit the separators. Using explicit separators gives a properly formatted address.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Street | City | Postcode | |||
| 2 | 12 Oak Street | Leeds | LS1 4AB | 12 Oak Street, Leeds, LS1 4AB | ||
| 3 | 48 Mill Road | Bristol | BS2 7QT | |||
| 4 | 7 Kings Way | York | YO1 9PL | |||
| 5 |
4 Build a sales label with region and salesperson
A sales report needs a label combining region, salesperson, and sales amount. The formula =CONCAT(A2," - ",B2," - ",C2) joins the region, a spaced hyphen, the salesperson, another spaced hyphen, and the sales figure. For row 2 it returns "North - Ana Silva - 1200". The number is converted to text automatically. This label can be used in charts or summary tables.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Salesperson | Sales | |||
| 2 | North | Ana Silva | 1200 | North - Ana Silva - 1200 | ||
| 3 | South | Liam Okafor | 950 | |||
| 4 | East | Mia Chen | 1430 | |||
| 5 |
Common CONCAT errors and how to fix them
| Error | Why it happens | How to fix it |
|---|---|---|
| #VALUE! | One of the arguments is an error value or an unsupported reference, such as a whole column reference that is too large. | Check each argument for errors and use specific ranges or cell references instead of entire columns. |
| #NAME? | The function name is misspelled, for example CONCATE or CONCATENAT. | Type =CONCAT( and let Excel suggest the function, or correct the spelling. |
| Result is too long | The joined text exceeds Excel's cell limit of 32,767 characters. | Shorten the inputs or split the result across more than one cell. |
| Missing separators | You joined cells without adding spaces, commas, or other separators, so values run together. | Add literal separator text in quotes between arguments, such as " " or ", ". |
| Dates or numbers look wrong | CONCAT converts numbers and dates to text using their general format, which may not match what you expect. | Use the TEXT function inside CONCAT to control the format, for example TEXT(B2,"YYYY-MM-DD"). |
Tips for using CONCAT
- Use CONCAT instead of CONCATENATE when you want to join a range in one argument.
- Add separators as quoted text arguments, such as
" ",", ", or" - ". - Wrap numbers or dates in TEXT to control how they appear in the joined result.
- Press F4 or use absolute references if part of the formula, such as a domain name, should stay fixed when you fill down.
- Remember that CONCAT returns text, so the result cannot be used directly in SUM or AVERAGE without conversion.
Frequently asked questions
What is the difference between CONCAT and CONCATENATE?
CONCAT is the newer function and can accept ranges such as A2:C2. CONCATENATE requires each cell reference to be listed separately and is kept mainly for compatibility with older workbooks.
Can CONCAT join a whole range of cells?
Yes. You can pass a range like A2:C2 as one argument, and CONCAT joins all values in that range in order. Add separators separately if you need them.
Why does CONCAT remove spaces between words?
CONCAT only joins what you give it. If you want spaces, add them as quoted text arguments, for example =CONCAT(A2," ",B2).
Does CONCAT work with numbers and dates?
Yes, but it converts them to text using their general display format. Use the TEXT function inside CONCAT if you need a specific number or date format.
Is there a limit to how many arguments CONCAT can take?
CONCAT accepts up to 253 arguments, and the resulting text cannot exceed 32,767 characters, which is Excel's cell limit.
Related functions
Every example on this page was recalculated by SheetSkill’s spreadsheet engine. CONCAT reference