如何使用宏将数据从行转换为列

时间:2010-01-22 20:48:26

标签: excel vba rows transpose

我对VBA完全不熟悉(除了手动录制和运行),所以希望有人可以帮我设计这个。根据日期和类型,我有一个工作表,其中每个唯一ID(列A)的行数未指定。 :

A        B             C            D

1    12Jan2010    type A     Person1

1    16Jan2010    type B     Person1

2    06Dec2009    type A     Person2 

3    16Dec2009    type A     Person1

5    20Dec2009    type A     Person2

5    02Jan2010    type B     Person2
4    10Dec2009    type A     Person2

基于唯一ID,我想将这些数据转换为每个唯一ID一行,然后将所有日期值按时间顺序放在整行中,如下所示:

A   B           C                D
1   Person1     12Jan2010(A)     16Jan2010(B)  
2   Person2     06Dec2009(A)  
3   Person1     16Dec2009(A)  
4   Person2     10Dec2009(A)  
5   Person2     20Dec2009(A)     02Jan2010(B)  

有没有办法在宏中完成这项工作?

1 个答案:

答案 0 :(得分:1)

使用数据透视表!选择整个表,并创建一个数据透视表,其中旁边的字段为A列,顶部字段为B列,只是在中间聚合部分中对A列进行计数。

你最终会得到一个唯一id的矩阵作为行,日期作为列,以及交叉点的行数!