Skip to main content

How To Combine Multiple Cells Into A Cell With Space, Commas or other separators In Excel?

When you combine the cells from multiple columns or rows into a single cell, the combined data may be separated by nothing. But if you want to separate them with specified marks, such as space, commas, semicolon or others, how can you do? This tutorial will introduce some methods for you.


Concatenate row or column of cells into one cell with space, comma or other separators by using formulas

In Excel, you can use the below formulas to combine a row of cells or a column of cells into a single cell.


Method A: Use "&" operator to combine cells

In Excel, you can use the "&" operator to combine different text strings or cell values.

Please enter the below formula to concatenate the cells in multiple columns: (separate the combined results with space, you can replace the blank with other separators as you need.)

=A2&" "&B2&" "&C2

And then, drag the fill handle down to the cells that you want to apply this formula, and the data from different columns have been merged into one cell, see screenshot:

  • Tips:
  • In the above formula, you can replace the blanks between the & operators with other separators, such as =A2&"-"&B2&"-"&C2
  • If you need to combine the cell values from multiple rows, you just need to change the cell reference as this: =A2&" "&A3&" "&A4&" "&A5&" "&A6&" "&A7

Method B: Use Concatenate function to combine cells

The Concatenate function in Excel is also used to join multiple text strings or cell values into one cell.

Please enter or copy the below formula into a blank cell:

=CONCATENATE(A2, "-", B2, "-", C2)

And then, drag the fill handle down to the cells that you want to apply this formula, you will get the following result:

  • Tips:
  • In the above formula, you can replace the “-” character with other separators, such as =CONCATENATE(A2, ";", B2, ";", C2)
  • If you need to combine the cell values from multiple rows, you just need to change the cell reference as this: =CONCATENATE(A2, "-", A3, "-", A4, "-", A5, "-", A6, "-", A7)

Method C: Use Textjoin function to combine cells

If you have Excel 365 and later versions, there is new function-Textjoin, this function also can help you to combine multiple cells into one cell.

Enter or copy the following formula into a blank cell:

=TEXTJOIN(",",TRUE,A2:C2)

Then, drag the fill handle to apply this formula to other cells, see screenshot:

  • Tips:
  • In the above formula, you can replace the “,” character with other separators, such as =TEXTJOIN("/",TRUE,A2:C2)
  • To combine the cell values from multiple rows, you just need to change the cell reference as this: =TEXTJOIN(",",TRUE,A2:A7)
  • This TEXTJOIN also can combine a range of cells into a single cell with a delimiter as this: =TEXTJOIN(",",TRUE,A2:C7)

Concatenate row, column or range of cells into one cell with a specified separator

Kutools for Excel supports a powerful feature-Combine which can help you to merge all data based on rows, columns or a range of cells into one record without losing data. Please see the below demo.    Click to download Kutools for Excel!


Concatenate row or column of cells into one cell with space, comma or other separators by the User Defined Function

In Excel, you can also create a User Defined Function to combine cells of row or column into a single cell with spaces or specified marks.

1. Hold ALT + F11 keys on the keyboard to open a Microsoft Visual Basic for Application window.

2. Click Insert > Module, and copy the VBA into the module.

VBA: Combine cells based on row or column into one with specific separator:

Function Combine(WorkRng As Range, Optional Sign As String = "~") As String
Dim Rng As Range
Dim OutStr As String
For Each Rng In WorkRng
    If Rng.Text <> " " Then
        OutStr = OutStr & Rng.Text & Sign
    End If
Next
Combine = Left(OutStr, Len(OutStr) - 1)
End Function

Tip: In the above script "Function Combine(WorkRng As Range, Optional Sign As String = "~") As String", the separator "~" is specified to separate the combined result, you can change it to meet your need.

3. Then please type formula =Combine(A2:C2) in a blank cell, and then drag the fill handle over the range that you want to apply this formula, all of the cells in the row will be combined into a cell with dashes. See screenshot:

Tips: With above User Defined Function, you can also combine cell values based on column, you just need to enter this formula =Combine(A2:A7) to get the merged data as you need.


Concatenate row or column of cells into one cell with line break by using formulas

Sometimes, you may want to use the line break to separate the concatenated text string, normally, the CHAR(10) will return the line break character. Here, you can use the below methods to solve this task:


Method A: Use Concatenate function to combine cells with line break

Here, you can combine the concatenate function with the Char(10) character together to get the merged result which is separated by line break.

1. Please type or copy the below formula:

=CONCATENATE(A2,CHAR(10),B2,CHAR(10),C2)

Then, drag the fill handle down to the cells you want to apply this formula, and you will get the following result:

2. Then, you should click Home > Wrap Text to format the cells, and then, you will get the result as you need:

Tips: To combine the cell values from multiple rows, you just need to change the cell reference as this: =CONCATENATE(A2,CHAR(10),A3,CHAR(10),A4,CHAR(10),A5,CHAR(10),A6,CHAR(10),A7)


Method B: Use Textjoin function to combine cells with line break (Excel 365 and later versions)

May be the above formula is somewhat difficult if there are multiple cells needed to be combined, so, the Textjoin function can deal with this task quickly and easily.

Please enter or copy the below formula into a blank cell:

=TEXTJOIN(CHAR(10),TRUE,A2:C2)

After getting the combined results, please remember to format the formula cells to Wrap Text, see screenshot:

Tips: To combine the cell values from multiple rows, you just need to change the cell reference as this: =TEXTJOIN(CHAR(10),TRUE,A2:A7)


Concatenate row, column or range of cells into one cell with specified separator by using a wonderful feature

If you are annoying with the above formulas and code, here, I can recommend a useful tool- Kutools for Excel, with its Combine feature, you can quickly combine cell values by row, column or a range into one single cell.

Tips:To apply this Combine feature, firstly, you should download the Kutools for Excel, and then apply the feature quickly and easily.

After installing Kutools for Excel, please do as this:

1. Select a range cell values that you want to combine into a cell.

2. Please apply this function by clicking Kutools > Merge & SplitCombine Rows, Columns or Cells without Losing Data. See screenshot:

doc combine data with commas 9 1

3. In the popped out dialog box, please specify the operations you need as following screenshot shown:

4. Then, click Ok, you will get the result as below screenshot shown:

1). Combine cell values into one cell for each row:

2). Combine cell values into one cell for each column:

3). combine a range of cell values into one single cell:

Click to Download Kutools for Excel and free trial Now!


More relative combine rows and columns articles:

  • Merge And Combine Rows Without Losing Data In Excel
  • Excel only keeps the data in the upper-left most cell, if you apply "Merge & Center" command (Home tab > Merge & Center on the Alignment panel) to merge rows of data in Excel. Users have to use another method to merge multiple rows of data into one row without deleting data.
  • Combine Duplicate Rows And Sum The Values In Excel
  • In Excel,you may always meet this problem, when you have a range of data which contains some duplicate entries, and now you want to combine the duplicate data and sum the corresponding values in another column, as following screenshots shown. How could you solve this problem?
  • Combine Date And Time Into One Cell In Excel
  • There are two columns in a worksheet, one is the date, the other is time, as shown as below, is there any way to quickly combine these two columns into one, and keep the time format?
  • Concatenate Cells Ignore Or Skip Blanks In Excel
  • Excel’s Concatenate function can help you to combine multiple cell values into one cell quickly, if there are some blank cells within the selected cells, this function will combine the blanks as well. But, sometime, you just want to concatenate cells with data and skip the empty cells, how could you finish it in Excel?

  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns and Keeping Data; Split Cells Content; Combine Duplicate Rows and Sum/Average... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Favorite and Quickly Insert Formulas, Ranges, Charts and Pictures; Encrypt Cells with password; Create Mailing List and send emails...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • Pivot Table Grouping by week number, day of week and more... Show Unlocked, Locked Cells by different colors; Highlight Cells That Have Formula/Name...
kte tab 201905
  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
officetab bottom
Comments (34)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I would like to know if I have a list of people with their information in different cells in one column but different row how to combine them in one cell For e,g I have one person teaching English, math and science and his name is repeated in one column but the courses are in different rows so I want to combine all the courses in one cell for that teacher. if I have 50 teachers I need to have all the courses that the teacher is teaching in one cell.
This comment was minimized by the moderator on the site
Hi, Lavina,
Do you mean to combine multiple cell values in a column based on duplicate names in another column as below screenshot shown:

You can insert a screenshot to make your problem more intuitive.
This comment was minimized by the moderator on the site
This is exactly what I'm looking for. Is this problem solved?
This comment was minimized by the moderator on the site
Hi, Piotr,
To solve this problem, maybe the following article can help you, please check it:
https://www.extendoffice.com/documents/excel/2723-excel-concatenate-based-on-criteria.html
This comment was minimized by the moderator on the site
VBA doesn't work for me, excel 2016.
This comment was minimized by the moderator on the site
Working on trying to get your VBA code to work however I keep getting a #NAME? error. How do I fix this? I've used this code before and it worked wonderfully but now it gives me an error.
This comment was minimized by the moderator on the site
But it is not working for large data. I have around 50000 rows to combine in single cell.
This comment was minimized by the moderator on the site
415xxe 5687sdc sa4567 415xxe 5687sdc sa4567 415xxe 5687sdc sa4567 415xxe 5687sdc sa4567 I need to separate these in different columns and then put a comma behind the last column
This comment was minimized by the moderator on the site
The VBA code does not work I get an error Microsoft Visual Basic for Applications - Compile error: Syntax error then the line "If Rng.Text "," Then" is highlighted in blue and on the top highlighted in yellow it says this "function combine(workrng as range, optional sign as string = ",") as string I am using excel 2016 on a pc
This comment was minimized by the moderator on the site
I genuinely enjoy studying on this website, it holds good content. Never fight an inanimate object. by P. J. O'Rourke. dfdkbafbadfkagdd
This comment was minimized by the moderator on the site
how to combine 2 cell with space in between with 2 independent cell format. Eg. If one cell is Red digits & other cell has digits in green, it should combine with Red & green digits.
This comment was minimized by the moderator on the site
The VBA code worked really well thanks. My only issue is that it is including blanks so that my combined output ends up looking like this: "test, test, , , , , , test" How could I get it to exclude blank cells within the range?
This comment was minimized by the moderator on the site
If you found the answer let me now please as well.
This comment was minimized by the moderator on the site
instead of the line in the original code:

If Rng.Text <> ", " Then
OutStr = OutStr & Rng.Text & Sign


you need to add a "test" to determine if the cell is empty followed by the statement above which adds the delimiter. Delete the above 2 lines and then Copy the following code in and your COMBINE function will remove the blanks from your list.

If IsEmpty(Rng.Value) = True Then

OutStr = OutStr & ""

ElseIf Rng.Text <> ", " Then

OutStr = OutStr & Rng.Text & Sign
This comment was minimized by the moderator on the site
The VBA macro worked very well after I adjusted for the my cell locations and I was able to add a space after the comma for a better display of the data.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations