用于将多个行和列移动到具有多个列的单个行的代码

时间:2013-05-20 13:34:41

标签: excel vba excel-vba

我正在寻找一段代码,我可以使用它将Excel中的数据从多行移动到一行,基于它在第1列中具有相同的ID。请参阅下面的示例数据:

Column1 Column2 Column3 Column4
11111   Axx/111     
11111           Bxx/111 
11111                   Cxx/000
22222   Axx/112     
22222           Bxx/444 
22222                   Cxx/111
33333   Axx/113     
33333           Bxx/555 
33333                   Cxx/222
44444   Axx/114     
44444           Bxx/666 
44444                   Cxx/333
55555   Axx/115     
55555           Bxx/777 
55555                   Cxx/444

如果第1列中的引用对于多行是相同的,我想从多列中移动数据,请将其保留在列中,但将其全部引用到1行中。所以不要这样:

Column1 Column2 Column3 Column4
11111   Axx/111     
11111           Bxx/111 
11111                   Cxx/000

我明白了:

Column1 Column2 Column3 Column4
11111   Axx/111 Bxx/111 Cxx/000
11111           
11111   

或者这个:

Column1 Column2 Column3 Column4
11111   Axx/111 Bxx/111 Cxx/000
11111   Axx/111 Bxx/111 Cxx/000
11111   Axx/111 Bxx/111 Cxx/000

请帮忙!

1 个答案:

答案 0 :(得分:2)

如果您不需要求和,并且您确定每列只能检索一个元素,则可以使用VLOOKUP。使用左侧的键创建另一张表。您可以使用Data > Delete duplicates仅获取唯一键。然后使用类似于此的公式:

在第2栏: =VLOOKUP($A2, A:D, 2, 0)

在第3栏: =VLOOKUP($A2, A:D, 3, 0)

在第2栏: =VLOOKUP($A2, A:D, 4, 0)