【问题标题】:Macro or method to pivot data in Excel?在 Excel 中透视数据的宏或方法?
【发布时间】:2015-10-07 01:23:25
【问题描述】:

我正在寻找一种在 Excel 工作表中动态旋转数据的方法,以将数据以通用格式放置,无论数据集有多宽。

例如:我希望能够使用一个可能有 5 列、30 列或 x 列的电子表格,使其转变成只有三列宽的通用格式。

以下是原始数据的示例:

我希望它看起来像这样:

有没有办法通过宏或使用任何其他 Excel 函数来做到这一点?

【问题讨论】:

    标签: vba excel excel-formula unpivot


    【解决方案1】:

    假设标签/数据在 Sheet1 中,从 A1 开始。

    1. 插入新的 A 列。

    2. 对于 Excel 2003:激活汇总表中的任何单元格并选择数据 - 数据透视表和数据透视图报告:

    3. 对于更高版本,使用 Alt+D 访问向导,P:

    4. 选择多个合并范围和数据透视表并点击下一步>。

    5. 在“Step 2a of 3”中,选择我将创建页面字段,然后单击下一步>。

    6. 在“Step 2b of 3”(模式中未显示!)中,在 Range: 字段中指定汇总表范围(示例数据为 A2:E6),然后单击 添加,然后下一步>。

    1. 在“第 3 步,共 3 步”中,选择数据透视表的位置(应提供现有工作表,因为 PT 只是暂时需要):

    1. 点击完成创建数据透视表:

    1. 向下钻取(即双击)总计的交叉点(此处为单元格 L4 或 16):

    1. 现在可以删除 PT。

    2. 在A2表中:

      ="Summary"&RIGHT(B2)

    3. 通过选择快速菜单中的表格(在表格中右键单击)和转换为范围,将结果表格转换为常规的单元格数组。

    4. 在从 Row2 系列开始的备用列中,向下填充整数,从 1 到您开始使用的多行数据(在示例中为 4)。然后系列填充该系列以适应。

    5. 按该(备用)列排序工作表,从最小到最大,我的数据有标题检查。

    6. 删除第 1 行和备用列,希望您最终得到:

    【讨论】:

    • 这样就行了!感谢您非常详细的回复!
    • @pnuts 如果 this 或多或少是 that 的副本,那么不应该将其作为副本关闭吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多