Страницы: 1
RSS
Динамическая сводная: определить сумму последних 4-х столбцов, формулой
 
Добрый день,
Прошу помощи с задачей. Есть таблица, которая обновляется через запрос с сервера и постоянно дополняется новыми колонками (в колонках указаны периоды).
Задача найти последнюю заполненную колонку и вывести сумму последних 4 колонок по строке через связку значений. Через формулы, не через VBA
Изменено: RayI - 16.08.2019 14:11:05
 
RayI, а проставить желаемый результат религия не позволяет?))))(если что шучу)..сейчас попробуем
а почему для город 1 бренд 1 должно получится 10? - если там 4?
Изменено: Mershik - 16.08.2019 13:55:13
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Mershik написал:
а почему для город 1 бренд 1 должно получится 10? - если там 4?
Да, сорри, взял сумму из заголовка)))) должно быть 4
на всякий случай изменил файл
Изменено: RayI - 16.08.2019 14:10:52
 
RayI, вроде так.
Изменено: Mershik - 16.08.2019 14:19:27
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,
Спасибо, а можно параметр INDEX($3:$3 изменить на данные всей таблицы, а не в конкретной строке?
 
RayI, не можно конечно просто лдя чего было ? я так понял что таблица меняется постоянно и  все...
Цитата
RayI написал:
Динамическая сводная
Изменено: Mershik - 16.08.2019 14:17:07
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,
Нижняя таблица может иметь комбинации по связке Город&Бренд, и нужно иметь возможность "тянуть" формулу вниз
 
RayI, нижняя таблица и так  там протягивается ф-ла - ли я вас непонимЭ)))
Изменено: Mershik - 16.08.2019 14:22:20
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, Спасибо!!! это я торможу
Изменено: RayI - 16.08.2019 14:30:09
 
Цитата
RayI написал:
не через VBA
вариант на PQ  :D
Код
let
    from = Table.SelectRows(Excel.Workbook(File.Contents(Excel.CurrentWorkbook(){[Name="adres"]}[Content]{0}[adres])),each [Name]="Sheet1"){0}[Data],
    transf =  Table.PromoteHeaders(Table.Skip(from,2)),
    list = Table.ColumnNames(transf),
    list2 = List.Combine({List.FirstN(list,2),List.LastN(list,4)}),
    table = Table.SelectColumns(transf,list2),
    unpiv = Table.UnpivotOtherColumns(table, {"Филиал", "Продукт"}, "Месяц", "Значение"),
    typ = Table.TransformColumnTypes(unpiv,{{"Значение", Int64.Type}}),
    select = Table.SelectColumns(typ,{"Филиал", "Продукт", "Значение"}),
    to = Table.Group(select, {"Филиал", "Продукт"}, {{"Количество", each List.Sum([Значение]), type number}})
in
    to
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik,Спасибо!
 
Mershik,
А если даты будут не в текстовом формате. а в формате дд.мм.гггг то в формуле необходимо "яяяяя" заменить на что?
Изменено: RayI - 16.08.2019 14:50:03
 
Понял :-) 9E+307
Страницы: 1
Наверх