我需要帮助将一行中的数据转换为多行

我需要帮助将一行中的数据转换为多行

我有一张这样的数据 Excel 表;

[EXCEL](http://i.imgur.com/mnvXLSQ.jpg)

我希望将该b列转换为 3 个新列,因此有两行如URL1, Name, address, emailURL3, Name, address, email

答案1

使用列中的数据A, 在C1进入:

=OFFSET($A$1,3*(ROWS($1:1)-1),0)

并抄下来D1进入:

=OFFSET($B$1,COLUMNS($A:A)-1+(ROW()-1)*3,0)

并复制横向和纵向的内容:

在此处输入图片描述

答案2

打开 Visual Basic(按Alt+F11
插入一个模块并将以下代码粘贴到该模块中

Sub Macro()
Dim i As Integer, j As Integer, k As Integer, LastRow As Integer
LastRow = Sheets(1).Range("A1").End(xlDown).Row
Sheets(2).Cells(1, 1).Value = Sheets(1).Cells(1, 1).Value
Sheets(2).Cells(1, 2).Value = Sheets(1).Cells(1, 2).Value
k = 1
j = 2
For i = 1 To LastRow
    If Sheets(1).Range("A" & i).Value = Sheets(1).Range("A" & (i + 1)).Value Then
        j = j + 1
        Sheets(2).Cells(k, j).Value = Sheets(1).Cells(i + 1, 2).Value
    Else
        k = k + 1
        Sheets(2).Cells(k, 1).Value = Sheets(1).Cells(i + 1, 1).Value
        Sheets(2).Cells(k, 2).Value = Sheets(1).Cells(i + 1, 2).Value
        j = 2
        End If
Next i
End Sub

此代码检查第一列单元格之间的相似性,如果单元格内容匹配,则其旁边单元格中的值将被复制到另一张表。如果第一列单元格内容不匹配,则它将被视为下一个数据点。

在第一张表中输入
在此处输入图片描述

在第二张表中输出
在此处输入图片描述

相关内容