我在 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