Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1 2 След.
RSS
Удаление идентичных, но противоположных по значению, строк, в сумме дающих ноль
 
Здравствуйте.

Есть куча строк с данными. В списке строки есть идентичные, но противоположные по значению (отрицательные и положительные). В итоге файл с данными разрастается, а данные строки на итоговую сумму никак не влияют, так как дают в сумме ноль. Хочу избавиться от них макросом.
В связи с чем, прошу помощи.
Файл перезалил.

Спасибо.
Изменено: luckyrichpaulp - 24 Окт 2017 12:00:18
 
На какую-то sap-ую выгрузку похоже.
Если у дублирующихся строк все аналитики одинаковые, то сводная их свернет.  
 
Привет!

Создать допколонку с формулой =ABS(L2)  или =ABS(K2), протянуть.
и удалить дубликаты.
 
Inexsu, А если в результате удаления дублей останется строчка с "-1,12"?
 
Цитата
Grr написал:
с "-1,12"?
В допколонке она без минуса
 
Inexsu, А в колонке L c минусом и если из трех значений "1,12", "-1,12" и "1,12" останется  "-1,12", то, наверное, это неправильно.
 
Inexsu, как вариант работы уже с итоговыми данными - подходит. Проверил, даже с минусовыми работает. Спасибо!
Однако хотелось бы макросом удалить их на начальном этапе выгрузки данных.
Изменено: luckyrichpaulp - 24 Окт 2017 10:34:07
 
luckyrichpaulp, кроме суммы и количества вся остальная аналитика в строке всегда одинаковая у записей, которые необходимо удалить?
 
Grr, у строк дублей да. То есть это проводки лишние. После сторнирования они проходят минусом, потом еще раз проводят их. Но могут провести после сторнирования уже с другими данными, а это уже не дубль будет. Это уже уникальная запись. Ее нельзя удалять.

Строк куча ) тыщ под 5-10
 
luckyrichpaulp, ясно. приложите пример на чуть большее количество записей. я пока накидаю заготовку макроса. посмотрим на производительность.
 
Grr, вот новый.
Изменено: luckyrichpaulp - 24 Окт 2017 11:20:42
 
Заготовка. Посмотрите.
upd перезалил вложение
Изменено: Grr - 24 Окт 2017 11:53:10
 
Grr, сдаётся мне, что что-то не так считает. Основной список - сумма 54854,10, а после обработки -19070,70. Сумма не должна измениться. Должно быть 54854,10, но количество строк будет меньше.
 
Тест
 
Grr, код большиват и синтаксис немного не знаком, но работает! Спасибо! :). А нельзя без создания нового листа? Используя эти столбцы, что есть с форматированием.
 
Кстати, если прибегнуть к соединению идеи от Inexsu и макроса? Добавляем столбец, формулу и удаляем дубли. Только макросом...
 
luckyrichpaulp, мне не нравится эта идея. Риски я выше изложил.

Цитата
А нельзя без создания нового листа? Используя эти столбцы, что есть с форматированием
Я думал, вы этот код перенесете в свой проект. Потому особо не утруждал себя форматированием. Сделать все можно
Встречный вопрос. Я правильно понял, что это выгрузка из SAP?
 
Grr, да SAP ERP. Проект открывает выгруженный файл и берет уже отформатированные данные, закрывает файл.
Изменено: luckyrichpaulp - 24 Окт 2017 12:49:12
 
luckyrichpaulp, у Sap есть возможность выгрузки данных в шаблон с пост обработкой макросом. Можно данный код применить на этапе выгрузки. Получать готовый файл.
 
Grr, интересно, спасибо за идею. Попробую узнать как это сделать.
 
Цитата
Grr написал:
в колонке L
Не считайте в L, считайте в допколонке
 
Inexsu, я прекрасно понял, что вы пытались до нас донести. А теперь попробуйте услышать меня.
Ваш способ сработает только в одном случае: когда  "+", сторно и "+" будут чередоваться. И дебетовая проводка будет первой.
Что не всегда факт. т.к. эта немецко-индусская поделка может выдать неожиданную сортировку в выборке.

Наглядная картинка,демонстрирующая изъяны вашего подхода, ниже. А теперь представьте, что это рубль двенадцать, а миллион и не рублей, а евро.

 
luckyrichpaulp, приходите завтра. Постараюсь вам найти пример такого шаблона. Несколько штук писал в прошлом году.
 
Цитата
Grr написал:
попробуйте услышать меня
Попробовал.
В моём подходе ни количество, ни стоимость не участвуют в выявлении дубликатов.
 
Inexsu, черт... может я чего не понимаю. Чисто для саморазвития, можете, если не сложно, продемонстрировать мне работу вашего подхода на файле, приложенным ТС в #11. Я на 100% уверен, что вы не получите требуемых 54854.10, но если это произойдет... "я съем галстук". :)
 
Grr, проверил, не выходит )
 
luckyrichpaulp, касаемо шаблона.

Вы заранее создаете шаблон с макросом, исходя из того, что Sap все данные выдает на лист "RowData".
В модуле должна присутствовать процедура ALV_SAP_Exit(). ALV_SAP_Exit() (Это своеобразный void main() void)
И насколько я помню, у Excel-я в центре управления безопасностью необходимо активировать пункт "Доверять доступ к объектной модели проектов VBA"

Как подключать шаблоны вам подскажут ABAP-еры.

Пример приложил. В качестве образца, думаю, сойдет.
В нем по линейной выгрузке, формировались сводные таблицы для анализа.
 
Grr, спасибо. Спросил поддержку о возможности, но сдаётся мне, что ничего не выйдет...
 
luckyrichpaulp, только нежелание или загруженность могут помешать реализации этого. У нас подобных макросов несколько сотен написано. Плюсы для пользователя очевидны. Когда они на выходе получают готовые диаграммы, сводные, либо "причесанные" данные, то пищат :)
 
Цитата
Grr написал:
вы не получите требуемых 54854.10
Да. не получил.  
Страницы: 1 2 След.
Читают тему (гостей: 1)
Наверх