假设我在 excel 中的列设置如下:
名称 ABCD 乔治 10 5 4 6
我希望它改为这样:
名称 类别 金额 乔治 A 10 乔治 B 5 乔治 C 4 乔治 D 6
是否有一种简单的方法可以使用转置或数据透视表进行复制和粘贴,还是必须使用 VBA 来完成?我一直在尝试只用 VBA 来做,但我还没有走得很远。
假设我在 excel 中的列设置如下:
名称 ABCD 乔治 10 5 4 6
我希望它改为这样:
名称 类别 金额 乔治 A 10 乔治 B 5 乔治 C 4 乔治 D 6
是否有一种简单的方法可以使用转置或数据透视表进行复制和粘贴,还是必须使用 VBA 来完成?我一直在尝试只用 VBA 来做,但我还没有走得很远。
一个真正的答案而不是一个链接怎么样?
Paste Special
->Transpose
根据评论,您可以点击该链接。描述 Excel 2010 类似步骤的相关 SO 答案是如何将行转换为基于重复列的数据?.
如果您想在源数据和目标数据之间保持“动态”链接,那么每当源数据发生变化时,目标也会自动进行,您需要公式。在这种情况下,您可以使用Excel 中的第 7 项:在列/行/矩阵之间转换数据的公式:
要matrix_data3
转置matrix_data2
,只需使用matrix_data2_top_left
and 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 区域名称$B$1
,它们可以在公式中替换为它们的绝对引用(例如和$B$6
)。此外,matrix_data2
andmatrix_data3
是 Excel 范围名称,但此处不需要这些范围(作为名称或绝对引用)。