Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2011, 10:11   #1
shut1924
 
Регистрация: 24.11.2011
Сообщений: 8
По умолчанию как выборочно суммировать значения, что бы получилась нужная сумма

Есть набор чисел в столбце в рандомном порядке. нужно сложить из них, что бы получилось определенное заданное число и выделить ячейки которые использовались в сумировки.

ПРИМЕР:
набор чисел ________ должна получиться сумма 9
1
4
5
7
15
2
4
5
shut1924 вне форума Ответить с цитированием
Старый 24.11.2011, 10:17   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А если вариантов несколько?
Например, 2 + 7 тоже равняется 9
Выделять первый попавшийся?

Надо сделать формулами, или макросами?
Зачем это вообще нужно?
EducatedFool вне форума Ответить с цитированием
Старый 24.11.2011, 10:19   #3
shut1924
 
Регистрация: 24.11.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
А если вариантов несколько?
Например, 2 + 7 тоже равняется 9
Выделять первый попавшийся?

Надо сделать формулами, или макросами?
Зачем это вообще нужно?
первые попавшиеся, главное что бы сумме нужной было равно.
формулами желательно.
это для бухгалтерии, точнее не могу сказать не знаю, задание дали
shut1924 вне форума Ответить с цитированием
Старый 24.11.2011, 11:25   #4
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

подбор под нужную сумму формулами
Вложения
Тип файла: rar поиск решения перебором.rar (10.0 Кб, 226 просмотров)
Тип файла: rar Поиск решения варианты.rar (29.4 Кб, 144 просмотров)
MCH вне форума Ответить с цитированием
Старый 24.11.2011, 11:29   #5
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

и макросом
Вложения
Тип файла: rar Подбор под нужную сумму3.rar (11.7 Кб, 204 просмотров)
MCH вне форума Ответить с цитированием
Старый 24.11.2011, 12:07   #6
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Несколько тем с Планеты
http://www.planetaexcel.ru/forum.php?thread_id=33080
http://www.planetaexcel.ru/forum.php?thread_id=10417
http://www.planetaexcel.ru/forum.php?thread_id=31107
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 24.11.2011, 13:34   #7
shut1924
 
Регистрация: 24.11.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от MCH Посмотреть сообщение
и макросом
подскажи, что изменить в коде макроса, у меня значения примерно такие:сумма ~ -3369350.33
а значения такие
-6 945.29
-146 979.35
-160 767.60
-697 803.62
-631 592.63
-734 112.33
-337 700.99
-43 890.46
-18 324.39
-20 260.78
.............
shut1924 вне форума Ответить с цитированием
Старый 24.11.2011, 13:44   #8
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

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

В самом макросе есть ограничение на кол-во слагаемых - не более 24

ЗЫ: из указанных Вами чисел сумма 3 369 350,33 не получится, т.к. общая сумма всех (указанных) слагаемых меньше требуемой
MCH вне форума Ответить с цитированием
Старый 24.11.2011, 13:46   #9
shut1924
 
Регистрация: 24.11.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от MCH Посмотреть сообщение
В коде макроса ничего менять не нужно
В столбце А внести значения слагаемых, выделить заполненные ячейки и нажать кнопку.
В диалоговом окне ввести нужную сумму и размер допуска, макрос сам подберет нужные слагаемые.

В самом макросе есть ограничение на кол-во слагаемых - не более 24

ЗЫ: из указанных Вами чисел сумма 3 369 350,33 не получится, т.к. общая сумма всех (указанных) слагаемых меньше требуемой
это часть значений, всего их около 800, в макросе кол-во значений я поменzл, но теперь при запуске выдает ошибку "overflow"
shut1924 вне форума Ответить с цитированием
Старый 24.11.2011, 13:52   #10
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

Цитата:
Сообщение от shut1924 Посмотреть сообщение
всего их около 800
Методом перебора задачу из 800 слагаемых решить нельзя, т.к. 2^800 - это очень большое число.

Нужен другой алгоритм, например ограничиться кол-вом слагаемых, например не более трех/четырех, тогда это еще можно попробовать решить
Кол-во комбинаций 3-х слагаемых из 800 составляет 85 013 600, 4 из 800 - 16 938 959 800

Последний раз редактировалось MCH; 24.11.2011 в 14:00.
MCH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
суммировать значения повторяющихся ячеек в excel breeze.olga Microsoft Office Excel 17 17.12.2015 17:03
Как добавить нули перед числом, чтобы длина числа получилась 8? artemavd Общие вопросы Delphi 2 07.07.2011 19:30
Суммировать значения для номера за период времени agregator Microsoft Office Excel 2 23.10.2009 06:31
Как узнать существует ли в БД нужная строка? kiber0net0 БД в Delphi 1 02.09.2008 21:31
Суммировать значения по дате gavrylyuk Microsoft Office Excel 4 21.07.2008 12:52