Страницы: 1
RSS
Сгруппировать строки после выгрузки из базы
 
Добрый день всем, помогите пожалуйста реализовать:)  
После выгрузки из БД, некоторые платежи дублируются, т.к. счет-фактура может иногда закрываться частями, разными суммами.  
Необходимо найти все такие строчки и их сгруппировать, для обнаружения таких строк я думаю что будет достаточно проверить по следующим полям все строки между собой (красные поля):  
1.ЗАКАЗ  
2.СЕРИЯ  
3.КОЛ-ВО  
4.СУММА  
5.ЧЕМ ЗАКРЫТ  
и при совпедении этих полей, суммировать поля ПЛАТЕЖ и ПЛАТЕЖ ВСЕГО (зеленые поля), а лишнее удалить...  
На листе 2 привел пример такого суммирования (из строки 2+3 должна получитсья строка 5)...  
 
т.е. я вот думаю что надо сделать что то типа  
If Cells(x, 2) & Cells(x, 6) = Cells(y, 2) & Cells(y, 6) Then а вот тут что????  
 
Вообщем помогите чем нибудь в реализации данной идеи :)))
 
гм, вроде авторизовался на форуме, а письмо отправилось без имени... :)
 
так проверку только по 2 и 6 столбику делать? или все таки по пяти?  
 
сделать не сложно, но малость долго - вечером сделаю, если никто не опередит)
 
Попробуйте стандартное средство Excel -    
Меню Данные/Итоги (2003)  
Вкладка Данные/Промежуточные итоги (2007)  
 
Там можно сразу и структуру сделать, и итоги он сам подобьет.  
Запишите на макрорекодер...
 
{quote}{login=Dophin}{date=19.03.2010 04:26}{thema=}{post}так проверку только по 2 и 6 столбику делать? или все таки по пяти?  
 
сделать не сложно, но малость долго - вечером сделаю, если никто не опередит){/post}{/quote}  
 
Лучше все таки по 5 проверять, т.к. бывают некоторые расхождения, так надежней будет:)  
Был бы безумно признателен если что то получиться)
 
{quote}{login=Haken}{date=19.03.2010 04:41}{thema=}{post}Попробуйте стандартное средство Excel -    
Меню Данные/Итоги (2003)  
Вкладка Данные/Промежуточные итоги (2007)  
 
Там можно сразу и структуру сделать, и итоги он сам подобьет.  
Запишите на макрорекодер...{/post}{/quote}  
 
Не это не то, мне с этими данными потом еще дальше нужно будет работать, мне тут еще итоги рано:)))
 
файл
 
Сводные таблицы?  
Там группировка и сумма.  
Можете добавить другие блоки в область строк, чтобы все данные отображались.  
Далее можете скопировать данную таблицу на новый лист значениями и работать дальше :)
 
ик... моё работает только по "заказу"... остальное не сверяет.
 
не особо оптимально (а если честно знаю я одного товарища с другого форума - он бы увидев это код повесился)  
 
но вроде работает)  
 
проверяйте
 
{quote}{login=Dophin}{date=19.03.2010 08:29}{thema=}{post} он бы увидев это код повесился){/post}{/quote}  
А что так? Затронуты права?
 
ну он любит максимально оптимальный и скоростной код, и виртуозно его пишет) мои лапотные макросы, по моему вызывают у него смесь отвращения и ужаса)  
 
хотя я может и преувеличиваю)
 
{quote}{login=Dophin}{date=19.03.2010 08:39}{thema=}{post}ну он любит максимально оптимальный и скоростной код, и виртуозно его пишет){/post}{/quote}Игорь? Круче The_Prist ?
 
SAS888)  
 
да ну не) не было еще не одного вопроса на который мне бы не смог ответить The_Prist или Юрий М.  
 
Так что их авторитет в моих глазах недосягаем)  
 
(ну и ZVI канеш)
 
{quote}{login=Haken}{date=19.03.2010 05:03}{thema=}{post}Сводные таблицы?  
Там группировка и сумма.  
Можете добавить другие блоки в область строк, чтобы все данные отображались.  
Далее можете скопировать данную таблицу на новый лист значениями и работать дальше :){/post}{/quote}  
 
Довольно интересное и просто решение:) Надо будет попробовать "поиграться" с этой табличкой)))
 
{quote}{login=Dophin}{date=19.03.2010 08:29}{thema=}{post}не особо оптимально (а если честно знаю я одного товарища с другого форума - он бы увидев это код повесился)  
 
но вроде работает)  
 
проверяйте{/post}{/quote}  
 
Работать то работает, но вот до работы макроса сумма была 40743141,70, а после работы макроса стала 40614922,84. Куда делись 128 тысяч рублей?:))))))  
 
Можете посмотреть еще и подправить?:) Хочу в понедельник загрузить побольше данных и все опробовать)))
 
{quote}{login=mazayZR}{date=19.03.2010 05:07}{thema=}{post}ик... моё работает только по "заказу"... остальное не сверяет.{/post}{/quote}  
 
ды вот в том то и дело что другие поля тоже существенны... :)
 
{quote}{login=Serge 007}{date=20.03.2010 01:42}{thema=Re: }{post}{quote}{login=Dophin}{date=19.03.2010 08:39}{thema=}{post}ну он любит максимально оптимальный и скоростной код, и виртуозно его пишет){/post}{/quote}Игорь? Круче The_Prist ?{/post}{/quote}  
 
Да The_Prist имхо вообще бог макросостроения...)
 
была какая то неведомая мне ошибка с учетом регистра. поправил. проверяйте далее.
 
{quote}{login=}{date=19.03.2010 04:12}{thema=Сгруппировать строки после выгрузки из базы}{post}Добрый день всем, помогите пожалуйста реализовать:)  
После выгрузки из БД, некоторые платежи дублируются, т.к. счет-фактура может иногда закрываться частями, разными суммами.  
Необходимо найти все такие строчки и их сгруппировать, для обнаружения таких строк я думаю что будет достаточно проверить по следующим полям все строки между собой (красные поля):  
1.ЗАКАЗ  
2.СЕРИЯ  
3.КОЛ-ВО  
4.СУММА  
5.ЧЕМ ЗАКРЫТ  
и при совпедении этих полей, суммировать поля ПЛАТЕЖ и ПЛАТЕЖ ВСЕГО (зеленые поля), а лишнее удалить...  
На листе 2 привел пример такого суммирования (из строки 2+3 должна получитсья строка 5)...  
 
т.е. я вот думаю что надо сделать что то типа  
If Cells(x, 2) & Cells(x, 6) = Cells(y, 2) & Cells(y, 6) Then а вот тут что????  
 
Вообщем помогите чем нибудь в реализации данной идеи :))){/post}{/quote}  
наверное все-таки проще через Импорт внешних данных - создать запрос -выбрать Excel files и перейти в вид SQL и ввести что то подобное    
SELECT `Лист1$`.ЗАКАЗ, `Лист1$`.СЕРИЯ, `Лист1$`.`КОЛ-ВО`, `Лист1$`.СУММА, `Лист1$`.`ЧЕМ ЗАКРЫТ`, Sum(`Лист1$`.ПЛАТЕЖ) AS 'Сумма из ПЛАТЕЖ', Sum(`Лист1$`.`ПЛАТЕЖ ВСЕГО`) AS 'Сумма из ПЛАТЕЖ ВСЕГО'  
FROM `имя файла без расширения`.`Лист1$` `Лист1$`  
GROUP BY `Лист1$`.ЗАКАЗ, `Лист1$`.СЕРИЯ, `Лист1$`.`КОЛ-ВО`, `Лист1$`.СУММА, `Лист1$`.`ЧЕМ ЗАКРЫТ`
 
Все таки пока что остановился на сводных таблицах, они делают данные более понятными для восприятия бухгалтеров :)))  
Все большое спасибо за советы и помощь:)
Страницы: 1
Читают тему
Наверх