Всем доброго времени суток ! Недавно столкнулся вот с такой проблемой: Есть таблица с огромным кол-вом столбцов (350+). Когда из нее делаем сводную таблицу, очень не удобно отщелкивать каждое поле в графу "значение". Есть ли способ с помощью которого можно добавить все поля разом ?
+ Еще маленький вопросик, как в готовой сводно осуществить функцию "% от общей суммы по столбцу" на все столбцы сразу ?
Файл прилагаю (он сделан с помощью 2013 Экселя, но это решение мне нужно строго для 2007)
Всем доброго времени суток ! Недавно столкнулся вот с такой проблемой: Есть таблица с огромным кол-вом столбцов (350+). Когда из нее делаем сводную таблицу, очень не удобно отщелкивать каждое поле в графу "значение". Есть ли способ с помощью которого можно добавить все поля разом ?
+ Еще маленький вопросик, как в готовой сводно осуществить функцию "% от общей суммы по столбцу" на все столбцы сразу ?
Файл прилагаю (он сделан с помощью 2013 Экселя, но это решение мне нужно строго для 2007)WestMan
Если добавление всех полей в сводную не возможно реализовать, то хотя бы как в готовой сводной таблице осуществить функцию "% от общей суммы по столбцу" на все столбцы сразу ?
Никто не знает ?
Если добавление всех полей в сводную не возможно реализовать, то хотя бы как в готовой сводной таблице осуществить функцию "% от общей суммы по столбцу" на все столбцы сразу ?WestMan
Сообщение отредактировал WestMan - Вторник, 06.12.2016, 16:45
Это заведомо неправильный формат таблицы - см. как преобразовать в нормальный формат редизайнером В приложении пример как правильно преобразовать таблицу, и сделать правильную сводную - тогда не будет сложностей в вычислениях .
Это заведомо неправильный формат таблицы - см. как преобразовать в нормальный формат редизайнером В приложении пример как правильно преобразовать таблицу, и сделать правильную сводную - тогда не будет сложностей в вычислениях .SLAVICK
но поменять к сожалению не представляется возможным по ряду причин..
ну тогда вот так: [vba]
Код
Sub d() Set r = Sheets("Лист1").Range("A2").CurrentRegion Set pc = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=r, Version:=6) Set pt = pc.CreatePivotTable(TableDestination:="Лист2!R1C1", TableName:="PivotD", DefaultVersion:=6) With pt .PivotFields("Машины").Orientation = xlRowField For i = 2 To r.Columns.Count Set pf = .AddDataField(.PivotFields(CStr(r.Cells(1, i))), " " & r.Cells(1, i), xlSum) With pf .Calculation = xlPercentOfParentRow .NumberFormat = "0.00%" End With Next End With End Sub
но поменять к сожалению не представляется возможным по ряду причин..
ну тогда вот так: [vba]
Код
Sub d() Set r = Sheets("Лист1").Range("A2").CurrentRegion Set pc = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=r, Version:=6) Set pt = pc.CreatePivotTable(TableDestination:="Лист2!R1C1", TableName:="PivotD", DefaultVersion:=6) With pt .PivotFields("Машины").Orientation = xlRowField For i = 2 To r.Columns.Count Set pf = .AddDataField(.PivotFields(CStr(r.Cells(1, i))), " " & r.Cells(1, i), xlSum) With pf .Calculation = xlPercentOfParentRow .NumberFormat = "0.00%" End With Next End With End Sub