我正在研究机器学习项目,并且正在使用Excel处理数据集。我是Excel和ML的新手。
所以我正在使用this dataset,我只是将整个内容复制并粘贴到excel电子表格中。我在栏上输入了文本,之后便被卡住了。这是一些数据的快照:
我想重新格式化电子表格中的数据,以便所有数据进入单个行,然后在“名称”关键字之后开始一个新行。
例如,我想要这个:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18
19 20 21 22 23 name
成为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 name (all on one line)
无需逐行手动进行操作(它的长度几乎为3000行)。
我该怎么做(如果需要,可以使用VBA)?谢谢!
答案 0 :(得分:0)
您需要使用VBA。我使用了以下示例数据:
并获得以下输出:
使用此宏:
Sub separateByName()
Dim lRow As Long
Dim lCol As Long
Dim lCol2 As Long
k = 1
lRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lRow
lCol = Cells(i, Columns.Count).End(xlToLeft).Column
For j = 1 To lCol
lCol2 = Sheets("Sheet2").Cells(k, Columns.Count).End(xlToLeft).Column
Sheets("Sheet2").Cells(k, lCol2 + 1).Value = Cells(i, j).Value
If Cells(i, j).Value = "name" Then k = k + 1
Next j
Next i
End Sub