excel怎么将一行的数据(有回车)分开成多行,并且左边对应的数据也跟随复制?

如图A2分成成为A3A4那种效果

可以使用下面公式达成。

前五列使用公式,在省份下面第一个单元格填入下面公式:

=INDEX(A:A,SMALL(IF(LEN($F$2:$F$999)-LEN(SUBSTITUTE($F$2:$F$999,CHAR(10),""))+1>=COLUMN($A:$Z),ROW($2:$999),),ROW(A1)))&""

然后向右向下填充。

然后类中所含专业使用下面公式:

=TRIM(MID(SUBSTITUTE(INDEX(F:F,SMALL(IF(LEN($F$2:$F$999)-LEN(SUBSTITUTE($F$2:$F$999,CHAR(10),))+1>=COLUMN($A:$Z),ROW($2:$999)),ROW(A1))),CHAR(10),REPT(" ",99)),COUNTIF(L$2:L2,L2)*99-98,99))

两个公式都是数组公式,同时按下Ctrl+Shift+Enter结束输入。向下填充即可。

如果版本够的话使用power query来拆分是最方便的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-16
Excel将一行的数据(有回车)分开成多行,并且左边对应的数据也跟随复制,这个方法有很多种,如:VBA编程、函数公式、技巧,这里说一下技巧:
第一步:新建一个空白的Word文档,复制表中数据;
第二步:在Word文档中粘贴后再复制粘贴回Excel表格中;
第三步:选中左边对应的数据(被合并单元格),“依次单击“开始”选项卡-“合并居中”命令;
第四步:按F5快捷键快速定位空格,输入公式:=A2,按Ctrl+Enter组合快捷键进行填充,最后在原位置上复制粘贴为值即可。本回答被网友采纳
第2个回答  2021-08-15
是不是拆分F列?
用代码:
Sub 拆分()
Dim nR, Arr
nR = Range("F65535").End(xlUp).Row
For i = nR To 2 Step -1
Arr = Split(Cells(i, 6).Value, Chr(10))
For j = UBound(Arr) - 1 To 0 Step -1

Rows(i + 1).Insert xlShiftDown
Range(Cells(i + 1, 1), Cells(i + 1, 5)).Value = Range(Cells(i, 1), Cells(i, 5)).Value
Cells(i + 1, 6).Value = Arr(j + 1)
Next j
Cells(i, 6).Value = Arr(0)
Next i
End Sub
操作方式,右击Sheet标签——查看代码,将代码复制、粘贴;点F5(或单击运行)
PS:动态图上传不上
第3个回答  2021-08-15
是不是拆分F列?
用代码:
Sub 拆分()
Dim nR, Arr
nR = Range("F65535").End(xlUp).Row
For i = nR To 2 Step -1
Arr = Split(Cells(i, 6).Value, Chr(10))
For j = UBound(Arr) - 1 To 0 Step -1

Rows(i + 1).Insert xlShiftDown
Range(Cells(i + 1, 1), Cells(i + 1, 5)).Value = Range(Cells(i, 1), Cells(i, 5)).Value
Cells(i + 1, 6).Value = Arr(j + 1)
Next j
Cells(i, 6).Value = Arr(0)
Next i
End Sub
操作方式,右击Sheet标签——查看代码,将代码复制、粘贴;点F5(或单击运行)
第4个回答  2021-08-15
将一行的数据分开成多行,可以在里面进行数据分开,可以添加表格,然后进一个合并 。
相似回答