CONCAT and TEXTJOIN in Excel: combining text from several cells
Concatenating means gluing the contents of several cells into one piece of text. Typical jobs are turning first and last name into a full name, or a column of names into one comma separated list.
In short: =A2&" "&B2 joins two cells with a space. =CONCAT(A2," ",B2) does the same as a function and also accepts ranges. =TEXTJOIN(", ",TRUE,A2:A9) puts a delimiter between every value and skips blank cells.
Try it now
Column A holds first names, column B last names. Build the full name in the yellow cell. Your formula is then filled down to every row.
Task In C2, combine first name and last name into the full name with a space in between, for example "Jana Brandt". The formula is then filled down to C7.
| A | B | C | |
|---|---|---|---|
| 1 | First name | Last name | Full name |
| 2 | Jana | Brandt | |
| 3 | Murat | Kaya | |
| 4 | Lena | Hoffmann | |
| 5 | Paul | Richter | |
| 6 | Sophie | Wolf | |
| 7 | Ben | Schmitt |
Four ways to join text
| Method | Example | Good to know |
|---|---|---|
& operator | =A2&" "&B2 | Works in every version. Quickest for two to four pieces. |
| CONCATENATE | =CONCATENATE(A2," ",B2) | The original function. Single cells only, a range like A2:A9 is not accepted. |
| CONCAT | =CONCAT(A2:C2) | The replacement for CONCATENATE. Takes whole ranges. |
| TEXTJOIN | =TEXTJOIN(" ",TRUE,A2:C2) | Adds a delimiter between values and can ignore empty cells. |
Anything you want to appear literally, such as a space, a dot or a word, goes inside double quotes. Cell references never do. Microsoft describes CONCAT as the replacement for CONCATENATE but keeps the old function for compatibility, so existing workbooks keep working.
Practice: an email address with CONCAT
This time the address is the first initial, a dot and the last name. LEFT grabs the initial and LOWER handles the case.
Task In C2, use CONCAT to build the email address in the format j.brandt@company.com: first letter of the first name, a dot, the last name and the domain, all lowercase. The formula is filled down to C7.
| A | B | C | |
|---|---|---|---|
| 1 | First name | Last name | |
| 2 | Jana | Brandt | |
| 3 | Murat | Kaya | |
| 4 | Lena | Hoffmann | |
| 5 | Paul | Richter | |
| 6 | Sophie | Wolf | |
| 7 | Ben | Schmitt |
A version with the full first name is part of the text functions lesson.
TEXTJOIN: turn a column into a list
With the & operator, every separator has to be typed by hand, which gets tedious fast. TEXTJOIN handles that in one go:
| Argument | Meaning | In the example |
|---|---|---|
| delimiter | The text placed between values, in quotes | ", " |
| ignore_empty | TRUE skips blank cells, FALSE adds a delimiter for them too | TRUE |
| text1, text2, … | The cells or ranges to join | A2:A9 |
Task In C2, combine all names from A2:A9 into one list separated by a comma and a space, like "Jana Brandt, Murat Kaya, …". Blank cells must not produce double commas.
| A | B | C | |
|---|---|---|---|
| 1 | Sign-ups | Attendee list | |
| 2 | Jana Brandt | ||
| 3 | Murat Kaya | ||
| 4 | |||
| 5 | Lena Hoffmann | ||
| 6 | Paul Richter | ||
| 7 | |||
| 8 | Sophie Wolf | ||
| 9 | Ben Schmitt |
Set ignore_empty to FALSE and every blank cell leaves two delimiters side by side, like "Murat Kaya, , Lena Hoffmann". That is useful when position matters, for instance when you build a CSV line where each field must stay in its slot.
Spaces and line breaks
Excel never adds a space on its own. =A2&B2 returns "JanaBrandt". Put the space in as its own piece of text, " ". For "Brandt, Jana" use =B2&", "&A2.
A line break inside a cell is CHAR(10). That is handy for address labels: =A2&CHAR(10)&B2, or =TEXTJOIN(CHAR(10),TRUE,A2:A4) for several lines. The break only shows once Wrap Text is switched on for the cell (Home tab, Alignment group).
Joining numbers and dates
Concatenation throws away number formatting. $1,250.00 turns into "1250" and January 5, 2026 turns into "46027", because Excel stores dates as serial numbers. Wrap the value in the TEXT function to choose the format yourself:
="Due on "&TEXT(B2,"mm/dd/yyyy")returns "Due on 01/05/2026"="Total: "&TEXT(C2,"$#,##0.00")returns "Total: $1,250.00"
The codes are the same ones you see under Format Cells > Custom. A German Excel uses its own codes, for example JJJJ instead of yyyy for the year.
Common mistakes
Missing quotes
In =A2&" "&Ltd Excel treats Ltd as a name it does not know and returns #NAME?. Put literal text in quotes: =A2&" Ltd".
CONCAT runs everything together
=CONCAT(A2:C2) has no separator at all. If you need spaces or commas between the values, switch to TEXTJOIN.
Double spaces in the result
A trailing space in the source cell gives you "Jana Brandt". Wrap the formula in TRIM: =TRIM(A2&" "&B2). More on tidying messy data in SUBSTITUTE and TRIM.
Results break when you delete the source
The joined names are formulas. Delete column A or B and they show #REF!. Copy the results first and use Paste Options > Values to keep them as plain text.
CONCAT and TEXTJOIN in German Excel
A German Excel uses different names and separates arguments with semicolons instead of commas. The & operator is the same.
| English | German |
|---|---|
| CONCATENATE | VERKETTEN |
| CONCAT | TEXTKETTE |
=TEXTJOIN(", ",TRUE,A2:A9) | =TEXTVERKETTEN(", ";WAHR;A2:A9) |
| CHAR, TEXT | ZEICHEN, TEXT |
Which Excel versions have CONCAT and TEXTJOIN?
The & operator and CONCATENATE work in every version. For CONCAT and TEXTJOIN, Microsoft lists Office 2019 or a Microsoft 365 subscription as the requirement, on Windows and Mac. That covers Excel 2019, 2021, 2024, Microsoft 365 and Excel for the web. Older versions do not recognize the functions and show #NAME?, so if you share files with people on an older version, stick to &.
FAQ
How do I concatenate with a space in Excel?
Add the space as its own text in quotes: =A2&" "&B2. For many cells, =TEXTJOIN(" ",TRUE,A2:D2) is shorter.
What is the difference between CONCAT and CONCATENATE?
Both join text. CONCAT also accepts ranges like A2:D2, while CONCATENATE needs every cell listed separately. CONCAT is not available before Excel 2019.
How do I split concatenated text again?
Use LEFT, MID and FIND, or Data > Text to Columns for a one off job. Both are covered in text functions.
Why join text for a lookup?
To search by two criteria at once. A helper column like =A2&"-"&B2 combines customer and month into one key. See VLOOKUP with multiple criteria.