How to Combine Text in Excel (&, CONCAT, TEXTJOIN)
By ExcelReady TeamUpdated 7 min read
The short answer
To combine text in Excel, join the pieces with &: =A2&" "&B2 turns Nora and Delgado into Nora Delgado. CONCAT does the same with a list of pieces. TEXTJOIN puts the same separator between every piece and can skip empty cells: =TEXTJOIN(", ",TRUE,C2:E2). Type spaces and commas yourself, inside double quotes.
Key takeaways
- The & sign joins text: =A2&" "&B2. Excel adds nothing between pieces, so type the space yourself.
- CONCAT(text1, text2, ...) joins a list of pieces and accepts whole ranges.
- TEXTJOIN(delimiter, ignore_empty, text1, ...) adds the same separator between every piece; TRUE skips empty cells.
- CONCAT and TEXTJOIN need Excel 2019 or newer. & and CONCATENATE work in every version.
- Numbers and dates lose their formatting when joined. Wrap them in TEXT to control how they look.
On this page+
- Which way to combine text: &, CONCAT or TEXTJOIN?
- How to combine text with the & sign
- How to use CONCAT and CONCATENATE
- How to combine text with a separator using TEXTJOIN
- How to combine text with numbers and dates
- How to join only the rows that meet a condition
- Common mistakes when combining text
- Practise it
To combine text in Excel, use the & sign for a few pieces, CONCAT for a list of pieces, and TEXTJOIN when every piece needs the same separator. All three build things like full names, addresses and labels from separate columns. This guide is for anyone tidying a contact list or answering a text question in an Excel test, and it shows each method on the same data.
Which way to combine text: &, CONCAT or TEXTJOIN?#
All three join text; they differ in how much typing they save and which Excel versions have them:
| & | CONCAT / CONCATENATE | TEXTJOIN | |
|---|---|---|---|
| Example | =A2&" "&B2 | =CONCAT(A2," ",B2) | =TEXTJOIN(" ",TRUE,A2:B2) |
| Accepts ranges | No | CONCAT yes, CONCATENATE no | Yes |
| Adds a separator for you | No | No | Yes |
| Skips empty cells | No | No | Yes, with TRUE |
| Excel versions | All | CONCAT: 2019 or newer. CONCATENATE: all | 2019 or newer |
For a deeper comparison, read CONCATENATE vs CONCAT vs TEXTJOIN.
The examples use this contact list:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | First | Last | Street | City | State |
| 2 | Nora | Delgado | 418 Maple Ave | Portland | OR |
| 3 | Felix | Grant | 92 Harbor St | Boston | MA |
| 4 | Amara | Nwosu | 1570 Elm Dr | Denver | CO |
| 5 | Jonas | Weber | 33 Lake Rd | Madison | WI |
| 6 | Lena | Park | 7 Orchard Ln | Austin | TX |
How to combine text with the & sign#
The & sign joins two pieces of text into one. Excel adds nothing between them, so =A2&B2 gives NoraDelgado. Type the space yourself, as text in double quotes:
=A2&" "&B2The result is Nora Delgado. There are three pieces here: A2, a space " ", and B2, with an & between each. Fill down (Windows: Ctrl+D; Mac: ⌘D) for the other names.
Use double quotes ("), not single quotes ('). You can add any text the same way:
| Goal | Formula | Result |
|---|---|---|
| Last name first | =B2&", "&A2 | Delgado, Nora |
| Initials | =LEFT(A2,1)&LEFT(B2,1) | ND |
| Email address | =LOWER(A2&"."&B2)&"@example.com" | nora.delgado@example.com |
| Label | ="Customer: "&A2 | Customer: Nora |
How to use CONCAT and CONCATENATE#
CONCAT joins a list of pieces separated by commas: =CONCAT(text1, text2, ...). The commas outside quotes separate the pieces; a comma inside quotes is part of the text. To build "Portland, OR":
=CONCAT(D2,", ",E2)CONCAT can also take a range: =CONCAT(A2:B2) gives NoraDelgado. CONCAT needs Excel 2019, Excel 2021, Excel 2024 or Microsoft 365.
CONCATENATE is the older name and works in every version, but it only accepts single cells and text, not ranges. =CONCATENATE(D2,", ",E2) gives the same result. Microsoft keeps it for compatibility, so files that use it still work.
How to combine text with a separator using TEXTJOIN#
TEXTJOIN adds the same separator between every piece, so you type it once. The syntax:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)The delimiter is the separator, in quotes. ignore_empty is TRUE to skip empty cells or FALSE to keep them. text1 can be a whole range. For a full address:
=TEXTJOIN(", ",TRUE,C2:E2)The result is 418 Maple Ave, Portland, OR. TEXTJOIN can also join a whole column into one cell: =TEXTJOIN(", ",TRUE,A2:A6) gives Nora, Felix, Amara, Jonas, Lena. Like CONCAT, it needs Excel 2019 or newer.
Why ignore_empty matters#
Real data has gaps. Suppose a product has tags in B3:E3, but only B3 (fitness) and E3 (eco) are filled in:
| Formula | Result |
|---|---|
=TEXTJOIN(", ",TRUE,B3:E3) | fitness, eco |
=TEXTJOIN(", ",FALSE,B3:E3) | fitness, , , eco |
=B3&", "&C3&", "&D3&", "&E3 | fitness, , , eco |
With TRUE, the empty cells are skipped and you get a clean list. Doing the same with & would need an IF for every piece, which is why TEXTJOIN is worth knowing.
How to combine text with numbers and dates#
When you join a number or date, Excel uses its stored value, not the format you see. Say a payments sheet has a date in B2 and an amount in C2. If C2 shows $1,250.50, ="Total: "&C2 gives Total: 1250.5. A date is worse: Feb 3, 2025 becomes 45691, because dates are stored as numbers.
Wrap the value in TEXT to choose how it looks:
="Paid "&TEXT(C2,"$#,##0.00")&" on "&TEXT(B2,"mmm d, yyyy")This gives Paid $1,250.50 on Feb 3, 2025. The guide to the TEXT function lists the format codes you'll need.
How to join only the rows that meet a condition#
In Microsoft 365, TEXTJOIN can join a filtered list if you put IF inside it. To list the full names of everyone in one state, such as Texas:
=TEXTJOIN(", ",TRUE,IF(E2:E6="TX",A2:A6&" "&B2:B6,""))A2:A6&" "&B2:B6 builds a full name for every row at once. IF keeps the name where the state is TX and returns empty text for the rest, and TRUE tells TEXTJOIN to skip the empty ones. Here the result is Lena Park. Change "TX" to "MA" and you get Felix Grant. With more matching rows, you'd get a comma-separated list.
Keep the result if you delete the source columns#
A combined column still depends on the columns it reads. If you delete First and Last, the full names turn into #REF! errors. Before you delete anything, copy the combined column and paste it back as values (Windows: Ctrl+Alt+V, then Values; Mac: ⌃⌘V, then Values).
Common mistakes when combining text#
Most problems are missing spaces or the wrong symbol:
- No space between words.
=A2&B2gives NoraDelgado. Add" "between the pieces. - Spaces missing inside quotes.
=A2&"lives in"&D2gives Noralives inPortland. Write" lives in "with a space on each side. - Using + instead of &. In Excel, + adds numbers, so
=A2+" "+B2returns #VALUE!. - Single quotes.
' 'isn't text in a formula. Use" ". - Extra spaces in the source. If a name has trailing spaces, the result will too. Clean it first with TRIM; see how to clean messy data.
The result of any of these formulas is text. If you need the pieces back later, split them again with TEXTBEFORE and TEXTAFTER. The TEXTJOIN function guide is a quick syntax reference.
Practise it#
Practise joining text with &, CONCAT and TEXTJOIN in a live spreadsheet. You'll build full names, "City, State" labels and addresses, join product tags with gaps, and combine everything into a listing title.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
Build a one-line address. Click F2 and use TEXTJOIN to join the street, city and state in C2:E2, with a comma and a space between them. Skip empty cells.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Address | ||||||
| 2 | OR | ||||||
| 3 | MA | ||||||
| 4 | CO | ||||||
| 5 | WI | ||||||
| 6 | TX | ||||||
| 7 | |||||||
| 8 | |||||||
| 9 |
Tip: The delimiter comes first in quotes, then TRUE, then the whole range.
Practise this in a lesson
Frequently asked questions
How do I combine two cells with a space in Excel?
Use =A2&" "&B2. The " " is a space in double quotes, joined between the two cells with &. CONCAT(A2," ",B2) gives the same result.
What is the difference between CONCAT and CONCATENATE?
CONCAT is the newer version and accepts ranges like A2:C2. CONCATENATE only takes single cells and text, but it works in every Excel version. Microsoft keeps it for compatibility.
How do I combine text and skip blank cells?
Use TEXTJOIN with TRUE as the second argument: =TEXTJOIN(", ",TRUE,B2:E2). Empty cells are skipped, so you don't get double commas.
Why does my date turn into a number when I combine it with text?
Excel stores dates as numbers, and & joins the number, not the date you see. Use TEXT: ="Paid on "&TEXT(B2,"mmm d, yyyy").
How do I combine a whole column into one cell?
Use TEXTJOIN with the column as the range: =TEXTJOIN(", ",TRUE,A2:A6) gives a comma-separated list of every name. It needs Excel 2019 or newer.