2017-06-01 29 views
0

我有一个Excel与多列文件中的格式如下:多个Excel列到两列的文件

name_1  name_2 name_3 
name_1 name_4 name_5 name_6 

这代表NAME_1合作与NAME_2和NAME_3,NAME_2与NAME_3合作等 所以我需要创建一个新的Excel文件,将有所有的合作,例如

name_1 name_2 
name_1 name_3 
name_2 name_3 
name_1 name_4 
name_1 name_5 
name_1 name_6 
name_4 name_5 
name_4 name_6 
name_5 name_6 

有没有办法做到这一点?

+0

创建文件的副本?对不起,我可能会误解你的问题。 – KoderM16

回答

0

您需要使用VBA来执行此操作。

如果你的数据是这样的,

enter image description here

尝试一下下面的代码,

Sub splitTable() 
Dim i As Long, j As Long, k As Long, x As Long 
Sheets.Add.Name = "newSheet" 
k = 1 
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row 
    For x = 2 To Cells(i, Columns.Count).End(xlToLeft).Column 
    For j = x To Cells(i, Columns.Count).End(xlToLeft).Column 
     Sheets("newSheet").Cells(k, 1) = Cells(i, x - 1) 
     Sheets("newSheet").Cells(k, 2) = Cells(i, j) 
     k = k + 1 
    Next j 
    Next x 
Next i 
End Sub 

的代码创建一个新的工作表并打印格式化输出,

enter image description here

+0

它正在工作!非常感谢你! – temelina

+0

@temelina那很好。请标记我的答案是正确的,以关闭此问题。你可以在我的答案左侧看到 –