Страницы: 1 2 След.
RSS
Суммирование по уровням группировки
 
Добрый день.

из 1С постоянно выгружаю файл, в котором есть несколько уровней группировки.
Помогите пожалуйста с макросом, который проставлял формулу сумм или просто через + в каждом заглавном уровне группировки.
Вся сложность в том что каждый раз отчет может выводить разное кол-во строк в каждом уровне группировки, и нужно чтобы макрос сам определял где начинается/заканчивается группировка и там ставил формулу.

Есть ли варианты решения данной проблемы?

Спасибо
 
проще настроить обработку в 1С, чтобы она выгружала отчет с итогами и промежуточными итогами. Можно исходник выгрузки из 1С?
 
Если правильно понял..

Исправил ляпус..
Скрытый текст

еще вариант..
Изменено: Маугли - 27.03.2017 00:59:20
 
Цитата
yarik1983 написал:
проще настроить обработку в 1С, чтобы она выгружала отчет с итогами и промежуточными итогами.
1С так и выгружает, но нужно чтобы были формулы, потому что будут ручные корректировки данных по статьям и нужно чтобы автоматически пересчитывались итоги.
 
Маугли, почти оно. В Вашем макросе пересчет делает только в главном уровне группировки(желтым цветом), а нужно чтобы на меньших уровнях также пересчитывалось.
К примеру, если редактировать строку "Водители", то пересчет был в группировке "Служба доставки" и "Заработная плата" включительно.

В любом случае спасибо за помощь.
 
Скрытый текст
Изменено: Маугли - 06.12.2016 03:55:53
 
Маугли, подскажите ка применить ваш макрос на мою табличку? Что в макросе изменить, что бы работало?
"Желтые" ячеек= сумме "Оранжевых", а "Оранжевые"=сумме "Без заливки" по столбцу  F.
И как этот же макрос в дальнейшем применять к таблицам с группировками, но только группировок может быть больше уровней или столбец менятся.
Важна ли строка, с какой начинаются нруппы?
 
Инна, а если Маугли не придёт?
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Владимир, ну кто-нибудь же поможет.
Вот что получается,если применить ваш код. Складывает данные ячеек "без заливки" которые выше, а не ниже уровнем :(

Необходимо что бы было как в колонке "С" в файле суммы3.xlsm
Изменено: Инна Волкова - 27.03.2017 13:19:40
 
Цитата
Непонятно что с чем и куда складывает
Измените в макросе ячейку для суммирования и будет понятнее
Код
Sub InsertSumInGroup()
Dim r As Range, x
  For Each r In Columns(6).SpecialCells(xlCellTypeConstants).Areas
    x = WorksheetFunction.Sum(r)
    r.Cells(r.Count + 1).Offset(, 1) = x
  Next
End Sub
 
Kuzmich,ничего не понятно :cry:
 
Код
Sub InsertSumInGroup()
Dim r As Range, x
For Each r In Columns(6).SpecialCells(xlCellTypeConstants).Areas
    x = WorksheetFunction.sum(r)
    Cells(r.Row - 1, 6) = x
Next
For Each r In Columns(6).SpecialCells(xlCellTypeConstants).Areas
    x = WorksheetFunction.sum(r)
    Cells(r.Row - 1, 6) = x / 2
Next
End Sub
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Владимир,пишет ошибку, выделяя 5 строчку макроса. В таблице суммируется нижний уровень ("без заливки"), суммы  отображаются в "оранжевых", но "оранжевые" не суммируются в "желтые". И в конце таблицы, не корректную сумму отображает.
 
Цитата
ничего не понятно
У вас суммирование происходит по столбцу F в областях Areas, а суммы будут отображаться в столбце G
 
Kuzmich говорит, о том, что во время работы удобнее результат временно выносить в соседний столбец, дабы удобно было сравнивать и контролировать результат.
А потом, в конце уже, вставите туда куда нужно.
Так, Kuzmich?
Цитата
Инна Волкова написал:
ну кто-нибудь же поможет.
Если обращение лично к кому-то, то возможно Вам нужна помощь только от него.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Цитата
Так, Kuzmich?
Совершенно верно, Владимир.
 
Владимир,спасибо) Под "кто-нибудь" я подразумевала специалистов в сфере макросов))))) Спасибо за примененный макрос в прикрепленном вами файле. Открыла, посмотрела....Всё равно, вычисления с ошибками(((( К примеру, если свернуть все группы и сложить данные "желтых" ячеек, то сумма не совпадает с общей суммой((( + в красных ячейках появились суммы ниоткуда(((там пропуски по идее) И так же, к примеру, строка 28, как получилось 1500, если в этой группе всего одна строка с числом 90(((
 
Цитата
сумма не совпадает с общей суммой
А так?
 
Kuzmich,а так сумма то совпадает, но в "оранжевую" сумма верхних, а не нижних "без заливки". и по "желтым" сумм из "оранжевых" нет.
Соответственно должны быть равны между собой: сумма всех "без заливки"=сумма всех "оранжевых"=сумма всех "желтых" (ну если проверить)
Изменено: Инна Волкова - 27.03.2017 20:47:09
 
Исправил.
Изменено: Маугли - 31.03.2017 20:35:43
 
Посмотрите вариант для вашего файла Суммы3 из сообщения #9
Результат работы макроса в столбце D
 
Kuzmich,шикарно!!!!! :D Спасибо огромное)!!! Попробовала на полном файле, все работает))))но я так поняла, что в "желтых" обязательно должно присутствовать слово "Акватория" ( просто в другом файлике есть верхние уровни без данного слова, добавили его в начало названия и все супер)? И + "без заливки" не должны быть пустые, нули проставить лучше? К остальным ячейкам уровней таких обязательных слов нет?
Изменено: Инна Волкова - 28.03.2017 17:04:26
 
Почему не настроить отчет из 1С с детализацией записей (тут на форуме есть инструкция), а в Экселе сформировать макросом итоги обычные?
 
Цитата
И + "без заливки" не должны быть пустые, нули проставить лучше?
Это вы про какие ячейки говорите?
 
Дмитрий Тарковский, Дело в том, что в 1С нет некоторый данных (они не вносятся в программу по причине, что меняются часто, а для отчетов нужны "день в день" актуальные (и отчеты эти делаются по требованию как каждый день может, так и раз в 2-3 месяца). Из 1С формируется отчет приближенный к нужному, а потом "руками" эти данные вносятся, корректируются, совершают с ними какие то действия и уже потом нужна общая картина.
Kuzmich, Применила макос к другому отчету аналогичному. Выделила красным строки о которых шла речь
 
Цитата
Выделила красным строки о которых шла речь
В этих строчках значения в столбце В, а макрос подсчитывает суммы по столбцу С
и выводит результаты в столбец D
 
Kuzmich,это понятно. по столбцу С в строчке 30 пусто, а макрос вывел в эту строку сумму группы (строчки с 30 по 32), а по идее, эта сумма должна отображаться в 29 строчке.
96 по 104 строчку (это одна группа), а отображается, как суммы двух групп
Изменено: Инна Волкова - 28.03.2017 20:44:29
 
Цитата
по столбцу С в строчке 30 пусто
Проставьте там 0
и в строке 98 тоже должен быть 0
 
Без привязки к "Акватории * ".
Нули в третьем уровне проставит код.
Изменено: Владимир - 30.03.2017 16:20:45 (Kuzmich подсказал, - True поменять на False)
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Владимир, Спасибо большое)))) Подскажите, а данный макрос работает только на 2х-уровневых группировках?
Страницы: 1 2 След.
Наверх