Страницы: 1 2 След.
RSS
подбор такой суммы, чтобы процент от общей имел не более 4-х знаков после запятой
 
есть 5 вкладчиков в уставный капитал фирмы. К ним, путем внесения денег, хотят добавиться ещё (2,3,4,5 вкладчика). Так вот, мне нужно подобрать для внесения такие суммы, чтобы у всех вкладчиков процент от общей суммы имел не более 4-х знаков после запятой. Нужно не округлить до 4-х знаков, а подобрать такое значение, чтобы процент имел до 4-х знаков после запятой. Не знаю, может ли решить такую проблему Excel  
Заранее спасибо, если сможете помочь))
 
если задача вероятно не имеет решения в Excel, напишите, пожалуйста
 
{quote}{login=Ирина987}{date=21.01.2011 04:13}{thema=}{post}если задача вероятно не имеет решения в Excel, напишите, пожалуйста{/post}{/quote}  
Эта задача скорее всего математическая, подберите такие суммы, чтобы общий итог был "красивым", на который было легко делить (например 10000, 20000, 50000, 100000, 1000000 и т.п.), так любое целое число деленное на предложенные числа даст нужный Вам результат
 
у меня чаще всего общая сумма определена. мне говорят "уставный капитал будет 135 700 р, а там делите как хотите.. хоть по 2р 37 коп"
 
{quote}{login=Ирина987}{date=21.01.2011 04:13}{thema=}{post}если задача вероятно не имеет решения в Excel, напишите, пожалуйста{/post}{/quote}  
задачу можно решить через сервис -поиск решения (в стандартной установке отсутсвует), если правильным математическим языком записать условия про 4 знака после запятой  
думаю условия такие, что значение 1,234% умноженное на 100000 (т.к. выражено в процентах) должно быть целым, сижу не за своим компом, быстро настроить эксель не смогу,    
но явно мои мысли ближе к ответу чем ранее.  
думаю, макросом то же самое можно реализовать.
 
через поиск решения я пыталась, но вот "правильным математическим языком записать условия про 4 знака после запятой", это для меня сложно, а  "макросом то же самое можно реализовать" для меня вообще не реально((. Если будет у Вас время/желание/возможность, помогите, пожалуйста
 
{quote}{login=Ирина987}{date=21.01.2011 06:05}{thema=}{post}через поиск решения я пыталась, но вот "правильным математическим языком записать условия про 4 знака после запятой", это для меня сложно, а  "макросом то же самое можно реализовать" для меня вообще не реально((. Если будет у Вас время/желание/возможность, помогите, пожалуйста{/post}{/quote}  
если правильно понял:  
по пяти "вкладчикам" суммы определены и нужно расчитать суммы для n последующих так чтобы общая сумма была скажем 135700руб, а дробная часть процента составила 4 знака после запятой именно для процента. или чтобы ниже копеек сумма не дробилась?  
все таки округлил, но последнее значение взял как разность 100 - сумму девяти предыдущих, прикрепил скрин, пробуйте, пишите
 
На самом деле, наличие нескольких разных "известных сумм" (в примере 1000, 2500, 3000) накладывает достаточно жесткие ограничения на новую общую сумму.  
Я написал простой макрос, который тупым перебором, прибавляя к общей сумме по 0,01, проверяет, будет ли доля "известных сумм" в новой общей сумме иметь не более 6 знаков после запятой.  
ПЕРЕД ЗАПУСКОМ МАКРОСА ВЫДЕЛИТЕ ДИАПАЗОН ИЗВЕСТНЫХ СУММ (он уже выделен).  
Перебор ограничен 20 результатами, не превосходящими 10-кратную имеющуюся общую сумму.  
Если общая сумма должна быть только целым числом, замените  
tot = Round(tot + 0.01, 2)  
на    
tot = tot + 1#  
Будет считать в 100 раз быстрее.  
Новые вклады вместе с существующими должны составлять одну из сумм из полученного ряда.  
Новые вклады могут быть:  
- равны существующим;  
- состоять из комбинации существующих (например, 16000 = имеющиеся + 2500+2500+1000);  
- равны разности новой суммы и исходной суммы и комбинации существующих (например, 19531,25  
= имеющиеся + 2500+1000+1000+5031,25)
 
Вот именно так, г-н Казанский, Вы заставляете нас платить, непомерно глупые проценты (т.е. высокие)...    
"...который тупым перебором, прибавляя к общей сумме по 0,01," -  почему бы не наоборот?, т.е. отнимая...?  
--  
Мне интересно, когда мы начнём заботиться друг о друге? Коммунисты угробили 40 миллионов, 2-ая мировая 20, и ежегодные "расходы",  - ....  
Именно ежегодные (ежемесячные) расходы, ведут к вымиранию нации. Это моё личное мнение (не люблю аббревиатуру ИМХО. И вообще, всё то, что исходит от америкосов). Банки - это 3,141592654дарасты, которые сделают ставку ниже, когда к ним никто не придёт в течении месяца.    
 
А мы помогаем делать расчёт с более высоким (правильным) процентом... Пусть правильно, но ...  
 
Нас и так осталось мало, всего 150 000 000. Давайте как-то жить и размножаться, как Господь велел...
 
если правильно понял:  
по пяти "вкладчикам" суммы определены и нужно расчитать суммы для n последующих так чтобы общая сумма была скажем 135700руб, а дробная часть процента составила 4 знака после запятой именно для процента -   да  
 
проблема в том, что доля каждого вкладчика это % от общей суммы.  
У меня так    
11 973 200 99,5841373 %  
50 000        00,4158627 %  
Этот % налоговая должна внести в документ. Программа в налоговой позволяет внести только 4 знака  
налоговая вносит в док-ты данные  
сумма общая 12 023 200 100  
округленный % 1 99,5841  
округленный % 2 0,4159  
 
владчик проверяет 99,5841%*12 023 200 11 973 196  
и говорит " почему? Я же внес 11 973 200  
отвечаю "из-за оругления"  
он мне говорит "хочу, чтобы было ровно. Сколько третьему нужно внести?"
 
в тексте все сдвинулось, ничего не понятно((  
но в прикрепленном файле все написано
 
{quote}{login=Ирина987}{date=23.01.2011 02:46}{thema=прирепила реальный пример}{post}владчик проверяет 99,5841%*12 023 200 11 973 196  
и говорит " почему? Я же внес 11 973 200  
отвечаю "из-за оругления"  
он мне говорит "хочу, чтобы было ровно. Сколько третьему нужно внести?"{/post}{/quote}А Вы отвечайте "программа так считает, я ничего не могу сделать". И не надо уточнять про округление. Это железный аргумент. В самом деле, какой с Вас спрос, не Вы же разрабатывали эту программу!?  
 
А людям, которые беспокоятся из-за 4 рублей на фоне 12 миллионов (!), видимо, заняться больше нечем. Не надо потакать их "хотелкам". Нельзя - и все.  
 
На всякий случай, оптимизировал расчет новых общих сумм. Ускорение более чем в 2 раза.
 
повис на 40 минут... "не отвечает". предполагаю, что я что-то делаю не так
 
Вопрос к знатокам Excel - можно ли в настройках поиска решений задавать условие, что значение должно быть целое? Если это возможно, то математическую модель я записали остаётся только реализовать её в Excel.    
Ирина, проблема ещё актуальна?
 
лехко - =ОСТАТ(D6;1)=0
 
или менее строго  
 
=ОСТАТ(D6;1)<1e-6  , например
 
проще попросить нехорошего человека положившего такую непутёвую сумму как  
119373200=100*2*2*37*809 положить что нибудь ещё, чтобы сумма была бы более круглой,  
а так представьте выражение лица будущих вкладчиков когда Вы им скажете  
внести 50000 вы не можете а только (условно конечно) 299300 = 100*37*809
 
{quote}{login=Oren_Spartach}{date=24.01.2011 11:15}{thema=}{post}Вопрос к знатокам Excel - можно ли в настройках поиска решений задавать условие, что значение должно быть целое? Если это возможно, то математическую модель я записали остаётся только реализовать её в Excel.    
Ирина, проблема ещё актуальна?{/post}{/quote}  
 
можно ограничения/вид ограничения :: цел  
 
но данная задача относиться к задачам решаемым только перебором,  
для таких задач поиск решения работает некорректно (может не найти существующее решение),  
так что только макросы + принять во внимание что в ряде случаев задача может не иметь решения.
 
Действительно, заранее предупреждаю, что в некоторых случаях задача не будет иметь решений.  
Математическую запись задачи прикрепил.
 
забыли что вклад должен быть кратным копейке.  
взнос 1/3 миллиона не осуществим в рамках платёжной системы по определению
 
{quote}{login=dl}{date=24.01.2011 11:59}{thema=корову мы брали одну возвращать её будем одну - чтоб не нарушать отчётности}{post}проще попросить нехорошего человека положившего такую непутёвую сумму как  
119373200=100*2*2*37*809 положить что нибудь ещё, чтобы сумма была бы более круглой,  
а так представьте выражение лица будущих вкладчиков когда Вы им скажете  
внести 50000 вы не можете а только (условно конечно) 299300 = 100*37*809{/post}{/quote}  
 
нельзя попросить, чтобы он добавил((( если у него будет доля в уставном капитале больше, то при распределении прибыли его доля также станет выше (% в ук=% в прибыли). Тут будут против все остальные.  
 
проблема все ещё актуальна. примером с макросом воспользовться не смогла(( все зависло, и до утра не просчиталось.  
 
dl  
копейки можно округлить, от них распределение прибыли зависеть не будет
 
в том то и проблема что если первичные вкладчики внесли "хорошие суммы" то включение новых вкладчиков легко осуществляется макросом Казанского, во всяком случае пока новых вкладчиков не слишком много и они вносят "хорошие суммы".  
 
А вот если первый вкладчик внёс нехорошую сумму  
например 809 уе (простое число) и от неё не хочет отступаться, то  второй вкладчик (не факт но вполне возможно) должен будет  вносить сумму не менее 809 уе,  
любая другая сумма приведёт к тому что  ваше условие четырёх знаков будет нарушено  
 
<<копейки можно округлить, от них распределение прибыли зависеть не будет>>  
приведите пример округления копеек при котором не будет нарушено ваше правило четырёх знаков..
 
с макросом Казанского что-то у меня не так((  
дано    
1 273 200,00  
50 000,00  
получила ответ  
1562500  
1600000  
2000000  
и тд  
ввожу    
1 273 200,00  
50 000,00  
1562500  
соответственно в %  
44,121011  
1,732682  
54,146308  
Я что-то делвю не так?
 
1--- 11 973 200,00  
2--- 50 000,00  
3--- 1 464 796,41  
но подозреваю что вход для четвёртого будет закрыт по математическим соображениям из-за амбиций первого и второго...  
 
зы Ирина! модернизированный макрос Казанского выложу завтра,  
ибо на сегодня хватит  
и может Казанский сам заглянет, несмотря на "странный пост" анонима,  
идить его
 
> Я что-то делаю не так?  
Да. Макрос выводит новую общую сумму, а не добавку. Вы должны ввести  
1 273 200,00  
50 000,00  
239 300,00 (=1562500-1 273 200,00-50 000,00)  
 
Что получается - см. скриншот.
 
Чуть переделал макрос, чтобы он выводил добавку.  
Прерывание счета - Ctrl+Break, потом End.
 
{quote}{login=Казанский}{date=24.01.2011 05:47}{thema=}{post}Чуть переделал макрос, чтобы он выводил добавку.  
Прерывание счета - Ctrl+Break, потом End.{/post}{/quote}  
 
получилось!! спасибо!!
 
{quote}{login=dl}{date=24.01.2011 05:10}{thema=сколько должен положить третий чтобы первый и второй были удотволерены с точностью до копейки}{post} несмотря на "странный пост" анонима, идить его{/post}{/quote}  
Это Владимир. Видимо, тоскует по Планете... Правда, обещал нас покинуть :-)
 
Sub Иринаbystep()  
Dim src(), resCol As Long, i As Long, tot As Double, part As Double, j As Long, imax As Long  
Dim tot10 As Double, srcmax As Double, k As Long  
 
src = Application.Transpose(Selection)  
srcmax = Application.Max(src)  
tot = Application.Sum(src)  
tot10 = tot * 10#  
imax = Round(srcmax / tot, 6&) * (1000000#)  
resCol = ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count + 1  
For k = imax To 1 Step -1  
   tot = srcmax / k * (1000000#)  
   If tot = Round(tot, 2&) Then  
       For i = 2& To UBound(src)  
           part = src(i) / tot  
           If part <> Round(part, 6&) Then Exit For  
       Next  
       If i > UBound(src) Then j = j + 1&: Cells(j, resCol) = tot - tot10 / 10#  
   End If  
   If (j > 20 Or tot > tot10) Then Exit For  
Next  
End Sub  
 
пояснения: для того чтобы ускорить поиск  
поиск ведём не по прибавлению копеек к сумме,  
а по возможным процентам для максимального вклада  
% = 92,4645;  92,4644;  92,4645; ... и т.д  
вначале проверяем что получившаяся полная сумма не содержит долей копеек,  
потом что остальные числа удовлетворяют требованию четырёх знаков,  
выход аналогично исходному макросу
 
% = 92,4645; 92,4644; 92,4643; ... и т.д уменьшаясь на 0,0001
Страницы: 1 2 След.
Читают тему
Наверх