【发布时间】:2014-01-03 20:46:56
【问题描述】:
这个格式问题让我很困惑。我不是 Excel 之王,非常感谢我的问题的解决方案。
我正在尝试按日期将多列中的数据格式化为单行。即:
我试图寻找有关转置的解决方案,但这似乎涉及更多。我有每个日期的 4x 数据结果(如前一列所示)。
【问题讨论】:
这个格式问题让我很困惑。我不是 Excel 之王,非常感谢我的问题的解决方案。
我正在尝试按日期将多列中的数据格式化为单行。即:
我试图寻找有关转置的解决方案,但这似乎涉及更多。我有每个日期的 4x 数据结果(如前一列所示)。
【问题讨论】:
这是一个简单的循环,它在工作表中自下而上运行,将最后一行移动 4 列,向下复制上面的行,然后删除上面的行。
Sub TransposeData()
Dim WS As Worksheet
Dim LastCell As Range
Dim LastCellRowNumber As Long
Set WS = Worksheets("Sheet1")
With WS
Set LastCell = .Cells(.Rows.Count, "A").End(xlUp)
LastCellRowNumber = LastCell.Row
End With
'Loop through column A bottom up
For i = LastCellRowNumber To 2 Step -1
'Shift current values over
Range("A" & i & ":D" & i).Insert Shift:=xlToRight
'Copy new values down
Range("A" & i & ":D" & i).Value = Range("A" & i - 1 & ":D" & i - 1).Value
'Delete row
Rows(i - 1).Delete Shift:=xlUp
Next i
End Sub
之前:
之后:
【讨论】:
您可以使用NotePad++ 将行合并为 .csv 文件中的行,然后再次在 Excel 中导入新的格式化信息。
1- 以逗号分隔值格式 (.csv) 保存您的电子表格。
2- 在 NotePad++ 中,点击:Edit->Line Operations->Join Lines.
3-用逗号(“,”)替换空格(“”)。你应该得到3个替换。
现在您只有一行,所有值都用逗号分隔。
4- 在 Excel 上保存并导入这个新文件。
【讨论】: