Аналитика17 марта 2026 г.

EXCEL подбор слагаемых для нужной суммы

Автор
Ненашев А.
На чтение
6 мин
Дата обновления
16.04.2026
Старт:c 12 февраля
Срок обучения:0 месяцев
Excel для работы
Практический онлайн-курс, на котором вы изучите все функции Excel. Занятия проходят на интерактивных тренажерах — полной копии интерфейса Microsoft Excel.
Подробнее
16 500 ₽ 41 250 ₽
16 500 ₽/мес рассрочка

Надстройка Поиск решения в MS Excel

Хороший инструмент — это надстройка Поиск решения в MS Excel!

Например, его можно использовать в ситуации, когда вам нужно найти вариант, из которого с разных чисел могла быть добавлена ​​определенная сумма (возможно, вы ищете, с каких счетов могла быть сформирована сумма платежа). Допустим, вам нужно найти сумму 10 из заданных чисел:


Для начала включаем надстройку или проверяем, что она включена (в Excel 2013): Файл/Параметры, раздел Надстройки, выберите Управление: Надстройки Excel, нажмите кнопку Перейти. Установите флажок Поиск решения, нажмите кнопку ОК


Найдите решение, которое появилось на ленте на вкладке «Данные»:


Теперь нам нужно понять, как мы можем использовать параметры в разных строках для «выбора» суммы. Я сделал вариант, когда мы указываем множитель 0 или 1 в одном столбце, подсчитываем произведение в соседнем столбце, а затем добавляем значения к итогу:




  • в ячейках столбца B указываем 0 или 1 (теперь неважно, что именно)
  • в ячейке C4 формула = A4 * B4
  • в ячейках C5: C14 — то же с учетом номера строки
  • в ячейке C3 формула = СУММ (C4: C14)

Теперь приступим к поиску решения. И заполните:

  • Оптимизация целевой функции: $ C $ 3
  • Раньше: Значения: 10
  • Изменение ячеек переменных: $ B $ 4: $ B $ 14
  • В соответствии с ограничениями: — добавьте (кнопка Добавить) три условия: 1) значения переменных должны быть целыми числами, 2) значения должны быть> = 0, 3) 2) значения должны быть быть

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

В реальной жизни эта задача может показаться другой.

  • Например, мы загрузили из интернет-банка все платежи, поступившие на наш счет за последний месяц. Один из клиентов разделяет сумму платежа на несколько отдельных счетов и производит оплату в рассрочку. Мы знаем общую сумму к оплате и количество счетов, но не знаем сумму. В истории платежей необходимо выбрать те суммы, которые, как правило, дают заданное значение.
  • У нас есть несколько рулонов стали (линолеум, бумага.), Из которых мы должны выбрать те, которые придадут заказу заданную длину.
  • Блэкджек или обычно «пойнт». Необходимо собрать карты с общей стоимостью как можно ближе к 21 баллу, но не превышать этот порог.

В некоторых случаях может быть известна допустимая погрешность допуска. Он может быть нулевым (в случае счетов для снятия средств) и ненулевым (в случае бросков на снятие средств), либо ограничиваться снизу или сверху (в случае блэкджека).

Давайте рассмотрим разные способы решения такой задачи в Excel.

Способ 1. Надстройка Поиск решения (Solver)

Эта надстройка входит в стандартный набор Microsoft Office вместе с Excel и предназначена, как правило, для решения линейных и нелинейных задач оптимизации со списком ограничений. Для его подключения необходимо:

  • в Excel 2007 и более поздних версиях выберите Файл — Параметры Excel — Надстройки — Перейти
  • в Excel 2003 и более ранних версиях: откройте меню Инструменты — Надстройки

и поставьте галочку в соответствующем поле. Тогда нужная нам команда появится во вкладке или меню «Данные.

Чтобы использовать надстройку Поиск решения нашей проблемы, нам нужно будет немного модернизировать наш пример, добавив несколько вспомогательных ячеек и формул в список сумм для выбора:


  • Диапазон A1: A20 содержит наши числа, из которых мы выберем те, которые нам нужны, чтобы «уместить» заданное количество.
  • Диапазон B1: B20 будет своего рода набором переключателей, то есть он будет содержать ноль или один, указывая, выбираем ли мы данное число в образце или нет.
  • Ячейка E2 содержит обычную автоматическую сумму всех единиц в столбце B, в которой подсчитывается количество выбранных чисел.
  • В ячейке E3 функция СУММПРОИЗВ вычисляет сумму произведений пары ячеек из столбцов A и B (то есть A1 * B1 + A2 * B2 + A3 * B3 +.). Фактически, он вычисляет сумму чисел в столбце A, выбранных из чисел в столбце B.
  • В розовой ячейке E4 пользователь вводит желаемую сумму для вывода.
  • В ячейке E5 вычисляется абсолютное значение ошибки выбора, чтобы минимизировать ее в будущем.
  • Все желтые ячейки E8: E17 хотели бы получить список выбранных чисел, т.е тех чисел из столбца A, перед которыми стоят числа из столбца B. Для этого нужно выделить сразу все (!) Желтые ячейки и вставьте в них следующую формулу массива:

После ввода формулы ее нужно вводить не как обычную формулу, а как формулу массива, т.е нажимать не Enter, а Ctrl + Shift + Enter. Аналогичная формула используется в примере ВПР, который возвращает все найденные значения сразу (а не только первое).

Теперь перейдите на вкладку Data (или меню) и запустите инструмент Data — Solver):


В открывшемся окне вам необходимо:

  • Установить как целевую функцию (Целевая ячейка) — ячейка для расчета ошибки выбора E5. Чуть ниже выбираем вариант — Минимум, потому что мы хотим подбирать числа на заданную сумму с минимальной (или даже нулевой) ошибкой.
  • Установите диапазон столбцов переключателя B1: B20 как Edit Cells.
  • Используя кнопку Добавить, создайте дополнительное условие, что ячейки диапазона B1: B20 должны быть двоичными (т.е содержать только 0 или 1):


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


После ввода всех параметров и ограничений запустите процесс выбора, нажав кнопку «Решить». Процесс выбора длится от нескольких секунд до нескольких минут (в самых серьезных случаях) и заканчивается появлением следующего окна:


Теперь вы можете оставить найденное решение выбора (Сохранить найденное решение) или вернуться к предыдущим значениям (Восстановить исходные значения).

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

Найденные комбинации можно сохранить как сценарии (кнопка Сохранить сценарий), чтобы вы могли вернуться к ним позже, используя команду Данные — Анализ моделирования — Менеджер сценариев):


И все найденные решения, сохраненные в виде скрипта, будет очень удобно просматривать в единой сравнительной таблице с помощью кнопки Сводка):


Способ 2. Макрос подбора

В этом методе вся работа выполняется макросом, который по глупости прокручивает случайные комбинации чисел, пока не найдет требуемое количество в пределах допустимой ошибки. В этом случае нет необходимости добавлять столбец с нулями и единицами и формулами.


Чтобы использовать макрос, нажмите комбинацию Alt + F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда этот код:

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

в Excel 2007 и более поздних версиях выберите Файл — Параметры Excel — Надстройки — Перейти
в Excel 2003 и более ранних версиях: откройте меню Инструменты — Надстройки

и поставьте галочку в соответствующем поле. После этого необходимая команда появится на вкладке или в меню «Данные».

Источник: https://excel-home.ru/articles/excel-podbor-slagaemyh-dlya-nuzhnoy-summy/

Вопрос/ответ

Чтобы включить надстройку Поиск решения в Excel, перейдите в меню Файл, выберите Параметры, затем Надстройки. В разделе Управление выберите Надстройки Excel и нажмите Перейти. Установите флажок рядом с Поиск решения и нажмите ОК. После этого команда Поиск решения появится на вкладке Данные.
Для использования надстройки Поиск решения создайте столбец с числами, из которых нужно выбрать слагаемые. В соседнем столбце укажите 0 или 1, чтобы обозначить выбор числа. Настройте Поиск решения, указав диапазон ячеек с 0 и 1 как изменяемые переменные, и добавьте ограничения, чтобы значения были целыми и неотрицательными.
Надстройка Поиск решения в Excel предназначена для решения линейных и нелинейных задач оптимизации с ограничениями. Она может быть полезна для подбора слагаемых, оптимизации расходов, планирования ресурсов и других задач, требующих нахождения оптимального решения из множества возможных вариантов.
Чтобы задать ограничения в надстройке Поиск решения, откройте окно настройки надстройки и нажмите кнопку Добавить. Введите условия, такие как целочисленность значений, неотрицательность или другие специфические ограничения, которые должны соблюдаться при поиске решения.
Да, надстройка Поиск решения может использоваться для задач, где допустима погрешность. Вы можете задать ограничения, которые учитывают допустимую погрешность, например, в задачах с округлением или при подборе близких значений.
Механизм выбора чисел в Excel для заданной суммы заключается в использовании столбца переключателей (0 или 1), которые указывают, включено ли число в итоговую сумму. Надстройка Поиск решения оптимизирует выбор, чтобы сумма выбранных чисел соответствовала заданной цели.
Примеры реальных задач включают распределение платежей по счетам, подбор материалов для достижения заданной длины или веса, а также задачи, связанные с играми, такими как блэкджек, где нужно собрать карты с определенной суммой очков.

Курсы

431
5,0
9 отзывов
Excel для работы
  • c 12 февраля
  • 0 месяцев
16 500 ₽41 250 ₽
16 500 ₽/мес рассрочка
-60%
Перейти на сайт
456
1,0
1 отзыв
Microsoft Office: тариф PRO
  • c 12 февраля
  • 0 месяцев
50 300 ₽125 750 ₽
50 300 ₽/мес рассрочка
-60%
Перейти на сайт
458
0,0
0 отзывов
Microsoft Office: тариф Мастер
  • c 12 февраля
  • 0 месяцев
74 900 ₽187 250 ₽
74 900 ₽/мес рассрочка
-60%
Перейти на сайт
1063
5,0
11 отзывов
Excel academy + Power BI для анализа данных
  • 1 месяц
  • Смешанный
  • Диплом / Сертификат
25 000 ₽71 428 ₽
2 083 ₽/мес рассрочка
-65%
Перейти на сайт
432
5,0
4 отзыва
Excel и Google-таблицы для бухгалтера: тариф PRO
  • c 12 февраля
  • 0 месяцев
29 000 ₽72 500 ₽
29 000 ₽/мес рассрочка
-60%
Перейти на сайт