msi2102
Дата: Понедельник, 23.05.2022, 09:41 |
Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 413
Репутация:
129
±
Замечаний:
0% ±
Excel 2007
Можно [vba]Код
let Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], Группа = Table.Group(Источник, {"Входит", "Обозначение", "Наименование"}, {{"Количество", each _, type table [Входит=text, Обозначение=text, Наименование=text, Ед. изм.1=text, Кол.1=number, Ед. изм.2=nullable text, Кол.2=nullable number, Примечание=nullable text]}}), ЕдИзм1 = Table.TransformColumns(Table.AddColumn(Группа, "Ед. изм.1", each Table.Column([Количество],"Ед. изм.1")), {"Ед. изм.1", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол1 = Table.TransformColumns(Table.AddColumn(ЕдИзм1, "Кол.1", each Table.Column([Количество],"Кол.1")), {"Кол.1", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "+"), type text}), ЕдИзм2 = Table.TransformColumns(Table.AddColumn(Кол1, "Ед. изм.2", each Table.Column([Количество],"Ед. изм.2")), {"Ед. изм.2", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол2 = Table.TransformColumns(Table.AddColumn(ЕдИзм2, "Кол.2", each Table.Column([Количество],"Кол.2")), {"Кол.2", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "+"), type text}), Прим = Table.TransformColumns(Table.AddColumn(Кол2, "Примечание", each Table.Column([Количество],"Примечание")), {"Примечание", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Сумма = Table.AggregateTableColumn(Прим, "Количество", {{"Кол.1", List.Sum, "Сумма1"}, {"Кол.2", List.Sum, "Сумма2"}}), Порядок = Table.ReorderColumns(Сумма,{"Входит", "Обозначение", "Наименование", "Ед. изм.1", "Кол.1", "Сумма1", "Ед. изм.2", "Кол.2", "Сумма2"}) in Порядок
[/vba]
Можно [vba]Код
let Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], Группа = Table.Group(Источник, {"Входит", "Обозначение", "Наименование"}, {{"Количество", each _, type table [Входит=text, Обозначение=text, Наименование=text, Ед. изм.1=text, Кол.1=number, Ед. изм.2=nullable text, Кол.2=nullable number, Примечание=nullable text]}}), ЕдИзм1 = Table.TransformColumns(Table.AddColumn(Группа, "Ед. изм.1", each Table.Column([Количество],"Ед. изм.1")), {"Ед. изм.1", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол1 = Table.TransformColumns(Table.AddColumn(ЕдИзм1, "Кол.1", each Table.Column([Количество],"Кол.1")), {"Кол.1", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "+"), type text}), ЕдИзм2 = Table.TransformColumns(Table.AddColumn(Кол1, "Ед. изм.2", each Table.Column([Количество],"Ед. изм.2")), {"Ед. изм.2", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол2 = Table.TransformColumns(Table.AddColumn(ЕдИзм2, "Кол.2", each Table.Column([Количество],"Кол.2")), {"Кол.2", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "+"), type text}), Прим = Table.TransformColumns(Table.AddColumn(Кол2, "Примечание", each Table.Column([Количество],"Примечание")), {"Примечание", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Сумма = Table.AggregateTableColumn(Прим, "Количество", {{"Кол.1", List.Sum, "Сумма1"}, {"Кол.2", List.Sum, "Сумма2"}}), Порядок = Table.ReorderColumns(Сумма,{"Входит", "Обозначение", "Наименование", "Ед. изм.1", "Кол.1", "Сумма1", "Ед. изм.2", "Кол.2", "Сумма2"}) in Порядок
[/vba] msi2102
Ответить
Сообщение Можно [vba]Код
let Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], Группа = Table.Group(Источник, {"Входит", "Обозначение", "Наименование"}, {{"Количество", each _, type table [Входит=text, Обозначение=text, Наименование=text, Ед. изм.1=text, Кол.1=number, Ед. изм.2=nullable text, Кол.2=nullable number, Примечание=nullable text]}}), ЕдИзм1 = Table.TransformColumns(Table.AddColumn(Группа, "Ед. изм.1", each Table.Column([Количество],"Ед. изм.1")), {"Ед. изм.1", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол1 = Table.TransformColumns(Table.AddColumn(ЕдИзм1, "Кол.1", each Table.Column([Количество],"Кол.1")), {"Кол.1", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "+"), type text}), ЕдИзм2 = Table.TransformColumns(Table.AddColumn(Кол1, "Ед. изм.2", each Table.Column([Количество],"Ед. изм.2")), {"Ед. изм.2", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол2 = Table.TransformColumns(Table.AddColumn(ЕдИзм2, "Кол.2", each Table.Column([Количество],"Кол.2")), {"Кол.2", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "+"), type text}), Прим = Table.TransformColumns(Table.AddColumn(Кол2, "Примечание", each Table.Column([Количество],"Примечание")), {"Примечание", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Сумма = Table.AggregateTableColumn(Прим, "Количество", {{"Кол.1", List.Sum, "Сумма1"}, {"Кол.2", List.Sum, "Сумма2"}}), Порядок = Table.ReorderColumns(Сумма,{"Входит", "Обозначение", "Наименование", "Ед. изм.1", "Кол.1", "Сумма1", "Ед. изм.2", "Кол.2", "Сумма2"}) in Порядок
[/vba] Автор - msi2102 Дата добавления - 23.05.2022 в 09:41
msi2102
Дата: Понедельник, 23.05.2022, 16:25 |
Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 413
Репутация:
129
±
Замечаний:
0% ±
Excel 2007
Исправил [vba]Код
let Источник = Excel.CurrentWorkbook(){[Name="Спецификация"]}[Content], Уд_нулл = Table.SelectRows(Источник, each ([Входит] <> null)), Группа = Table.Group(Уд_нулл, {"Входит", "РАЗДЕЛ", "Обозначение", "Наименование"}, {{"Количество", each _, type table [Входит=nullable text, РАЗДЕЛ=nullable text, Обозначение=text, Наименование=nullable text, Ед. изм.1=text, Кол.1=number, Сумма полн.1=number, Ед. изм.2=nullable text, Кол.2=nullable number, Сумма полн.2=number, Примечание=nullable text]}}), #"Ед. изм.1" = Table.TransformColumns(Table.AddColumn(Группа, "Ед. изм.1", each Table.Column([Количество],"Ед. изм.1")), {"Ед. изм.1", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол.1 = Table.TransformColumns(Table.AddColumn(#"Ед. изм.1", "Кол.1", each Table.Column([Количество],"Кол.1")), {"Кол.1", each Text.Combine(List.Transform(_, Text.From), "+"), type text}), #"Ед. изм.2" = Table.TransformColumns(Table.AddColumn(Кол.1, "Ед. изм.2", each Table.Column([Количество],"Ед. изм.2")), {"Ед. изм.2", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол.2 = Table.TransformColumns(Table.AddColumn(#"Ед. изм.2", "Кол.2", each Table.Column([Количество],"Кол.2")), {"Кол.2", each Text.Combine(List.Transform(_, Text.From), "+"), type text}), Примечание = Table.TransformColumns(Table.AddColumn(Кол.2, "Примечание", each Table.Column([Количество],"Примечание")), {"Примечание", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Сумма = Table.AggregateTableColumn(Примечание, "Количество", {{"Кол.1", List.Sum, "Сумма1"}, {"Кол.2", List.Sum, "Сумма2"}}), Порядок = Table.ReorderColumns(Сумма,{"Входит", "Обозначение", "Наименование", "Ед. изм.1", "Кол.1", "Сумма1", "Ед. изм.2", "Кол.2", "Сумма2"}) in Порядок
[/vba]
Исправил [vba]Код
let Источник = Excel.CurrentWorkbook(){[Name="Спецификация"]}[Content], Уд_нулл = Table.SelectRows(Источник, each ([Входит] <> null)), Группа = Table.Group(Уд_нулл, {"Входит", "РАЗДЕЛ", "Обозначение", "Наименование"}, {{"Количество", each _, type table [Входит=nullable text, РАЗДЕЛ=nullable text, Обозначение=text, Наименование=nullable text, Ед. изм.1=text, Кол.1=number, Сумма полн.1=number, Ед. изм.2=nullable text, Кол.2=nullable number, Сумма полн.2=number, Примечание=nullable text]}}), #"Ед. изм.1" = Table.TransformColumns(Table.AddColumn(Группа, "Ед. изм.1", each Table.Column([Количество],"Ед. изм.1")), {"Ед. изм.1", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол.1 = Table.TransformColumns(Table.AddColumn(#"Ед. изм.1", "Кол.1", each Table.Column([Количество],"Кол.1")), {"Кол.1", each Text.Combine(List.Transform(_, Text.From), "+"), type text}), #"Ед. изм.2" = Table.TransformColumns(Table.AddColumn(Кол.1, "Ед. изм.2", each Table.Column([Количество],"Ед. изм.2")), {"Ед. изм.2", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол.2 = Table.TransformColumns(Table.AddColumn(#"Ед. изм.2", "Кол.2", each Table.Column([Количество],"Кол.2")), {"Кол.2", each Text.Combine(List.Transform(_, Text.From), "+"), type text}), Примечание = Table.TransformColumns(Table.AddColumn(Кол.2, "Примечание", each Table.Column([Количество],"Примечание")), {"Примечание", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Сумма = Table.AggregateTableColumn(Примечание, "Количество", {{"Кол.1", List.Sum, "Сумма1"}, {"Кол.2", List.Sum, "Сумма2"}}), Порядок = Table.ReorderColumns(Сумма,{"Входит", "Обозначение", "Наименование", "Ед. изм.1", "Кол.1", "Сумма1", "Ед. изм.2", "Кол.2", "Сумма2"}) in Порядок
[/vba] msi2102
Сообщение отредактировал msi2102 - Понедельник, 23.05.2022, 16:26
Ответить
Сообщение Исправил [vba]Код
let Источник = Excel.CurrentWorkbook(){[Name="Спецификация"]}[Content], Уд_нулл = Table.SelectRows(Источник, each ([Входит] <> null)), Группа = Table.Group(Уд_нулл, {"Входит", "РАЗДЕЛ", "Обозначение", "Наименование"}, {{"Количество", each _, type table [Входит=nullable text, РАЗДЕЛ=nullable text, Обозначение=text, Наименование=nullable text, Ед. изм.1=text, Кол.1=number, Сумма полн.1=number, Ед. изм.2=nullable text, Кол.2=nullable number, Сумма полн.2=number, Примечание=nullable text]}}), #"Ед. изм.1" = Table.TransformColumns(Table.AddColumn(Группа, "Ед. изм.1", each Table.Column([Количество],"Ед. изм.1")), {"Ед. изм.1", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол.1 = Table.TransformColumns(Table.AddColumn(#"Ед. изм.1", "Кол.1", each Table.Column([Количество],"Кол.1")), {"Кол.1", each Text.Combine(List.Transform(_, Text.From), "+"), type text}), #"Ед. изм.2" = Table.TransformColumns(Table.AddColumn(Кол.1, "Ед. изм.2", each Table.Column([Количество],"Ед. изм.2")), {"Ед. изм.2", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Кол.2 = Table.TransformColumns(Table.AddColumn(#"Ед. изм.2", "Кол.2", each Table.Column([Количество],"Кол.2")), {"Кол.2", each Text.Combine(List.Transform(_, Text.From), "+"), type text}), Примечание = Table.TransformColumns(Table.AddColumn(Кол.2, "Примечание", each Table.Column([Количество],"Примечание")), {"Примечание", each Text.Combine(List.Transform(List.Distinct(_), Text.From), "; "), type text}), Сумма = Table.AggregateTableColumn(Примечание, "Количество", {{"Кол.1", List.Sum, "Сумма1"}, {"Кол.2", List.Sum, "Сумма2"}}), Порядок = Table.ReorderColumns(Сумма,{"Входит", "Обозначение", "Наименование", "Ед. изм.1", "Кол.1", "Сумма1", "Ед. изм.2", "Кол.2", "Сумма2"}) in Порядок
[/vba] Автор - msi2102 Дата добавления - 23.05.2022 в 16:25