PDA

Показать полную графическую версию : [решено] Подобрать множитель и множимое в Excel


anatoly_neo
14-01-2021, 13:09
Добрый день!

Подскажите плиз, реально ли написать в экселе макрос или может формулой ограничиться...
Задача такая, есть произведение двух чисел оно равно 3 477 671,89 , нужно найти/подобрать множитель и множимое.
Самое близкое что удалось подобрать это 1442,00 и 2411,70 , нужно подобрать значения примерно около указанных с разбросом в пару-тройку сотен, но чтобы обязательно после запятой уложиться в два символа.
То есть итоговые цифры должны быть примерно вида 1442,00.

Iska
14-01-2021, 14:45
anatoly_neo, по каким критериям? А то я Вам сразу дам ответ — 3477671.89 и 1.

Самое близкое что удалось подобрать это 1442,00 и 2411,70 »
Это неправильный ответ — их произведение даёт 3477671.4, а вовсе не 3477671.89.

anatoly_neo
14-01-2021, 14:53
Так написал же, что значения должны быть близкими к 1442,00 и 2411,70 , плюс минус пара-тройка сотен в любую сторону у любого значения.

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

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

Iska
14-01-2021, 15:09
anatoly_neo, приведите формальное определение. Во-первых, «должны быть близкими» и «плюс минус пара-тройка сотен» в код не засунешь. Во-вторых, должен быть строгий алгоритм получения именно указанных чисел «1442,00 и 2411,70», коль Вы приводите именно их.

Что бы было понятно о чем речь, есть итоговая сумма 3 477 671,89 , которую надо получить умножив количество единиц чего либо на стоимость единицы этого товара. Важно чтобы ответ крутился в районе указанных ранее цифр с указанными погрешностями. »
Ну, вот, теперь другое дело — Вы таки частично озвучили саму задачу, а не уже выбранное Вами решение.

Итак, у нас есть некая сумма. Откуда берётся цена и количество?

anatoly_neo
14-01-2021, 15:25
Просто мне озвучили эту задачу вот так, поэтому как понял так и пытаюсь озвучить дальше, так что прошу прощения за не сильно ясную постановку вопроса.

Цена и количество мне озвучили примерно, как бы Вам объяснить, дали те цифры что я привёл и сказали что надо получить близкий к этим числам результат, то что разброс на пару тройку сотен я уже сам предполагаю. Берутся эти цифры видимо из какого то усредненного значения ранних периодов работы.
Из всего что мне озвучили я понял так, есть количество - 1442,00 , надо подобрать значение вокруг него, допустим в допуске от 1200 до 1650 и есть стоимость 2411,70 - надо подобрать значение в допуске 2200-2600 (примерно), чтобы на выходе перемножив два эти значения мы получили искомый ответ.

PS: сам не знаю откуда человек взял начальные цифры, но думаю что если вдруг удастся написать какой-то алгоритм перебора по заданным условиям, то слегка скорректировать допуски этого алгоритма и начальные цифры в нём уже не должно будет составить большого труда. Так же как например и скорректировать итоговую сумму. Или я не прав?

a_axe
14-01-2021, 15:27
3 477 671,89 , нужно найти/подобрать множитель и множимое. »
anatoly_neo, в А1 пишем 3477671.89 в В1 пишем допустим 1200, в С1 - =A1/B1, в D1 - =ТЕКСТ(C1;"00000.00000") - у меня разделитель точка, у вас вероятно запятая будет по дефаулту, смотрите сами.
Строкой ниже - все то же самое, но в B2 пишем =B1+0.01 (плюс одна копеечка) и потом протягиваем вторую строку вниз, пока рука не устанет (я прямо до последней строки вставил, но это слишком много оказалось). Потом - поиск в столбце D текста ".00" и констатация отсутствия решения.
Итак, у нас есть некая сумма. Откуда берётся цена и количество? »
Вангую: В смете уже согласована сумма, теперь нужно определиться, чего и сколько продаем. :lol:

Iska
14-01-2021, 15:39
Вангую: В смете уже согласована сумма, теперь нужно определиться, чего и сколько продаем. »
Это-то понятно. Но для кода нужны какие-то формальные критерии начальных значений цены и количества и критерий оптимальности. Без этого никак.

anatoly_neo
14-01-2021, 15:41
a_axe, подозреваю что именно такой вариант события у человека и есть, при том что он уже подобрал весьма оптимальные значения вручную, я ему предложил их и оставить, но он давится за эти копейки, гос служащий как никак... :)

Iska
14-01-2021, 15:44
Или я не прав? »
Не прав. Вот я Вам выше предложил строгое решение:
А то я Вам сразу дам ответ — 3477671.89 и 1. »
но оно Вам не подходит. Почему? И вот обо всём об этом нужно заранее условиться до разработки алгоритма. Так-то сам алгоритм давным-давно известен и может быть реализован хоть кодом, хоть в Excel посредством «Подбор параметра» или «Поиск решения».

a_axe
14-01-2021, 15:46
Но для кода нужны какие-то формальные критерии начальных значений цены и количества и критерий оптимальности. Без этого никак »
Это да, но еще вопрос - а можно ли в принципе получить целое число штук (чтобы не было полтора землекопа) с ценой в рублях и копейках (а не с 12.898973 копеек), чтобы получилась нужная сумма. Если такой комбинации нет, то оптимизировать будет нечего - единственный вариант вы озвучили: 1шт.

Iska
14-01-2021, 15:47
весьма оптимальные значения вручную »
anatoly_neo, враньё. Оптимальные подобрал Вам я.

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

anatoly_neo
14-01-2021, 15:48
a_axe, ну там не целое число, оно может быть с копейками и миллилитрами (с точностью до двух знаков после запятой), то есть формат числа 1200,00 или 1200,01 , лишь бы при перемножении одного на другое получился искомый ответ.
кстати с помощью вашего варианта подобрал один из вариантов 1247,13 и второе число 2788,54
и еще одно 1394,27 и второе 2494,26

единственное НО, с вот этим не очень понял D1 - =ТЕКСТ(C1;"00000.00000") что оно должно было помочь сделать? и как бы его перенастроить чтобы оно искало не нули, а просто значение с двумя символами после запятой.

Iska
14-01-2021, 16:08
anatoly_neo, вот как сие выглядит в «Поиск решения»:
https://i.imgur.com/V3mDyQg.png

anatoly_neo
14-01-2021, 16:09
Iska, попытаюсь подумать как можно применить данную функцию под мой случай, чтобы получить вариант с двумя знаками после запятой.
Спасибо!

Iska
14-01-2021, 16:14
anatoly_neo, это и есть «два знака после запятой для одного из параметров». Любого на выбор.

anatoly_neo
14-01-2021, 16:44
Парни, спасибо за помощь. Вопрос закрыт. :)
Воспользовались таки решением a_axe




© OSzone.net 2001-2012