【问题标题】:Excel Converting rows to columns with groupsExcel将行转换为带有组的列
【发布时间】:2012-07-30 16:33:04
【问题描述】:
假设我在 excel 中的列设置如下:
姓名 A B C D
乔治 10 5 4 6
我希望它变成这样:
名称类别金额
乔治 A 10
乔治 B 5
乔治 C 4
乔治 D 6
是否有一种简单的方法可以使用转置或数据透视表进行复制和粘贴,或者必须使用 VBA 来完成?我一直在尝试只用 VBA 来做,但我还没有走得很远。
【问题讨论】:
标签:
excel
pivot-table
transpose
【解决方案1】:
真实的答案而不是链接怎么样?
- 突出显示要旋转的两行。
- 复制
- 查找空行
-
Paste Special -> Transpose
【解决方案3】:
如果您想在源数据和目标数据之间保持“动态”链接,因此每当源数据发生变化时,目标也会自动执行此操作,您需要公式。
在这种情况下,您可以使用 Excel: Formulas for converting data among column / row / matrix 中的第 7 项:
matrix_data3转置matrix_data2,只需使用matrix_data2_top_left和matrix_data3_top_left,公式即可
=OFFSET(matrix_data2_top_left,COLUMN()-COLUMN(matrix_data3_top_left),ROW()-ROW(matrix_data3_top_left))
并复制到合适的目标范围内。
请注意,matrix_data2_top_left 和 matrix_data3_top_left 对于源区域和目标区域的左上角单元格分别是方便的 Excel range names,并且它们可以在公式中替换为它们的绝对引用(例如,$B$1 和$B$6)。
此外,matrix_data2 和 matrix_data3 是 Excel 范围名称,但此处不需要这些范围(作为名称或绝对引用)。