excel如何将同一个单元格的多行内容拆分

发布网友 发布时间:2022-03-28 05:59

我来回答

7个回答

懂视网 时间:2022-03-28 10:21

产品型号:ASUS S340MC

系统版本:Windows 10

软件版本:Microsoft Office Excel 2019

1、首先打开电脑中的excel表格,然后选择需要分开内容的表格,接着点击工具栏上方的数据。

2、选择工具栏里的分列,点击弹窗中的固定宽度,再点击下一步,选择内容里需要分开的位置。

3、继续点击下一步,点击目标区域,在表格中选择分开的内容放置区域,最后点击完成即可。

总结

1、首先打开电脑中的excel表格,然后选择需要分开内容的表格,接着点击工具栏上方的数据。

2、选择工具栏里的分列,点击弹窗中的固定宽度,再点击下一步,选择内容里需要分开的位置。

3、继续点击下一步,点击目标区域,在表格中选择分开的内容放置区域,最后点击完成即可。


热心网友 时间:2022-03-28 07:29

1、打开excel2013文档。  

2、如下图所示一个单元格中有三行内容。  

3、点击单元格,选择单元格中的内容。  

4、点击鼠标右键,选择“复制”。  

5、点击目标单元格,点击鼠标右键,选择“粘贴”。  

6、内容就会按照三行粘贴了。

热心网友 时间:2022-03-28 08:47

具体操作:数据选项卡——分列——分隔符号——选择其他——输入“,”(逗号)——完成——选定分列后的数据——复制——鼠标点击一个空白单元格——CTRL+ALT+V选择性粘贴——选择转置!!!

热心网友 时间:2022-03-28 10:21

建议用Word处理更方便。

粘贴到Word中,搜索逗号替换为“^p”(如果Excel中有的逗号后面已经有了回车符,可以在上述操作之后,搜索“^p^p”替换为“^p”,即将两个回车替换为一个回车),再粘贴回Excel。
如果用Excel,公式会比较复杂,应该要用到SUBSTITUTE()、FIND()、MID()、IF()等函数组成的数组公式。

热心网友 时间:2022-03-28 12:13

你好,此问题可以通过Excel VBA完美解决。详见 简书的文章《用ExcelVBA实现自动拆分单元格中的内容到多行中》网页链接。全部VBA代码如下,复制粘贴到你的Excel中就可以。

Sub ChaiFenDanYuanGe()'声明变量
Dim arr() As String '定义一个字符串数组,用来存放单元格拆分后的数据
Dim m%              '定义一个整数,用来记录单元格内容需拆分的总行数
Dim n%              '定义一个整数,用来记录要拆分单元格的总个数
Dim row1, col1      '记录所选单元格所在的行数 和 列数
Dim i%, j%          '循环计数变量
Dim max%            '记录最大整数

'第1步,把拆分的数据存放到数组arr里    '第1.1步,确定要拆多少行,即确定m的值
        '第1.1.1步,选择区域有几列?也就是要拆分的单元格的总个数,即n的值        '注意:我们选择的区域都是1行1列 或 1行多列
        n = Selection.Count
    If n = 1 Then   '如果选择区域仅有一个单元格,那么...
        m = UBound(VBA.Split(Selection.Cells(1, n), Chr(10)))    Else            '如果选择区域不止一个单元格,那么通过比较,确定出选中区域,单元格能拆分的最多行数
        m = UBound(VBA.Split(Selection.Cells(1, 1), Chr(10)))
        For i = 2 To n
            max = UBound(VBA.Split(Selection.Cells(1, i), Chr(10)))
            If max > m Then
                m = max
            End If
        Next i
    End If
    
    '第1.2步,存数据到数组,    'split分隔符是chr(10),也就是单元格里的alt+enter这种回车
    '如果要用其他的分隔符,如用分号分隔,则直接split(单元格,";")即可
    ReDim arr((n - 1), m) '数组arr()是m+1行,n列
    For i = 0 To (n - 1)
        '获取单元格split后的字符串个数,防止下标j越界
        max = UBound(Application.Transpose(Application.Transpose(VBA.Split(Selection.Cells(1, i + 1), Chr(10))))) - 1
        For j = 0 To m            If j <= max Then
                arr(i, j) = Application.Transpose(Application.Transpose(VBA.Split(Selection.Cells(1, i + 1), Chr(10))))(j + 1)
            End If
        Next j
    Next i'第2步,在所选区域上方,插入m行,并且复制所选区域的内容
    '第2.1步,获取activecell所在的行数,selection第一个单元格的列数
    row1 = ActiveCell.Row
    col1 = Selection.Cells(1, 1).Column    '第2.2步,插入m行
    For i = 1 To m
        Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
    Next i
    '第2.3步,复制行
    Cells(row1 + m, 1).EntireRow.Copy
    Range(Cells(row1, 1), Cells(row1 + m - 1, 1)).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False'第3步,将数组arr中的数据覆盖拆分区域
For i = 0 To n - 1
    For j = 0 To m
        Cells(row1 + j, col1 + i) = arr(i, j)
    Next j
Next i
'大功告成,将焦点放在A1单元格
Cells(1, 1).Select
End Sub

热心网友 时间:2022-03-28 14:21

将左边所有内容复制到一个txt文件里,再从TXT复制到表格里,成功。

热心网友 时间:2022-03-28 17:02

以逗号进行分列,然后选择性粘贴进行转置。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com