Как подогнать цифры под нужную сумму в 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 и более ранних версиях: откройте меню Инструменты — Надстройки

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

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

adjust0.pngНе очень частый, но и не экзотический случай. На моих тренингах такой вопрос задавали не один и не два раза :)  Суть в том, что мы имеем конечный набор каких-то чисел, из которых надо выбрать те, что дадут в сумме заданное значение.

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

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

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

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

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

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

  • в Excel 2007 и новее зайти Файл — Параметры Excel — Надстройки — Перейти (File — Excel Options — Add-ins — Go)
  • в Excel 2003 и старше — открыть меню Сервис — Надстройки (Tools — Add-ins)

и установить соответствующий флажок. Тогда на вкладке или в меню Данные (Data) появится нужная нам команда.

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

adjust1.png

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

=ЕСЛИОШИБКА(ИНДЕКС($A$1:$A$20;НАИМЕНЬШИЙ(ЕСЛИ(B1:B20=1;СТРОКА(B1:B20);»»);СТРОКА()-СТРОКА($E$8)+1));»»)

=IFERROR(INDEX($A$1:$A$20;SMALL(IF(B1:B20=1;ROW(B1:B20);»»);ROW()-ROW($E$8)+1));»»)

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



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

adjust4.png

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

  • Задать как целевую функцию (Target Cell) — ячейку вычисления погрешности подбора E5. Чуть ниже выбрать опцию — Минимум, т.к. мы хотим подобрать числа под заданную сумму с минимальной (а лучше даже нулевой) погрешностью.
  • В качестве изменяемых ячеек переменных (Changing cells) задать диапазон столбца переключателей B1:B20.
  • С помощью кнопки Добавить (Add) создать дополнительное условие на то, что ячейки диапазона B1:B20 должны быть бинарными (т.е. содержать только 0 или 1):

    adjust5.png

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

    adjust6.png

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

adjust3.png

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

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

Найденные комбинации можно сохранять виде сценариев (кнопка Сохранить сценарий), чтобы вернуться к нем позднее с помощью команды Данные — Анализ «что-если» — Диспетчер сценариев (Data — What-If Analysis — Scenario Manager):

adjust7.png

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

adjust8.png

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

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

adjust9.png

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

Sub Combinator()
    Dim Data() As Variant, Selected() As Variant
    Dim goal As Double, sel_count As Integer, prec As Double
    Const LIMIT = 1000000
    
    prec = Range("D5").Value
    sel_count = Range("D2").Value
    goal = Range("D4").Value
    
    Set OutRange = Range("D8")
    Set InputRange = Range("A1", Range("A1").End(xlDown))
    input_count = InputRange.Cells.Count
    Data = InputRange.Value
    ReDim Selected(1 To sel_count) As Variant

NewTry:
    For j = 1 To sel_count
Start:
        RandomIndex = Int(Rnd * input_count + 1)
        RandomValue = Data(RandomIndex, 1)
        
        'начиная со второго элемента дополнительно проверяем, чтобы такой уже не был выбран
        If j > 1 Then
            For k = 1 To j - 1
                If Selected(k) = RandomValue Then GoTo Start
            Next k
        End If
        Selected(j) = RandomValue
    Next j
    
    If Abs(WorksheetFunction.Sum(Selected) - goal) <= prec Then
        Range("D3").Value = WorksheetFunction.Sum(Selected)
        MsgBox "Подбор завершен. Необходимая точность достигнута."
        Range(OutRange, OutRange.End(xlDown)).ClearContents
        OutRange.Resize(sel_count, 1).Value = Application.Transpose(Selected)
        Exit Sub
    Else
        iterations = iterations + 1
        If iterations > LIMIT Then
            MsgBox "Достигнут лимит попыток. Решение не найдено."
            Exit Sub
        Else
            GoTo NewTry
        End If
    End If
End Sub


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

P.S. Сейчас набегут энтузиасты с мехмата МГУ с криками «Тупой перебор — это неэстетично!» Да, я в курсе, что прямой перебор вариантов — это не самый оптимальный способ поиска. Да, существует много умных алгоритмов поиска решения таких задач, которые сокращают время поиска и находят нужную комбинацию заметно быстрее. Могу даже рассказать про парочку. Но мне на данном этапе существующей скорости «тупого перебора» вполне достаточно — обработка массива из 1000 ячеек идет меньше секунды. Готов подождать :)

Ссылки по теме

  • Оптимизация бизнес-модели с помощью надстройки Поиск решения (Solver)
  • Что такое макросы, куда и как вставлять код макросов на VBA

Функция СУММЕСЛИМН в Excel и суммирование по нескольким условиям

Excel – невероятно функциональная программа. Даже встроенного набора функций достаточно, чтобы выполнить почти любую задачу. И кроме стандартных, знакомых многим, есть еще и те, о которых мало кто слышал. Но при этом они не перестают быть полезными. Они имеют более узкую специализацию, и не всегда в них есть необходимость. Но если про них знать, то в критический момент они могут очень хорошо пригодиться.

Сегодня мы поговорим об одной из таких функций – СУММЕСЛИМН .

Если перед пользователем стоит задача суммировать несколько значений, ориентируясь на определенные критерии, то необходимо воспользоваться функцией СУММЕСЛИМН . Формула, использующая эту функцию, принимает эти условия в качестве аргументов, после чего суммирует значения, отвечающие им, а затем найденное значение вносится в ячейку, в которую она записывается.

Функция СУММЕСЛИМН – подробное описание

Перед тем, как рассмотреть функцию СУММЕСЛИМН , необходимо сначала понять, что собой являет более простая ее версия – СУММЕСЛИ , поскольку именно на ней основывается рассматриваемая нами функция. Каждый из нас, наверно, уже знаком с двумя функциями, которые часто используются – СУММ (осуществляет суммирование значений) и ЕСЛИ ( проверяет значение на предмет соответствия определенному условию).

Если их объединить, получится еще одна функция – СУММЕСЛИ , которая проверяет данные на соответствие заданным пользователем условиям и суммирует лишь те числа, которые подпадают под эти критерии. Если говорить про англоязычную версию Excel, то эта функция называется SUMIF. Простыми словами, русскоязычное название – это прямой перевод англоязычного. Эта функция может использоваться для самых разных целей. В том числе, она может использоваться в качестве альтернативы ВПР , то есть, записывать

Основное отличие функции СУММЕСЛИМН от обычной функции СУММЕСЛИ заключается в том, что используется несколько критериев. Ее синтаксис довольно сложный на первый взгляд, но при более детальном рассмотрении оказывается, что логика этой функции очень проста. Сначала необходимо выбрать диапазон, где будет происходить проверка данных, после чего задать условия, на соответствие которым станет выполняться анализ. И такую операцию можно выполнять для довольно большого количества условий.

Сам синтаксис такой:

СУММЕСЛИМН(диапазон_суммирования; диапазон_условия1; условие1; [диапазон_условия2; условие2]; …)

На подходящие места надо поставить подходящие в конкретном случае массивы ячеек.

Давайте рассмотрим аргументы более подробно:

  1. Диапазон_суммирования. Этот аргумент, равно как и диапазон условия 1 и условие 1, является обязательным. Он являет собой набор ячеек, которые нужно суммировать.
  2. Диапазон_условия1. Это диапазон, где будет осуществляться проверка условия. Идет в паре со следующим аргументом – Условие1. Суммирование значений, соответствующих критерию, осуществляется в рамках ячеек, заданных в предыдущем аргументе.
  3. Условие1. Этот аргумент определяет критерий, на предмет соответствия которому будет осуществляться проверка. Задаваться он может, например, таким образом: “>32”.
  4. Диапазон условия 2, Условие2… Здесь задаются следующие условия по такому же образцу. Если нужно указывать больше, чем несколько условий, то тогда добавляются аргументы «Диапазон условия 3» и «Условие 3». Синтаксис аналогичный и для следующих аргументов.

Функция максимально позволяет обрабатывать до 127 пар условий и диапазонов.

Использовать ее можно сразу в нескольких сферах (приведем лишь некоторые, список на самом деле еще больше):

  1. Бухгалтерия. Например, хорошо использовать функцию СУММЕСЛИМН для создания сводных отчетов, по кварталу для трат, превышающих определенную сумму, например. Или же создавать отчет по одному товару из определенной ценовой категории.
  2. Менеджмент по продажам. Здесь также функция может быть очень полезной. Например, перед нами стоит задача просуммировать лишь стоимость товаров, которые были проданы определенному клиенту в определенное время. И в такой ситуации функция СУММЕСЛИМН может быть очень полезной.
  3. Образование. Мы еще будем приводить практические примеры из этой сферы сегодня. В частности, можно использовать ее для получения сводных данных по оценкам учеников. Можно выбирать по отдельному предмету или по отдельным оценкам. Человек может сразу задать несколько критериев, по которым будет отбираться оценка, что очень удобно и позволяет значительно сэкономить время.

Как видим, спектр сфер применения этой функции очень широк. Но это не единственное ее достоинство. Давайте приведем еще несколько преимуществ, которые имеет эта функция:

  1. Возможность задавать несколько критериев. Почему это преимущество? Можно ведь использовать обычную функцию СУММЕСЛИ ! А все потому, что это удобно. Нет необходимости осуществлять отдельные подсчеты по каждому из критериев. Все действия можно запрограммировать заранее, еще до того. как будет сформирована таблица с данными. Это здорово экономит время.
  2. Автоматизация. Современный век – это век автоматизации. Много зарабатывать может только тот человек, который умеет правильно автоматизировать свою работу. Именно поэтому умение владеть Excel и функцией СУММЕСЛИМН в частности, является настолько важным для любого человека, желающего построить карьеру. Знание одной функции позволяет выполнить сразу несколько действий, как одно. И тут мы переходим к следующему преимуществу этой функции.
  3. Экономия времени. Как раз за счет того, что одна функция выполняет сразу несколько задач.
  4. Простота. Несмотря на то, что синтаксис довольно тяжелый на первый взгляд из-за своей громоздкости, на самом деле, логика этой функции очень проста. Сначала отбирается диапазон данных, потом диапазон значений, который будет проверяться на предмет соответствия определенному условию. Ну и естественно, само условие тоже нужно указать. И так несколько раз. Фактически в основе этой функции лежит всего одна логическая конструкция, что делает ее проще по сравнению с известной ВПР при том, что ее можно использовать для тех же целей, так еще и учитывая большее количество критериев.

Особенности применения функции СУММЕСЛИМН

Есть несколько особенностей применения этой функции, на которые нужно обратить внимание. Прежде всего, эта функция игнорирует диапазоны с текстовыми строками или пустыми значениями, поскольку эти типы данных нельзя складывать по арифметическому образцу, только соединять, как строки. Этого данная функция делать не умеет. Также нужно обратить внимание на следующие условия:

  1. Можно использовать такие типы значений в качестве условий для отбора ячеек для дальнейшего сложения значений, содержащихся в них: числовые значения, логические выражения, ссылки на ячейки и так далее.
  2. Если проверяется текст, логические выражения или же математические знаки, то такие критерии задаются через кавычки.
  3. Невозможно использовать условия, длиннее 255 символов.
  4. Возможно использование приблизительных критериев отбора значений с помощью подстановочных знаков. Знак вопроса используется для того, чтобы заменить один символ, а знак умножения (звездочка) нужна, чтобы заменить несколько символов.
  5. Логические значения, которые находятся в диапазоне суммирования, автоматически конвертируются в числовые соответственно их типу. Так, значение «ИСТИНА» превращается в единицу, а «ЛОЖЬ» – в ноль.
  6. Если в ячейке появляется ошибка #ЗНАЧ!, это означает, что количество ячеек в диапазонах условий и суммирования разное. Нужно сделать так, чтобы размеры этих аргументов были одинаковыми.

Примеры использования функции СУММЕСЛИМН

Функция СУММЕСЛИМН не такая сложная, как кажется на первый взгляд, оказывается. Но для большей наглядности давайте рассмотрим некоторые практические примеры, как можно использовать функцию СУММЕСЛИМН . Так будет значительно проще углубиться в тему.

Динамический диапазон суммирования по условию

Итак, начнем с первого примера. Допустим, у нас есть таблица, в которой содержится информация о том, как справляются студенты с учебной программой по определенному предмету. Есть набор оценок, успеваемость оценивается по 10-балльной шкале. Стоит задача найти оценку за экзамен тех студентов, фамилия которых начинается с буквы А, а их минимальный балл составляет 5.

Таблица выглядит следующим образом.

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

Функция СУММЕСЛИМН в Excel и суммирование по нескольким условиям

2

Давайте более подробно опишем аргументы:

  1. C3:C14 – это наш диапазон суммирования. В нашем случае он совпадает с диапазоном условия. Из него будут отбираться баллы, используемые для расчета суммы, но лишь те, которые подпадают под наши критерии.
  2. «>5» – наше первое условие.
  3. B3:B14 – второй диапазон суммирования, который обрабатывается на предмет соответствия второму критерию. Видим, что здесь нет совпадения с диапазоном суммирования. Из этого делаем вывод, что диапазон суммирования и диапазон условия может быть как идентичным, так и нет.
  4. «A*» – второй диапазон, который задает отбор оценок лишь тех студентов, чья фамилия начинается на А. Звездочка в нашем случае означает любое количество знаков.

После расчетов мы получаем следующую таблицу.

Функция СУММЕСЛИМН в Excel и суммирование по нескольким условиям

3

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

Выборочное суммирование по условию в Эксель

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

Сама таблица выглядит следующим образом.

Функция СУММЕСЛИМН в Excel и суммирование по нескольким условиям

5

Чтобы определить итоговый результат, нам необходима такая формула.

В результате подсчетов, осуществленных этой формулой, мы получаем такой результат.

Функция СУММЕСЛИМН в Excel и суммирование по нескольким условиям

4

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

Функция СУММЕСЛИМН для суммирования значений по нескольким условиям

Теперь давайте приведем для наглядности еще один пример. При этом таблицу оставляем ту же, что и в предыдущем случае.

Формулу используем следующую (но записываем ее, как формулу массива, то есть вводим ее через комбинацию клавиш CTRL + SHIFT + ENTER).

После того, как функция СУММЕСЛИМН просуммирует массив значений, исходя из критериев, заданных в формуле (то бишь, стран Китай и Грузия), полученный массив суммируется обычной функцией СУММ, которая записана, как формула массива.

Если передача условий осуществлялась в качестве константы массива для большего, количества пар, чем одна, то формула выдаст неправильный результат.

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

Функция СУММЕСЛИМН в Excel и суммирование по нескольким условиям

6

Как видим, у нас все получилось. Обязательно получится и у вас. Больших успехов на этом поприще. Это очень простая функция, которую понять может человек, который только ступил на путь изучения Excel. И мы уже знаем, что функция СУММЕСЛИМН позволяет быть эффективным в любой сфере деятельности, начиная бухгалтерией и заканчивая даже образованием. Даже если вы строите карьеру в любой другой сфере, которая не была описана выше, все равно эта функция поможет заработать деньги. Этим она и ценна.

Самое главное – она позволяет сэкономить время, которое является, к сожалению, ограниченным ресурсом. Казалось бы, там пара секунд применить две функции, но когда приходится выполнять огромное количество повторяющихся операций, то тогда эти секунды складываются в часы, которые можно было бы потратить на что-то другое. Так что рекомендуем вам потренироваться в использовании этой функции. Тем более, что она невероятно проста.

Как в эксель подобрать слагаемые для нужной суммы

Предположим, что вам нужно свести значения с более чем одним условием, например суммой продаж продуктов в определенном регионе. Это хороший случай для использования функции СУММЕСС в формуле.

Взгляните на этот пример, в котором есть два условия: мы хотим получить сумму продаж «Мясо» (из столбца C) в регионе «Южный» (из столбца A).

Данные на листе Excel

Вот формула, с помощью которая можно сопровождать эту формулу:

=СУММЕСС(D2:D11,A2:A11,»Южный»,C2:C11,»Мясо»)

Результат — значение 14 719.

Рассмотрим каждую часть формулы более подробно.

=СУММЕСЛИМН — это арифметическая формула. Она вычисляет числа, которые в этом случае находятся в столбце D. Прежде всего нужно указать расположение чисел.

=СУММЕСЛИМН(D2:D11,

Другими словами, вы хотите, чтобы формула суммировала числа в этом столбце, если они соответствуют определенным условиям. Это диапазон ячеок является первым аргументом в этой формуле — первым элементом данных, который требуется функции в качестве входных данных.

Затем вам нужно найти данные, отвечающие двум условиям, поэтому введите первое условие, указав для функции расположение данных (A2:A11) и условие («Южный»). Обратите внимание на запятую между аргументами:

=СУММЕСЛИМН(D2:D11;A2:A11;»Южный»;

Кавычка вокруг текста «Южный» указывает на то, что это текстовые данные.

Наконец, вы вводите аргументы для второго условия — диапазон ячеек (C2:C11), которые содержат слово «Мясо», а также само слово (заключенное в кавычки), чтобы приложение Excel смогло их сопоставить. В конце формулы введите закрываю скобки) и нажмите ввод. Результат — 14 719.

=СУММЕСЛИМН(D2:D11;A2:A11,»Южный»;C2:C11,»Мясо»)

Если вы ввели в Excel функцию СУММЕСС, если вы не помните аргументов, справка готова. После того как вы введете =СУММЕСС(, под формулой появится автозавершенная формула со списком аргументов в правильном порядке.

На изображении автозавершена формулы и списке аргументов в нашем примере sum_range — D2:D11, столбец чисел, которые нужно свести; criteria_range1 — A2. A11 — столбец данных, в котором находится «Южный» (критерий1).

Использование автозаполнения формул при вводе функции СУММЕСЛИМН

По мере того, как вы вводите формулу, в автозавершении формулы появятся остальные аргументы (здесь они не показаны); диапазон_условия2 — это диапазон C2:C11, представляющий собой столбец с данными, в котором находится условие2 — “Мясо”.

Если вы нажмете кнопку СУММЕСС в автозавершении формул, откроется статья с дополнительной справкой.

Попробуйте попрактиковаться

Если вы хотите поэкспериментировать с функцией СУММЕСС, вот примеры данных и формула, в которую она используется.

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

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

Примеры использования функции СУММЕСЛИ в Microsoft Excel

Примеры функции СУММЕСЛИ в Excel

Функция СУММЕСЛИ популярна, поскольку почти в каждой таблице нужно посчитать сумму чисел в ячейках, игнорируя значения, не попадающие под основное условие. Благодаря этой формуле подсчет не становится чем-то сложным и длительным. Стандартное оформление функции выглядит как =СУММЕСЛИ(Диапазон;Критерий;Диапазон_суммирования), а «Диапазон суммирования» указывается только при условии, когда есть фактические ячейки, сложение которых выполняется при любых обстоятельствах. Если данные в «Диапазоне суммирования» отсутствуют, проверяться будут все ячейки, входящие в «Диапазон».

Ознакомление с синтаксисом функции СУММЕСЛИ в Excel перед ее созданием

Использование графического меню для объявления функции СУММЕСЛИ в Excel

Существует не так много разных примеров, особенности заполнения которых стоит учитывать при оформлении функции СУММЕСЛИ, и далее разберемся с основными и самыми популярными.

Функция СУММЕСЛИ при условии неравенства

Первый пример — использование функции СУММЕСЛИ при условии, когда число для попадания должно быть больше, меньше или не равняться заданному числу. При таком синтаксисе функция проверяет все ячейки указанного диапазона и считает только подходящие. Ручное ее написание через поле ввода состоит из нескольких частей:

    Определитесь с диапазоном ячеек, попадающих под рассмотрение формулой, у нас это будет прибыль за месяц.

Выбор диапазона ячеек для создания стандартного представления функции СУММЕСЛИ в Excel

Объявление функции СУММЕСЛИ в Excel после выбора диапазона ячеек

Ввод аргумента диапазона ячеек для использования в функции СУММЕСЛИ в Excel

Ввод условия для стандартного представления функции СУММЕСЛИ в Excel

Выше был разобран только один из примеров со случайно взятыми условиями. Ничего не помешает подставить другие значения, расширить или сузить диапазон — формула все равно нормально посчитает значение, если правила синтаксиса были соблюдены.

Функция СУММЕСЛИ при условии соответствия тексту

Возьмем второй пример, когда СУММЕСЛИ используется для подсчета суммы в ячейках, подпадающих под соответствие надписями в другом диапазоне блоков. Это пригодится, например, когда выполняется подсчет общей цены всех товаров, находящихся в одной категории, или рассчитываются затраты компании на зарплаты сотрудникам на конкретных должностях. Пример оформления в этой ситуации еще интересен тем, что синтаксис немного меняется, поскольку в условие подпадает второй диапазон ячеек.

  1. В этот раз помимо диапазона суммируемых ячеек определите и те, где присутствуют надписи, попадающие в условие.

Выбор диапазона ячеек для использования функции СУММЕСЛИ в Excel при сопоставлении названий

Объявление функции СУММЕСЛИ в Excel при ее использовании для сопоставления названий

Объявление диапазона ячеек при использовании функции СУММЕСЛИ в Excel при сопоставлении названий

Объявление суммируемых ячеек при использовании функции СУММЕСЛИ в Excel для сопоставления названий

Заменяйте слово или вписывайте целую фразу, учитывая регистр символов, чтобы создавать СУММЕСЛИ при подсчете требуемых значений.

Функция СУММЕСЛИМН с несколькими условиями

Завершим разбор примеров третьим вариантом, когда условий для сложения сразу несколько. При таких расчетах рассматриваемая функция заменяется на видоизмененную СУММЕСЛИМН, которая позволяет задавать более одного аргумента, чего нельзя реализовать в первом варианте. Один из самых простых примеров с полным синтаксическим соответствием создается так:

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

Выбор таблицы для создания функции СУММЕСЛИ в Excel при нескольких значениях

Создание первого аргумента функции СУММЕСЛИ в Excel при нескольких значениях

Создание второго аргумента функции СУММЕСЛИ в Excel при нескольких значениях

Создание третьего аргумента функции СУММЕСЛИ в Excel при нескольких значениях

СУММЕСЛИ и СУММЕСЛИМН относятся к математическим функциям, которые имеют схожее синтаксическое представление, но используются в разных ситуациях. Для чтения информации по всем популярным формулам в Excel обратитесь к материалу по ссылке ниже.

ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.
ЗакрытьОпишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

На чтение 6 мин. Просмотров 2.9k. Опубликовано 15.12.2019

Хороший инструмент — надстройка Поиск решения в 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 — Надстройки — Перейти (File — Excel Options — Add-ins — Go)
  • в Excel 2003 и старше — открыть меню Сервис — Надстройки (Tools — Add-ins)

и установить соответствующий флажок. Тогда на вкладке или в меню Данные (Data) появится нужная нам команда.

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

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

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

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

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

  • Задать как целевую функцию (Target Cell) — ячейку вычисления погрешности подбора E5. Чуть ниже выбрать опцию — Минимум, т.к. мы хотим подобрать числа под заданную сумму с минимальной (а лучше даже нулевой) погрешностью.
  • В качестве изменяемых ячеек переменных (Changing cells) задать диапазон столбца переключателей B1:B20.
  • С помощью кнопки Добавить (Add) создать дополнительное условие на то, что ячейки диапазона B1:B20 должны быть бинарными (т.е. содержать только 0 или 1):


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

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

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

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

Найденные комбинации можно сохранять виде сценариев (кнопка Сохранить сценарий), чтобы вернуться к нем позднее с помощью команды Данные — Анализ «что-если» — Диспетчер сценариев (Data — What-If Analysis — Scenario Manager):

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

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

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

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

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

в Excel 2007 и новее зайти Файл — Параметры Excel — Надстройки — Перейти
в Excel 2003 и старше — открыть меню Сервис — Надстройки

и установить соответствующий флажок. Тогда на вкладке или в меню Данные появится нужная команда.
Способ 2. Макрос подбора

Можно ли в экселе автоматически подогнать данные из формулы.

Змiцер

Дата: Понедельник, 04.02.2013, 13:38 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Ребят, помогите с таблицей. Итак есть смета, которая путём моих неимоверных усилий, начала считать итоговую сумму автоматически… НО, нужна помощь в её усовершенствовании. Возможно ли, по имеющимся в смете сумме и данным задать команду экселю чтобы он сам подогнал значения в нужные ячейки… Например 5 + 3 + 2 = 10 (где 10-сумма, 5,3,5-данные ячеек), каким образом (если вообще это реально) написать формулу, или путём каких-нибудь ухищрений сделать так чтобы эксель подогнал данные в новой таблице по заданной сумме т.е. 8=4+2+2 где 8-сумма которую пишу я сам, 4,2,2,-эт подогнанные экселем данные (причём эти данные не должны превышать значения данных из первой таблицы (5,3,5).

Я сам не программист, экономист и т.д… я просто топограф по специальности и образованию, очень мне тяжело даются таблицы и расчёты sad , поэтому прошу вашей помощи.

Заранее благодарю за ваши советы и ответы). Файлик я приложил (выделил во второй таблице красным цветом данные которые должны измениться, синим — то от которого нужно считать)

К сообщению приложен файл:

5970607.xls
(76.0 Kb)

 

Ответить

Serge_007

Дата: Понедельник, 04.02.2013, 13:42 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016


А почему не 3+3+2?


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Змiцер

Дата: Понедельник, 04.02.2013, 13:45 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


можно и 3+3+2, без разницы… лишь бы величины (в случае приведенного примера) не превышали 5, 3, 2

Сообщение отредактировал ЗмiцерПонедельник, 04.02.2013, 13:48

 

Ответить

Serge_007

Дата: Понедельник, 04.02.2013, 14:04 |
Сообщение № 4

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Так надо (см. вложение)?

К сообщению приложен файл:

9776662.xls
(23.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Змiцер

Дата: Понедельник, 04.02.2013, 14:20 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


surprised Ничего себе!!!!! Serge_007, спасибо Вам огромное!!! Это именно то что нужно, буду адаптировать Ваши формулы под мою смету))

 

Ответить

Ralf

Дата: Понедельник, 04.02.2013, 16:22 |
Сообщение № 6

Группа: Пользователи

Ранг: Участник

Сообщений: 71


Репутация:

5

±

Замечаний:
0% ±


через подбор коэффициента ещё можно, если нужно выдержать структуру

К сообщению приложен файл:

7416687.xls
(82.5 Kb)

Сообщение отредактировал RalfПонедельник, 04.02.2013, 16:22

 

Ответить

Змiцер

Дата: Понедельник, 04.02.2013, 16:41 |
Сообщение № 7

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Ralf, этот метод даже интереснее…… Только вот сколько я ни пытался так и не понял как получить сам коэффициент подбора) подскажите пожалуйста. Этот метод может существенно помочь)

 

Ответить

Ralf

Дата: Понедельник, 04.02.2013, 19:08 |
Сообщение № 8

Группа: Пользователи

Ранг: Участник

Сообщений: 71


Репутация:

5

±

Замечаний:
0% ±


Инструмент ПОДБОР ПАРАМЕТРА для MS Excel 2003 вызывается из меню СЕРВИС.

Вызов ПОДБОР ПАРАМЕТРА для MS Excel 2007 производится на закладке ДАННЫЕ из меню Анализ «что-если».

Не всегда подбор параметра находит нужное значение, в своё время пришлось макрос запиливать, который подбирал в коэффициенте десятые, затем сотые, тысячные и т.п. Это всё для того, чтобы можно было проверить на калькуляторе распечатанную таблицу, иногда из-за «хвостов» появлялась разница в несколько значащих цифр

Сообщение отредактировал RalfПонедельник, 04.02.2013, 19:18

 

Ответить

Змiцер

Дата: Вторник, 05.02.2013, 09:29 |
Сообщение № 9

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


хм.. Тогда Ваш метод не подходит…. Правда я всёже почти доделал таблицу… и «подбор параметров» натолкнул меня на мысль, что данные всей таблицы можно получить от процентного соотношения суммы и нужного числа) Спасибо всем огромное за советы)

 

Ответить

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel для Mac 2011 Еще…Меньше

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

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

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

Пошаговый анализ примера

Рассмотрим предыдущий пример шаг за шагом.

Так как вы хотите вычислить процентную ставку по кредиту, используйте функцию PMT. Функция ПЛТ вычисляет сумму ежемесячного платежа. В данном примере эту сумму и требуется определить.

Подготовка листа

  1. Откройте новый пустой лист.

  2. Прежде всего добавьте в первый столбец эти подписи, чтобы сделать данные на листе понятнее.

    1. В ячейку A1 введите текст Сумма займа.

    2. В ячейку A2 введите текст Срок в месяцах.

    3. В ячейку A3 введите текст Процентная ставка.

    4. В ячейку A4 введите текст Платеж.

  3. Затем добавьте известные вам значения.

    1. В ячейку B1 введите значение 100 000. Это сумма займа.

    2. В ячейку B2 введите значение 180. Это число месяцев, за которое требуется выплатить ссуду.

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

  4. Теперь добавьте формулу, результат которой вас интересует. Например, используйте функцию ПЛТ.

    1. В ячейке B4 введите =ПЛТ(B3/12;B2;B1). Эта формула вычисляет сумму платежа. В данном примере вы хотите ежемесячно выплачивать 900 ₽. Это значение здесь не вводится, поскольку вам нужно определить процентную ставку с помощью средства подбора параметров, а для этого требуется формула.

      Формула ссылается на ячейки B1 и B2, значения которых вы указали на предыдущих этапах. Она также ссылается на ячейку B3, в которую средство подбора параметров поместит процентную ставку. Формула делит значение из ячейки B3 на 12, поскольку был указан ежемесячный платеж, а функция ПЛТ предусматривает использование годовой процентной ставки.

      Поскольку в ячейке B3 нет значения, Excel полагает процентную ставку равной 0 % и в соответствии со значениями из данного примера возвращает сумму платежа 555,56 ₽. Пока вы можете игнорировать это значение.

Использование средства подбора параметров для определения процентной ставки

  1. На вкладке Данные в группе Работа с данными нажмите кнопку Анализ «что если» и выберите команду Подбор параметра.

  2. В поле Установить в ячейке введите ссылку на ячейку, в которой находится нужная формула. В данном примере это ячейка B4.

  3. В поле Значение введите нужный результат формулы. В данном примере это -900. Обратите внимание, что число отрицательное, так как представляет собой платеж.

  4. В поле Изменяя значение ячейки введите ссылку на ячейку, в которой находится корректируемое значение. В данном примере это ячейка B3.
     

    Примечание: Формула в ячейке, указанной в поле Установить в ячейке, должна ссылаться на ячейку, которую изменяет средство подбора параметров.

  5. Нажмите кнопку ОК.

    Выполняется и создается результат, как показано на рисунке ниже.

    Подбор параметров

    Ячейки B1, B2 и B3 — это значения для суммы займа, длины срока и процентной ставки.

    Ячейка B4 отображает результат формулы =PMT(B3/12;B2;B1).

  6. Напоследок отформатируйте целевую ячейку (B3) так, чтобы результат в ней отображался в процентах.

    1. На вкладке Главная в группе Число нажмите кнопку Процент.

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

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

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

Пошаговый анализ примера

Рассмотрим предыдущий пример шаг за шагом.

Так как вы хотите вычислить процентную ставку по кредиту, используйте функцию PMT. Функция ПЛТ вычисляет сумму ежемесячного платежа. В данном примере эту сумму и требуется определить.

Подготовка листа

  1. Откройте новый пустой лист.

  2. Прежде всего добавьте в первый столбец эти подписи, чтобы сделать данные на листе понятнее.

    1. В ячейку A1 введите текст Сумма займа.

    2. В ячейку A2 введите текст Срок в месяцах.

    3. В ячейку A3 введите текст Процентная ставка.

    4. В ячейку A4 введите текст Платеж.

  3. Затем добавьте известные вам значения.

    1. В ячейку B1 введите значение 100 000. Это сумма займа.

    2. В ячейку B2 введите значение 180. Это число месяцев, за которое требуется выплатить ссуду.

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

  4. Теперь добавьте формулу, результат которой вас интересует. Например, используйте функцию ПЛТ.

    1. В ячейке B4 введите =ПЛТ(B3/12;B2;B1). Эта формула вычисляет сумму платежа. В данном примере вы хотите ежемесячно выплачивать 900 ₽. Это значение здесь не вводится, поскольку вам нужно определить процентную ставку с помощью средства подбора параметров, а для этого требуется формула.

      Формула ссылается на ячейки B1 и B2, значения которых вы указали на предыдущих этапах. Она также ссылается на ячейку B3, в которую средство подбора параметров поместит процентную ставку. Формула делит значение из ячейки B3 на 12, поскольку был указан ежемесячный платеж, а функция ПЛТ предусматривает использование годовой процентной ставки.

      Поскольку в ячейке B3 нет значения, Excel полагает процентную ставку равной 0 % и в соответствии со значениями из данного примера возвращает сумму платежа 555,56 ₽. Пока вы можете игнорировать это значение.

Использование средства подбора параметров для определения процентной ставки

  1. Выполните одно из указанных ниже действий.

    In Excel 2016 для Mac: On the Data tab, click What-If Analysis, and then click Goal Seek.

    В Excel для Mac 2011: на вкладке Данные в группе Инструменты для работы с данными нажмите кнопку Анализ «что если» ивыберите «Поиск окна».

  2. В поле Установить в ячейке введите ссылку на ячейку, в которой находится нужная формула. В данном примере это ячейка B4.

  3. В поле Значение введите нужный результат формулы. В данном примере это -900. Обратите внимание, что число отрицательное, так как представляет собой платеж.

  4. В поле Изменяя значение ячейки введите ссылку на ячейку, в которой находится корректируемое значение. В данном примере это ячейка B3.
     

    Примечание: Формула в ячейке, указанной в поле Установить в ячейке, должна ссылаться на ячейку, которую изменяет средство подбора параметров.

  5. Нажмите кнопку ОК.

    Выполняется и создается результат, как показано на рисунке ниже.

    Анализ "что если" - средство подбора параметров

  6. Напоследок отформатируйте целевую ячейку (B3) так, чтобы результат в ней отображался в процентах. Выполните одно из указанных действий.

    • In Excel 2016 для Mac: On the Home tab, click Increase Decimal Увеличение числа десятичных замеровor Decrease Decimal Decrease Decimal.

    • В Excel для Mac 2011: на вкладке Главная в группе Число нажмите кнопку Увеличить десятичность Увеличение числа десятичных разрядов или Уменьшить число десятичных Уменьшение числа десятичных разрядов , чтобы установить количество десятичных десятичных заметок.

Нужна дополнительная помощь?

MulTEx »

19 Июнь 2017              52961 просмотров

Подбор слагаемых под сумму

Данная функция является частью надстройки MulTEx


Вызов команды:
MulTEx -группа СпециальныеОсобые возможностиПодбор слагаемых под сумму


Команда подбирает различные комбинации известных чисел так, чтобы они составили заданную сумму. Когда это может пригодиться? Можно привести несколько примеров:

  • подобрать из каталога подарочных товаров те, общая сумма которых будет равна сумме подарочного сертификата. В дальнейшем различные варианты товаров можно рассылать клиентам в качестве идей для использования сертификата
  • заказ был оплачен в разные периоды несколькими накладными и необходимо собрать из имеющихся накладных те, которые в сумме дают сумму этого заказа
  • для распределения грузов по машинам/контейнерам. К примеру, в один контейнер необходимо разместить 9 или 10 ящиков, общий вес которых не превышает 32 тонны, плюс-минус 150кг.
  • так же можно применить и для обратной ситуации: есть общая сумма и перечень транзакций. Но общая сумма транзакций больше и необходимо понять, какая транзакция лишняя. Просто вычисляем те, которые могут составлять известную сумму, а оставшиеся скорее всего и есть лишние.

Подбор слагаемых под сумму

Собрать сумму — указывается сумма, которую необходимо подобрать. Допускается вписать сумму руками или указать ячейку с суммой из ячейки на листе: выделяем поле, переходим на лист и выделяем на листе ячейку с суммой. Сумма будет занесена в поле. Руками сумма должна вписываться без пробелов и лишних знаков.
Просматривая числа в ячейках — указываются ячейки, в которых расположены суммы для подбора суммы. Ячейки могут располагаться на любом листе любой открытой книги.

Комбинация — набор чисел, дающих при сложении нужную сумму. Например, задана сумма: 200.
Её могут дать комбинации из трех чисел:
= 20 + 30 + 150
= 50 + 70 + 80
Или из четырех:
= 20 + 30 + 50 + 100
= 50 + 70 + 60 + 20
И множество других комбинаций с различным количеством слагаемых.

Комбинация подходит, если:

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

Команда Подбор слагаемых под сумму позволяет использовать от 1 до 150 слагаемых для подбора комбинаций. Чем больше диапазон, тем больше вероятность подбора нужной суммы.

При подборе округлять числа до указанного количества знаков после запятой: указывается, необходимо ли округлять каждое число и сумму при подборе общей суммы. Необходимо в случаях с подбором по целым числам или в финансовых задачах, когда более двух знаков после запятой практически не используется, однако ячейки могут содержать числа с большим знаком после запятой, хоть и отображаются форматом с округлением.
допустимое отклонение — указывается, подбирать ли примерное совпадение. Например, для подбора суммы 200 можно указать отклонение 1. Тогда сумма чисел 20+30+149 (равно как и 20+30+151) будет считаться подходящей комбинацией.

Разберем возможные результаты на примере таблицы накладных:
Пример таблицы
Исходные суммы записаны в ячейках C5:C25 — именно из них будут составляться различные комбинации. Переходим на вкладку MulTEx -группа СпециальныеОсобые возможностиПодбор слагаемых под сумму, указываем следующие параметры:

    Собрать сумму: щелкаем по ячейке D2(сумма появится в поле) или вручную вводим 51200.
    Просматривая числа в ячейках: указываем диапазон C5:C25.
    Комбинация подходит, если:

      Количество слагаемых не менее: 3
      и не более: 10

    Указываем округлять до 2-х знаков после запятой, а допустимую погрешность выставляем равной 0.

Отобразить результат как:

  • Первую подходящую комбинацию чисел, начиная с ячейки: указывается ячейка на листе, начиная с которой последовательно будут записаны все числа, из которых складывается указанная сумма. Результат будет примерно такой(без заливки ячеек красным):
    Первая комбинация чисел
  • Первые N комбинаций, начиная с ячейки
    программа позволяет подобрать до 20 различных комбинаций чисел, которые дадут при сложении нужную сумму. При помощи этих параметров можно выбрать сколько комбинаций выводить и как именно их отображать. Если общее количество комбинаций будет меньше заданного, то будут записаны все доступные комбинации.
    Для демонстрации работы программы приводятся решения с подбором 3-х комбинаций.

  • Закрасить первые N комбинаций указанными цветами — в исходном диапазоне чисел указанным цветом будут закрашены те ячейки, числа в которых при сложении дадут нужную сумму. Если выбрано более 1-ой комбинации, то для 2-ой и последующих комбинаций закрашиваются ячейки следующих столбцов. Сначала указывается количество комбинаций для выделения и последовательно цвета для каждой комбинации. Цвета выбираются щелчком мышью по иконке с палитрой:
    Закрасить
    После нажатия Ок ячейки в столбцах будут окрашены в указанные цвета:
    Закрасить комбинации
    Это даст возможность визуально быстро сравнить и подобрать наиболее выгодную и подходящую под требования комбинацию. Так же это может пригодиться, если нужно знать не только суммы, но и номера накладных.
    Закрасить можно не более 5-ти комбинаций.

Если сумма может быть подобрана — она будет подобрана. Если программа не сможет подобрать сумму из указанных чисел, появится сообщение.
Решение не найдено
Это означает, что из указанных чисел при заданных ограничениях сумма просто не может быть составлена. В этом случае рекомендуется изменить параметры(вместе или по отдельности):

  • увеличить диапазон количества слагаемых(например, вместо от 3 до 10 задать от 2 до 15)
  • уменьшить количество знаков после запятой
  • увеличить допустимое отклонение

Расскажи друзьям, если статья оказалась полезной:

  Плейлист   Видеоинструкции по использованию надстройки MulTEx

Как выйти на искомую сумму, изменяя только цифры в столбце Е

Andrey_Economist Дата: Четверг, 25.08.2016, 13:20 | Сообщение # 1

Рядовой

Группа: Пользователи

Сообщений: 2

Репутация: 0

Статус: Offline

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

Задача выйти на искомую сумму, изменяя только цифры в столбце Е (в указанном диапазоне, строго 2 знака после запятой).
В таблице указал желаемый интервал.
Надеюсь на вашу помощь, хочу понять как работает поиск решения или другие
варианты с использованием формул, и сделать шаблон на будущее

 
Pelena Дата: Четверг, 25.08.2016, 19:45 | Сообщение # 2

Рядовой

Группа: Проверенные

Сообщений: 10

Репутация: 3

Статус: Offline

Здравствуйте. Задачу можно решить с помощью Поиска решения (см. файл), но условие 

Цитата Andrey_Economist ()

строго 2 знака после запятой

невыполнимо при имеющихся исходных данных. Посудите сами: количество (стобец С) кратно 100. Умножив такое число на цену с двумя знаками после запятой, получим целое число. Соответственно и сумма будет целая, а никак не 68942,70

 
Andrey_Economist Дата: Пятница, 26.08.2016, 16:05 | Сообщение # 4

Рядовой

Группа: Пользователи

Сообщений: 2

Репутация: 0

Статус: Offline

Цитата Pelena ()

невыполнимо при имеющихся исходных данных. Посудите сами: количество (стобец С) кратно 100. Умножив такое число на цену с двумя знаками после запятой, получим целое число. Соответственно и сумма будет целая, а никак не 68942,70

спасибо большое, может быть есть вариант с выделением 1 единицы по любой выбранной позиции? например по 1 позиции сделать 2-мя строками (например 1499 и 1, или 1490 и 10)

 
Pelena Дата: Пятница, 26.08.2016, 16:32 | Сообщение # 5

Рядовой

Группа: Проверенные

Сообщений: 10

Репутация: 3

Статус: Offline

То есть эта единица будет с другой ценой?
Так?

 

0 / 0 / 0

Регистрация: 07.01.2019

Сообщений: 4

1

07.01.2019, 13:44. Показов 3595. Ответов 8


Студворк — интернет-сервис помощи студентам

Помогите знатоки экселя.
Нужно разделить общую сумму с округлением.

Есть 20 магазинов. Из них 15 заказали картошку. Допустим от 1 до 7 мешков.
Всего было заказано 40 мешков. Приехало 40 мешков по 43кг. Но общий вес не 1600, а например 1523.
1523/40=35,418… в каждом мешке.
Зная какой магазин заказал сколько мешков распределить например с округлением до 1 знака после запятой (35,4)
Но общая сумма должна быть РОВНО=1523. разницу грамм можно прибавить/убавить с любого магазина.

Хочу что бы все эксель считал, и данные вносить в накладные, а грузчики только мешки кидали, не взвешивая каждый.



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

07.01.2019, 13:44

Ответы с готовыми решениями:

Как подогнать сумму?
Приветствую знатоков Эксель!
Нужна помощь в создании шаблона для подгона нескольких позиций с…

Подогнать числа
Возможно ли вообще (не случайно) подогнать сумму в ячейке N20 под ячейку N22, изменяя число в…

Excel 2010 не правильно считает сумму!
Всем Привет! Кто сталкивался с простой формулой “=СУММ()”-неправильно считает сумму. В пересчете…

Подогнать слайдер
Здравствуйте!
Ребята, нужна Ваша помощь. Есть тестовый сайт, здесь, на котором установлена CMS…

8

2630 / 1636 / 744

Регистрация: 23.03.2015

Сообщений: 5,143

08.01.2019, 14:17

2

a_leshkin,
Как вариант макросом….
В ячейку B1 вес всей картошки
B2 количество мешков.

В зеленых ячейках можно менять числа . Желтые -не трогать.
Количество магазинов можно стирать и добавлять ( убирать и добавлять строки).Между последним магазином и строкой «Всего » -обязательно пустая строка.

Пы.Сы Все выравнивается в последнем магазине.



1



0 / 0 / 0

Регистрация: 07.01.2019

Сообщений: 4

09.01.2019, 15:14

 [ТС]

3

Вроде все нормально. Но когда последний магазин ни чего не заказывает, т.е. я там ставлю 0 мешков. Макрос все равно туда кидает остаток, иногда отрицательный.



0



2630 / 1636 / 744

Регистрация: 23.03.2015

Сообщений: 5,143

09.01.2019, 15:17

4

a_leshkin,

А вы всегда последним показывайте магазин, который заказывает….



1



0 / 0 / 0

Регистрация: 07.01.2019

Сообщений: 4

09.01.2019, 15:25

 [ТС]

5

Не получится. Например картошку берет последний магазин, а свеклу нет.

Добавлено через 4 минуты
Ладно, спасибо и на этом.
Остаток с последнего магазина, положительный или отрицательный, буду руками плюсовать к последнему-заказавшему.



0



2630 / 1636 / 744

Регистрация: 23.03.2015

Сообщений: 5,143

09.01.2019, 15:51

6

a_leshkin,

Вы свой файл пришлите , где форма накладной….



1



2630 / 1636 / 744

Регистрация: 23.03.2015

Сообщений: 5,143

09.01.2019, 16:04

7

a_leshkin,

Исправил…
Все выравнивается в последнем магазине с заказом…



1



887 / 189 / 16

Регистрация: 18.07.2011

Сообщений: 260

09.01.2019, 16:15

8

Можно же без макросов



1



0 / 0 / 0

Регистрация: 07.01.2019

Сообщений: 4

09.01.2019, 16:37

 [ТС]

9

Спасибо огромное!
Обе таблицы работают. Но с макросом чуть лучше. Если в общем весе присутствуют граммы, от округляются до первого знака после запятой, все магазины кроме последнего-заказавшего. Прям идеально.



0



Понравилась статья? Поделить с друзьями:
  • Как подогнать текст в word
  • Как подогнать таблицу под размер листа в excel
  • Как подогнать таблицу под размер листа word
  • Как подогнать таблицу в excel под формат а4
  • Как подогнать страницу в word