如何在关键字Excel之后将文本组织成行

时间:2018-11-21 19:48:57

标签: excel format dataset

我正在研究机器学习项目,并且正在使用Excel处理数据集。我是Excel和ML的新手。

所以我正在使用this dataset,我只是将整个内容复制并粘贴到excel电子表格中。我在栏上输入了文本,之后便被卡住了。这是一些数据的快照:

Snapshot of data

我想重新格式化电子表格中的数据,以便所有数据进入单个行,然后在“名称”关键字之后开始一个新行。

例如,我想要这个:

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)?谢谢!

1 个答案:

答案 0 :(得分:0)

您需要使用VBA。我使用了以下示例数据:

enter image description here

并获得以下输出:

enter image description here

使用此宏:

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