假设我的excel中的列设置如下:
Name A B C D George 10 5 4 6
而我希望它是这样的:
Name Category Amount George A 10 George B 5 George C 4 George D 6
是否有一种简单的方法可以使用转置或使用数据透视表进行复制和粘贴,还是必须使用VBA完成?我一直试图只用VBA来做,但我还没走得很远。
答案 0 :(得分:3)
真正的答案而不是链接怎么样?
Paste Special
- > Transpose
答案 1 :(得分:2)
根据评论,您可以关注该链接。描述Excel 2010类似步骤的相关SO答案为How can I transform rows into repeated column based data?。
答案 2 :(得分:0)
如果要在源数据和目标数据之间保持“动态”链接,那么每当源数据发生更改时,目标也会自动执行,您需要公式。 在这种情况下,您可以使用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范围名称,但这里不需要这些范围(无论是名称还是绝对引用)。