【问题标题】: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 来做,但我还没有走得很远。

【问题讨论】:

  • 试试这个技巧:spreadsheetpage.com/index.php/tip/…。您仍然可以通过按Alt-D-P 在更高版本的 Excel 中访问数据透视表向导。
  • 谢谢你,你想把它作为答案发给我吗?

标签: excel pivot-table transpose


【解决方案1】:

真实的答案而不是链接怎么样?

  1. 突出显示要旋转的两行。
  2. 复制
  3. 查找空行
  4. Paste Special -> Transpose

【讨论】:

    【解决方案2】:

    根据评论,您可以点击该链接。描述 Excel 2010 类似步骤的相关 SO 答案是 How can I transform rows into repeated column based data?

    【讨论】:

      【解决方案3】:

      如果您想在源数据和目标数据之间保持“动态”链接,因此每当源数据发生变化时,目标也会自动执行此操作,您需要公式。 在这种情况下,您可以使用 Excel: Formulas for converting data among column / row / matrix 中的第 7 项:

      matrix_data3转置matrix_data2,只需使用matrix_data2_top_leftmatrix_data3_top_left,公式即可

      =OFFSET(matrix_data2_top_left,COLUMN()-COLUMN(matrix_data3_top_left),ROW()-ROW(matrix_data3_top_left))
      

      并复制到合适的目标范围内。

      请注意,matrix_data2_top_leftmatrix_data3_top_left 对于源区域和目标区域的左上角单元格分别是方便的 Excel range names,并且它们可以在公式中替换为它们的绝对引用(例如,$B$1$B$6)。 此外,matrix_data2matrix_data3 是 Excel 范围名称,但此处不需要这些范围(作为名称或绝对引用)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多