MulTEx -группа Специальные -Особые возможности -Подбор слагаемых под сумму
Команда подбирает различные комбинации известных чисел так, чтобы они составили заданную сумму. Когда это может пригодиться? Можно привести несколько примеров:
- подобрать из каталога подарочных товаров те, общая сумма которых будет равна сумме подарочного сертификата. В дальнейшем различные варианты товаров можно рассылать клиентам в качестве идей для использования сертификата
- заказ был оплачен в разные периоды несколькими накладными и необходимо собрать из имеющихся накладных те, которые в сумме дают сумму этого заказа
- для распределения грузов по машинам/контейнерам. К примеру, в один контейнер необходимо разместить 9 или 10 ящиков, общий вес которых не превышает 32 тонны, плюс-минус 150кг.
- так же можно применить и для обратной ситуации: есть общая сумма и перечень транзакций. Но общая сумма транзакций больше и необходимо понять, какая транзакция лишняя. Просто вычисляем те, которые могут составлять известную сумму, а оставшиеся скорее всего и есть лишние.
Собрать сумму - указывается сумма, которую необходимо подобрать. Допускается вписать сумму руками или указать ячейку с суммой из ячейки на листе: выделяем поле, переходим на лист и выделяем на листе ячейку с суммой. Сумма будет занесена в поле. Руками сумма должна вписываться без пробелов и лишних знаков.
Просматривая числа в ячейках - указываются ячейки, в которых расположены суммы для подбора суммы. Ячейки могут располагаться на любом листе любой открытой книги.
Её могут дать комбинации из трех чисел:
= 50 + 70 + 80
Или из четырех:
= 50 + 70 + 60 + 20
И множество других комбинаций с различным количеством слагаемых.
Комбинация подходит, если:
- Количество слагаемых не менее: комбинация будет считаться подобранной, если она состоит минимум из указанного количества слагаемых
- и не более: комбинация будет считаться подобранной, если она состоит не более чем из указанного количества слагаемых. Этот число не может быть меньше чем указано в пункте не менее.
Команда Подбор слагаемых под сумму позволяет использовать от 1 до 150 слагаемых для подбора комбинаций. Чем больше диапазон, тем больше вероятность подбора нужной суммы.
При подборе округлять числа до указанного количества знаков после запятой: указывается, необходимо ли округлять каждое число и сумму при подборе общей суммы. Необходимо в случаях с подбором по целым числам или в финансовых задачах, когда более двух знаков после запятой практически не используется, однако ячейки могут содержать числа с большим знаком после запятой, хоть и отображаются форматом с округлением.
допустимое отклонение - указывается, подбирать ли примерное совпадение. Например, для подбора суммы 200 можно указать отклонение 1. Тогда сумма чисел
Разберем возможные результаты на примере таблицы накладных:
Исходные суммы записаны в ячейках
- Собрать сумму: щелкаем по ячейке
Просматривая числа в ячейках: указываем диапазон
Комбинация подходит, если:
- Количество слагаемых не менее: 3
и не более: 10
Указываем округлять до 2-х знаков после запятой, а допустимую погрешность выставляем равной 0.
Отобразить результат как:
- Первую подходящую комбинацию чисел, начиная с ячейки: указывается ячейка на листе, начиная с которой последовательно будут записаны все числа, из которых складывается указанная сумма. Результат будет примерно такой(без заливки ячеек красным):
- Первые N комбинаций, начиная с ячейки
программа позволяет подобрать до 20 различных комбинаций чисел, которые дадут при сложении нужную сумму. При помощи этих параметров можно выбрать сколько комбинаций выводить и как именно их отображать. Если общее количество комбинаций будет меньше заданного, то будут записаны все доступные комбинации.
Для демонстрации работы программы приводятся решения с подбором 3-х комбинаций.- формулой со ссылками на числа - начиная с указанной ячейки будет записано указанное количество комбинаций. Каждая комбинация будет записана в отдельную ячейку в виде формулы со ссылками на те ячейки, которые при сложении дадут нужную сумму:
- формулой из чисел - начиная с указанной ячейки будет записано указанное количество комбинаций. Каждая комбинация будет записана в отдельную ячейку в виде статичной формулы из чисел, которые при сложении дадут нужную сумму:
- текстом, записав слагаемые с разделителем - сначала в поле указывается разделитель. После нажатия Ок, начиная с указанной ячейки будет записано указанное количество комбинаций. Каждая комбинация будет записана в отдельную ячейку в виде текста, в котором через указанный разделитель будут записаны все числа, дающие при сложении нужную сумму:
- формулой со ссылками на числа - начиная с указанной ячейки будет записано указанное количество комбинаций. Каждая комбинация будет записана в отдельную ячейку в виде формулы со ссылками на те ячейки, которые при сложении дадут нужную сумму:
- Закрасить первые N комбинаций указанными цветами - в исходном диапазоне чисел указанным цветом будут закрашены те ячейки, числа в которых при сложении дадут нужную сумму. Если выбрано более 1-ой комбинации, то для 2-ой и последующих комбинаций закрашиваются ячейки следующих столбцов. Сначала указывается количество комбинаций для выделения и последовательно цвета для каждой комбинации. Цвета выбираются щелчком мышью по иконке с палитрой:
После нажатия Ок ячейки в столбцах будут окрашены в указанные цвета:
Это даст возможность визуально быстро сравнить и подобрать наиболее выгодную и подходящую под требования комбинацию. Так же это может пригодиться, если нужно знать не только суммы, но и номера накладных.
Закрасить можно не более 5-ти комбинаций.
Если сумма может быть подобрана - она будет подобрана. Если программа не сможет подобрать сумму из указанных чисел, появится сообщение.
Это означает, что из указанных чисел при заданных ограничениях сумма просто не может быть составлена. В этом случае рекомендуется изменить параметры(вместе или по отдельности):
- увеличить диапазон количества слагаемых(например, вместо от 3 до 10 задать от 2 до 15)
- уменьшить количество знаков после запятой
- увеличить допустимое отклонение
Скажите ю, пожалуйста, давно ищу решения такой проблемы, но только пользоваться в exel for android.
Есть ли какое нибудь решение, точно такое что в статье, чтобы смог на телефоне решить?
Добрый день! Подскажите, можно ли подобрать сумму только из подряд идущих слагаемых в столбце?