excel多列转行

如图我有上千个零件,每个零件有很多加工步骤和每个加工步骤的加工时间。我想转化成右图所示,每个零件变成1行,每个步骤及对应的加工时间从左向右排列。着急,在线等,谢谢啦!

第1个回答  2017-08-26

用VBA来做吧:

假设原表为Sheet1,目标为Sheet2。

Sub Test()
    ljh = ""
    n = 1
    For i = 2 To Sheet1.Range("A65536").End(xlUp).Row
        If Sheet1.Cells(i, "A") <> "" Then
            ljh = Cells(i, "A")
            c = 1
            n = n + 1
        Else
            c = c + 1
        End If
        If Sheet2.Cells(1, c * 2) = "" Then Sheet2.Cells(1, c * 2) = "工序"
        If Sheet2.Cells(1, c * 2 + 1) = "" Then Sheet2.Cells(1, c * 2 + 1) = "时间"
        If Sheet2.Cells(n, 1) = "" Then Sheet2.Cells(n, 1) = ljh
        Sheet2.Cells(n, c * 2) = Sheet1.Cells(i, "B")
        Sheet2.Cells(n, c * 2 + 1) = Sheet1.Cells(i, "C")
    Next
End Sub

第2个回答  2017-08-26
如果语文的分数在 B2,数学C2,英语 D2,那么 E2单元格内输入 =SUM(B2:D2)就可以求出三门功课 这一学生的 总分,然后下拉,可以求出下面同学的总分追问

您给的这个算法与我提问的问题有关系么?这个公式我也会啊

相似回答