![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.06.2011
Сообщений: 10
|
![]()
Добрый день.
Поставили задачу следующего характера - написать макрос или VBA для удаления строк в файле, значения которых дают в сумме "0" В файле содержится более 30000 строк, сразу оговариваюсь Строки суммируются строго по лицевому счету, а не по всему файлу Подскажите, как лучше сделать Образец прилагаю, цветом выделил как должно суммироваться |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Думаю, задача непростая.
Я не возмусь... По теме: http://forum.ixbt.com/topic.cgi?id=23:40922 http://forum.sources.ru/index.php?showtopic=310469 Вот похоже точное попадание: Цитата:
http://forum.sources.ru/index.php?ac...&attach_id=378
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 09.06.2011 в 10:17. |
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
Согласен,не простая,но решаемая.Можно использовать как вариант метод заполнения рюкзака.работать будет относительно долго,но намного быстрее.чем просто перебор комбинаций.Надо ведь выявить максимум строк для удаления.
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Demon010, Вы программистом работаете? Мне кажется, это работа для ИТ, пишите заявку...
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 07.06.2011
Сообщений: 10
|
![]() |
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]() Цитата:
Анализ,обработка данных Недорого
|
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
![]()
А может все проще? Ведь, принимая оплату, гасят сначала старые долги, а потом текущую задолженность?
Demon010, можете всю таблицу показать? На маленьком примере работает, но боюсь выкладывать - уж больно просто. ![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Т.е. на примере можно тупо суммировать в словаре (запоминая номера строк), пока не будет 0, и эти строки удалить. Обнулить массив строк и начать набирать снова.
Примерно так, Николай? Но как быть, если первая запись с большим плюсом? (да вообще с плюсом) Начинать, как только появился минус?
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 09.06.2011 в 16:58. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 07.06.2011
Сообщений: 10
|
![]()
вся таблица весит порядка 10 метров, там за 30к строк в ней
просто дело в чем - иногда заплатили больше, иногда остались должны вот отсюда и необходимо им чтобы таблица уменьшилась за счет этих удаленных строк, которые в сумме между собой дают 0 по одному и тому же задолжнику (идентификатору) в столбце "итого" Могу прикрепить лишь малую часть файла, но больше чем изначально |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
В общем так и есть.
Но вот 700730060090 выбивается из списка...
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как удалить из ListBox1 строки которые встречаются в ListBox2 | Aleksandr | Общие вопросы Delphi | 8 | 07.06.2011 15:52 |
Вычисление количества элементов массива, которые при округлении дают 6 | Катюшенька | Помощь студентам | 4 | 22.12.2008 23:44 |
Найти два числа,сумма каких равняется сумме всех других чисел, которые остались! Помогите будьте людьми! | Snake08 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 08.12.2008 18:33 |
Удалить из второй строки те слова, которые есть в первой строке | innaa639 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 26.11.2008 15:43 |
Как удалить слово из строки? | Ellita | Общие вопросы C/C++ | 7 | 19.09.2007 15:43 |