需要帮助在 Excel 行到列中创建宏

需要帮助在 Excel 行到列中创建宏

我在 Excel 中有一个数据转储,其中包含针对同一客户的多个设备的 customer_id 数据。

数据看起来像这样;

customer_id    equipment 
1               xx
1               yy
1               zz
2               xx
2               yy
2               zz
2               xx

我想将数据放入一个工作表中,其中每个 customer_id customer_id equipment_1 #_equipment_1 equipment_2 #_equipment_2 有一行

答案1

您尝试执行的操作在数据库术语中称为“交叉表”,在电子表格中称为“数据透视表”。使用 Excel 中的数据透视表。您需要参考 Excel 的帮助来创建它,这些说明超出了本文的范围。

答案2

我建议使用 RecordMacro 创建数据透视表 - 结果如下:

Sub Macro1()
        Columns("A:B").Select
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "Sheet1!R1C1:R1048576C2", Version:=xlPivotTableVersion12).CreatePivotTable _
            TableDestination:="Sheet1!R1C4", TableName:="PivotTable2", DefaultVersion _
            :=xlPivotTableVersion12
        Sheets("Sheet1").Select
        Cells(1, 4).Select
        ActiveWorkbook.ShowPivotTableFieldList = True
        With ActiveSheet.PivotTables("PivotTable2").PivotFields("equipment")
            .Orientation = xlColumnField
            .Position = 1
        End With
        With ActiveSheet.PivotTables("PivotTable2").PivotFields("customer_id")
            .Orientation = xlRowField
            .Position = 1
        End With
        ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables( _
            "PivotTable2").PivotFields("equipment"), "Count of equipment", xlCount
    End Sub

相关内容