У меня есть дамп данных в 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

2 ответа2

1

То, что вы пытаетесь сделать, называется кросс-таблицей в жаргоне базы данных или сводной таблицей в электронных таблицах. Используйте сводную таблицу в Excel. Вам нужно будет обратиться к справке Excel, чтобы создать его, инструкции выходят за рамки этого поста.

0

Я бы предложил создать сводную таблицу с 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .