Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Суммировать даные, если с одним ID больше трех строк
 
Добрый день!
Подскажите, пожалуйста, как можно решить проблему из файла без использования дополнительных столбцов и сортировки.
Есть столбец с ID, если в рамках одной ID больше 3 строк, то все последующие строки нужно просуммировать.
Последовательность строк определяется по строке дата.
Например, по ID 6 есть 5 строк. Первые 3 строки с первыми датами 01.01.17, 01.02.17 и 01.03.17 не учитываются, остальные суммируются.
Столбец с датой в оригинале не отсортирован. Но если без сортировки нельзя, то подскажите решение хотя бы с ней.
Заранее благодарю.
 
reactortyz,
Цитата
reactortyz написал:
если в рамках одной ID больше 3 строк, то все последующие строки нужно просуммировать.
а если меньше или равно? что делать?
покажите желаемый результат в файле
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,
Желаемый результат выделен желтым в ячейке I3.
Меньше или равно значения не имеет, поскольку нужно получить единственную цифру в целом по таблице.
Столбцы E и F ввел дополнительно, а также отсортировал предварительно таблицу.
Вообще этих столбцов нет, сортировка может быть произвольной.  
 
в PQ

Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Table14"]}[Content],
    grp = Table.Group(Источник, "ID", {"tmp", each Table.AddIndexColumn(_, "index", 1, 1)}),
    tableCombine = Table.Combine(grp[tmp]),
    selectRows = Table.SelectRows(tableCombine, each [index] > 3),
    out = List.Sum(selectRows[Значение])
in
    out
 
Stics,
Спасибо!
Но ситуация такова, что вариант с PQ не подходит, поэтому нужен формульный вариант
 
Stics,
Также я описывал, что расположение строк может быть произвольным по ID и датам.
Поэтому когда делал шаг группировки, то вкладывал в этот шаг сортировку, чтобы корректно отобрать значения больше трех. Иначе расчет больше трех будет производиться некорректно
Код
#"Grouped Rows" = Table.Group(#"Сортированные строки", {"ID"}, {{"tab", each Table.AddIndexColumn( Table.Sort(_,{{"ID", Order.Ascending}, {"Дата", Order.Ascending}}),  "Index", 1,1), type table}}),
 
reactortyz, Боюсь что формулы, если и будут будут очень печальными, и на на больших объемах будут еще медленее и  печальнее их работа.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Читают тему (гостей: 1)
Наверх