How to split cells into multiple columns or rows by carriage return?
Normally, in Excel, we can quickly split cell contents into multiple columns based on some specific characters, such as commas, semicolon, dot marks by using the Text to Columns feature. But, have you ever tried to split cell values into multiple columns or rows by carriage returns?
If you have a list of cells contents which are separated by the carriage returns as following screenshot shown, in fact, the Text to Columns function could help you to split the cell values into multiple columns.
1. Select the cells that you want to split their contents.
2. Click Data > Text to Columns, see screenshot:
3. In the Convert Text to Columns Wizard, check Delimited option in step1, see screenshot:
4. Then click Next button, in step 2, check Other option under Delimiters, and in the box beside the Other, press Ctrl + J keys into it, see screenshot:
5. And then click Next button, in step3, select General option, and specify a cell for locating the result, then click Finish button directly to finish the operations.
6. And the cell contents have been split into multiple columns as following screenshot shown:
Sometimes, you need to split the cell values into multiple rows based on the carriage returns as following screenshot shown.
There is no direct way for you to deal with this task in Excel, but, you can create VBA code to solve it.
1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA code: Split cells into multiple rows based on carriage returns
Sub SplitCells() 'Update by Extendoffice Dim Rng As Range Dim WorkRng As Range On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) For Each Rng In WorkRng lLFs = VBA.Len(Rng) - VBA.Len(VBA.Replace(Rng, vbLf, "")) If lLFs > 0 Then Rng.Offset(1, 0).Resize(lLFs).Insert shift:=xlShiftDown Rng.Resize(lLFs + 1).Value = Application.WorksheetFunction.Transpose(VBA.Split(Rng, vbLf)) End If Next End Sub
3. Then press F5 key to run this code, and a prompt box will pop out to remind you select the data range that you want to split, see screenshot:
4. And then click OK, and your selected data has been split into multiple rows based on the carriage returns.
Kutools for Excel’s Split Cells utility can help you split cells into multiple columns or rows quickly and easily.
|Kutools for Excel : with more than 300 handy Excel add-ins, free to try with no limitation in 30 days.|
After installing Kutools for Excel, please do as follows:
1. Select the data range that you want to split.
2. Click Kutools > Merge & Split > Split Cells, see screenshot:
3. In the Split Cells dialog box, select the Split to Rows or Split to Columns option under the Type section that you need, and then check New line under the Specify a separator section, see screenshot:
4. Then click OK button, and a prompt box will pop out to remind you select a cell to output the result, see screenshot:
5. Then click OK, if you choose Split to Columns option, all the selected cell values have been split into multiple columns by the carriage return, see screenshot:
And if you choose Split to Rows option, your selected cell values will be split to multiple rows you like as following screenshot shown:
Combine multiple cells into one based on carriage returns:
Contrary to the above content, how could you combine multiple cell values which are separated by carriage returns into one cell in Excel? Here, I will talk about an easy tool-Kutools for Excel, with its powerful Combine feature, you can quickly combine multiple rows, columns, cells into one cell.
Kutools for Excel: with more than 300 handy Excel add-ins, free to try with no limitation in 30 days. Download and free trial Now!
You are guest
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 3 years agoI have values in cell like "100/5" which is fetched by formula in one cell and would like to split the values in to two adjacent columns like "100" in one cell and "5" in another. Could you please suggest if I can do that with help of formula?
To post as a guest, your comment is unpublished.· 3 years ago@Brian [quote name="Brian"]This page has helped a lot, I used to VBA to separate the rows up. The problem that I have is that I have multiple columns. All the cells in the row either have one "row" or X number of "rows"of information in the other cells. If anyone knows how to do this it would be greatly appreciated.[/quote]
Even i'm looking for multiple Column having Alt+Enter data needs to convert to multiple rows with same data , needs copy the entire data of next columns as well in the new row
To post as a guest, your comment is unpublished.· 3 years agoThis is awesome.. very helpful.. Thank you so much.. :)
To post as a guest, your comment is unpublished.· 3 years agoHi, If this formula contains the option to insert instead directly split and paste in a transpose method, we do have range of rows, This option just split and transpose on existing data cells. If we get a option to insert and paste accordingly would be grateful otherwise the formula is very useful
To post as a guest, your comment is unpublished.· 5 years agoThis page has helped a lot, I used to VBA to separate the rows up. The problem that I have is that I have multiple columns. All the cells in the row either have one "row" or X number of "rows"of information in the other cells. If anyone knows how to do this it would be greatly appreciated.
To post as a guest, your comment is unpublished.· 5 years agoWas looking for information like this and this page solved everything for me.