¿Necesitas ayuda para crear macro en filas de Excel a columnas


0

Tengo un volcado de datos en Excel que consiste en datos de customer_id con varios equipos listados contra el mismo cliente.

Los datos se ven así;

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

Quiero datos en una hoja de trabajo donde hay una fila por customer_id customer_id equipment_1 # _equipment_1 equipment_2 # _equipment_2


4
Traté de dar formato a tu pregunta para que sea más fácil de entender, pero parece que el último párrafo está incompleto. Puedes editar ¿Así que tiene más sentido? Incluya también qué versión de Excel está utilizando y lo que ya ha probado.
CharlieRB

1
Por favor, proporcione una misma de lo que sería la salida.
Michaelkay

Respuestas:


1

Lo que intentas hacer es llamar una tabla de referencias cruzadas en la jerga de la base de datos o una tabla dinámica en hojas de cálculo. Utilice la tabla dinámica en Excel. Necesitará consultar la ayuda de Excel para crearlo, las instrucciones están más allá del alcance de esta publicación.


0

Sugeriría crear una tabla dinámica con RecordMacro; los resultados para mí son los siguientes:

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.