Страницы: 1
RSS
Сумма по названию столбцов. Query
 
Всем доброго дня.

Прошу помочь с решением следующей проблемы.

В отчете существуют столбцы с указанием Продуктов, Подарков и их Количества. Столбец с количеством всегда идет после столбца с наименование Продукта/Подарка. Отчет формируется таким образом, что для разных строк количество Продуктов/Подарков отображается в разных столбцах. Количество этих столбцов может со временем менятся около 10.
Каким образом мне добавить два пользовательских столбца, что бы в одном считалась сумма по определенным Продуктам (находить столбцы по первым 6 символам "Продук" и брать значение количества из соседнего левого столбца), а во втором сумма по определенным Подаркам(так находить нужные столбцы исходя из их названия)?
 
либо так
=SUMIFS(Table1[@[Количество1]:[Количество4]];Table1[[#Headers];[Продукт1]:[Подарки2]];"Продукт*";Table1[@[Продукт1]:[Подарки2]];"Яблоко*")
либо так
=SUMIFS(Table1[@[Количество1]:[Количество4]];Table1[[#Headers];[Продукт1]:[Подарки2]];"Продукт*";Table1[@[Продукт1]:[Подарки2]];"Яблоко")

Либо поясните почему яблоко красное не считаете а зеленое считаете.
По вопросам из тем форума, личку не читаю.
 
Еще вариант
Код
// Table1
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Added Custom" = Table.AddColumn(Source, "Пользовательская", each let
    a=Table.FromRows(List.Zip({Table.ColumnNames(Source),Record.FieldValues(_),List.Skip(Record.FieldValues(_))})),
    b="Яблоко" in List.Sum(Table.SelectRows(Table.TransformColumnTypes(a,{{"Column1", type text},{"Column2", type text}}), 
    each Text.Contains([Column1], "Продук") and Text.Contains([Column2],b))[Column3])),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Пользовательская2", each let
    a=Table.FromRows(List.Zip({Table.ColumnNames(Source),Record.FieldValues(_),List.Skip(Record.FieldValues(_))})),
    b="Груша" in List.Sum(Table.SelectRows(Table.TransformColumnTypes(a,{{"Column1", type text},{"Column2", type text}}), 
    each Text.Contains([Column1], "Подар") and Text.Contains([Column2],b))[Column3]))
in #"Added Custom1"
 
БМВ,  в файле примера действительно есть ошибка, не посчитал одно яблоко в последней строке.
Михаил Л,  огромное спасибо! Применил к реальному отчету, все работает! :)  
Изменено: Sukhanov - 09.04.2020 19:56:36
Страницы: 1
Наверх