如何在Excel中将多行转换为单行?

我有表中的数据如下:

预

我有如上表中的数据。 这个表有许多MMID M000071,M000073,….等等。 筛选可能会因资产而异。 每个MMID可能有几个date。

我想要输出如下:

后

桌上有两万人。 所以我想找一个简单的方法来做这个工作。

@Jeeped给我一个使用VBA的build议。

所以经过几个小时的Excel VBA学习,我已经解决了这个问题,并得到了我想要的答案。

代码如下:

Option Explicit Public Sub sort() Dim j As Long Dim cursor As Long j = 2 cursor = 2 For j = 2 To 20150 X: If Worksheets("Sheet2").Cells(cursor, "A").Value = "" Then Worksheets("Sheet2").Cells(cursor, "A").Value = Worksheets("Sheet1").Cells(j, "A").Value Worksheets("Sheet2").Cells(cursor, "H").Value = Worksheets("Sheet1").Cells(j, "D").Value Select Case Worksheets("Sheet1").Cells(j, "B") Case "ACR" Worksheets("Sheet2").Cells(cursor, "B") = Worksheets("Sheet1").Cells(j, "C") Case "Microalbumin" Worksheets("Sheet2").Cells(cursor, "C") = Worksheets("Sheet1").Cells(j, "C") Case "eGFR" Worksheets("Sheet2").Cells(cursor, "D") = Worksheets("Sheet1").Cells(j, "C") Case "LDL_HDL_TotChol" Worksheets("Sheet2").Cells(cursor, "E") = Worksheets("Sheet1").Cells(j, "C") Case "HbA1C" Worksheets("Sheet2").Cells(cursor, "F") = Worksheets("Sheet1").Cells(j, "C") Case "UricAcid" Worksheets("Sheet2").Cells(cursor, "G") = Worksheets("Sheet1").Cells(j, "C") End Select Else If Worksheets("Sheet1").Cells(j, "A").Value = Worksheets("Sheet2").Cells(cursor, "A").Value Then If Worksheets("Sheet1").Cells(j, "D").Value = Worksheets("Sheet2").Cells(cursor, "H").Value Then Select Case Worksheets("Sheet1").Cells(j, "B") Case "ACR" Worksheets("Sheet2").Cells(cursor, "B") = Worksheets("Sheet1").Cells(j, "C") Case "Microalbumin" Worksheets("Sheet2").Cells(cursor, "C") = Worksheets("Sheet1").Cells(j, "C") Case "eGFR" Worksheets("Sheet2").Cells(cursor, "D") = Worksheets("Sheet1").Cells(j, "C") Case "LDL_HDL_TotChol" Worksheets("Sheet2").Cells(cursor, "E") = Worksheets("Sheet1").Cells(j, "C") Case "HbA1C" Worksheets("Sheet2").Cells(cursor, "F") = Worksheets("Sheet1").Cells(j, "C") Case "UricAcid" Worksheets("Sheet2").Cells(cursor, "G") = Worksheets("Sheet1").Cells(j, "C") End Select Else cursor = cursor + 1 GoTo X End If Else cursor = cursor + 1 GoTo X End If End If Next End Sub 

我希望这可以帮助像我这样的其他人。

注意:运行此程序之前,应将sheet2的单元格MESDATE设置为文本。 否则,它会将sheet1的单元格MSEDATE更改为datetypes。

在Excel中使用文本列选项。

1)将数据复制到Excel

2)select数据

3)在数据function区 – >select文本到列

4)selectDelimted选项并单击下一步

5)select分隔符作为空间(checkbox),然后点击下一步

6)select目的地并按完成

步骤1

第2步

第三步:

步骤4