【发布时间】:2013-12-23 20:28:02
【问题描述】:
我有一个大型数据集,由两列组成,行名重复但行值唯一。这是一个小例子:
A 1
A 2
A 3
A 4
A 5
A 6
A 7
B 8
B 9
B 10
B 11
B 12
B 13
B 14
C 15
C 16
C 17
C 18
C 19
C 20
C 21
我想将其转换为具有多列的几行。像这样:
A 1 2 3 4 5 6 7
B 8 9 10 11 12 13 14
C 15 16 17 18 19 20 21
我试图录制一个宏,但是当我单击 B8 时,我无法弄清楚如何让宏不仅从 B1:B7 中选择单元格范围,而且还从 B8:B14 中选择单元格范围。宏始终恢复为 B1:7。
这是我的示例宏:
Sub Macro2()
Range("B1:B7").Select
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End Sub
我进行了一些广泛的谷歌搜索,但无法找到一个简单的答案。如果这是初级的,我很抱歉。
感谢您的帮助。
我应该更具体地说明我的数据的外观。这是一个示例,但每个行名都有更多行。
A*01:01 24575.73
A*01:01 66.87
A*01:01 38.21
A*01:01 24532.88
A*01:01 2090.44
A*01:01 61.87
A*01:01 41.01
A*02:01 306.68
A*02:01 24.96
A*02:01 23182.25
A*02:01 28.23
A*02:01 54.94
A*02:01 39.87
A*02:01 22734.92
A*02:03 22.83
A*02:03 131.63
A*02:03 35.51
A*02:03 71.33
A*02:03 30.82
A*02:03 24.21
A*02:03 25.23
【问题讨论】:
-
您是否需要使用宏来重复/将来执行此操作,或者这是一次性的事情,您只需要知道如何以不慢的方式完成?
-
感谢您的提问。我以后会反复这样做。
-
这是一个非常适合我的解决方案: Re:格式化数据 - 列到行 您的示例看起来非常“干净”,每列总是 7 个值 A 值。这是一个足够好的“方法”吗?如果需要更“动态”,请使用:这是一个宏,用于将数据列合并到与 A 列匹配的一行。还有一个示例工作簿,您可以将数据放入并测试它。 sites.madrocketscientist.com/jerrybeaucaires-excelassistant/… 这是该站点上链接文件中的 Consolidate 宏。谢谢大家的帮助!
-
您的数据是否按照您最初的示例进行了预排序?
-
数据已预先排序。我在之前的评论中使用了该解决方案,它对数据很有效。