Страницы: 1 2 След.
RSS
Генерация случайных чисел.
 
Здравствуйте!  
 
Прочитал все темы по данному вопросу на форуме. Думал справлюсь сам со своим ликбезом и не справился.))) Поэтому к Вам за помощью к кому же ещё. В файле всё подробно описано.
Hello! My blog: TRADING WAY
 
=СЛУЧМЕЖДУ((СЧЁТЕСЛИ($C$2:C2;"<0")<32*$H$2)*$G$2;$G$3)  
Число отрицательных - не больше заданного процента. К сожалению, меньше может быть.  
Вряд ли простая формула справится с таким заданием - постоянное соотношение (в зависимости от Н2, Н3) отрицательных и положительных. При недостатке отрицательных их придется где-то вставлять вместо положительных, а это уже цикл.  
Может, макрос осилит?
 
Вариант - контроль количества отрицательных и запись недостающих в последних ячейках. Это уже подтяжка, но, если согласны, формулу можно нарисовать.  
Можно сравнивать и по положительным - без разницы. Или по тем, у которых процент меньше, но это немного сложнее.
 
Договаривались ведь нарушителям не помогать...
 
vikttur, спасибо за внимание, но прежде, чем дальше двигаться, хочу задать вопрос.  
 
Serge 007, можно узнать, что и когда я нарушил?
Hello! My blog: TRADING WAY
 
Вытяжка из правил:  
"Так как не все перешли на 2007-ой Офис, и если вопрос не касается напрямую этой версии, прилагайте файлы в версии Офиса 2003"  
Но если автор выкладывает файл в .xlsx, то это больше проблема автора, нежели форума - меньше будет помогающих и больше времени на получение нужного ответа.  
Хотя, конечно, правила лучше почитать, чтобы в дальнейшем не совершать ошибок:  
http://www.planetaexcel.ru/forum.php?thread_id=8735
 
Упс! Честное слово забыл. Извиняюсь. Надо почаще мне отдыхать. Прилагаю новый файл.    
vikttur, давайте попробуем Ваш вариант.
Hello! My blog: TRADING WAY
 
А вот в этом файле что то похожее было реализовано. Может это поможет в решении задачи.
Hello! My blog: TRADING WAY
 
=ЕСЛИ(ЗНАК(СЛУЧМЕЖДУ(-100*$H$2;100*$H$3))<0;СЛУЧМЕЖДУ($G$2;0);СЛУЧМЕЖДУ(0;$G$3))
 
{quote}{login=tol64}{date=20.03.2010 02:06}{thema=}{post}давайте попробуем Ваш вариант.{/post}{/quote}  
Пробуйте, формула предложена :)  
Посмотрите работу, ответьте, в каком направлении из предложенных мной дальше двигаться.  
В последнем примере случайных чисел не нашел, а ведь именно их Вы просили.  
В Вашей формуле запрись (-100*(60%);300*(40%)) - это диапазон от -60 до +120.
 
Можно без ЗНАК()  
=ЕСЛИ(СЛУЧМЕЖДУ(-100*$H$2;100*$H$3)<0;СЛУЧМЕЖДУ($G$2;0);СЛУЧМЕЖДУ(0;$G$3))  
Хотел сначала умножать на него и передумал, а осколки остались...
 
Обнаружил, что моя формула может выдавать количество отрицательных больше, чем нужно. Почему - не понял :(  
kim - ? Если предполагается отрицательное, то показать положительное и наоборот?
 
kim, спасибо большое. Вы мне уже второй раз помогаете. А судя по цитате "Сцяна - гэта..." мы ещё к тому же и земляки.)))    
vikttur, формула предложенная kim-ом, делает как раз то, что мне нужно. А то, что в файле я писал, это мой метод тыка, иногда помогает.))) Я Excel пока только вторую неделю изучаю, мне простительно. Спасибо за участие!
Hello! My blog: TRADING WAY
 
Всмысле? Насчет умножения? Если да, то ту мысль я недовыносил.
 
"H2 = процент отр. чисел, H3 = процент полож. чисел" - я это понял как соотношение количества положительных и отрицательных!  
Если нужно процент от значений, то почему не так?:  
=СЛУЧМЕЖДУ($G$2*($H$2);$G$3*($H$3))
 
{quote}{login=kim}{date=20.03.2010 02:43}{thema=}{post}Всмысле? Насчет умножения? Если да, то ту мысль я недовыносил.{/post}{/quote}  
Нет, я не пойму логики.
 
{quote}{login=vikttur}{date=20.03.2010 02:59}{thema=Re: }{post}  
Нет, я не пойму логики.{/post}{/quote}  
 
vikttur, в этом скорее моя вина. Я только сейчас обнаружил, что некорректно выразил суть задачи. H2 и H3 - это количество отрицательных/положительных чисел выраженных в процентах. А не процент от генерируемого числа. В следующий раз постараюсь быть внимательней.
Hello! My blog: TRADING WAY
 
Так и не понял желание автора.  
"H2 и H3 - это количество отрицательных/положительных чисел выраженных в процентах".  
Исходя из этого текста: при Н2=40, Н3=60, количестве строк таблицы=32 (как в post_109777.xls) отрицательных значений не должно быть больше 13 (32*0,4=12,8), а положительных - не больше 20 (32*0,6=19,2). Именно так я и понял задание вначале. Ни одна из показанных выше формул не дает нужного результата.  
 
Если же за основу взять формулу автора: =СЛУЧМЕЖДУ(G2*(H2);G3*(H3)), то можно сделать вывод, что требовалось ограничение значений G2 и G3: 100*,04 и 200*0,6.  
В таком случае формула автора будет работать, если закрепить все ссылки (случайне значения между -40 и +120):  
=СЛУЧМЕЖДУ($G$2*$H$2;$G$3*$H$3)  
 
мои слова "Нет, я не пойму логики" относились к формуле мастера kim'а:  
=ЕСЛИ(СЛУЧМЕЖДУ(-100*$H$2;100*$H$3)<0;СЛУЧМЕЖДУ($G$2;0);СЛУЧМЕЖДУ(0;$G$3))  
Это практически то же, что и  
=ЕСЛИ(СЛУЧМЕЖДУ(-1;1)<0;СЛУЧМЕЖДУ($G$2;0);СЛУЧМЕЖДУ(0;$G$3))  
т.е. выдача "на гора" положительных или отрицательных значений в случайном порядке:  
ЕСЛИ случ. число меньше 0, то вывести случайное положительное, если больше или равно нулю, то вывести отрицательное.  
Непонятен смысл такой формулы.
 
Vikttur, да мы оба правильно поняли автора, обе предложенные нами формулы делают одно и тоже примерно... и одинаково ошибаются.  
Кстати, СЛУЧМЕЖДУ(-100*$H$2;100*$H$3)<0 и СЛУЧМЕЖДУ(-1;1)<0 это не одно и тоже в первом случае вероятность получения отрицательного значения 40/60, а во втором 50/50 :-)
 
Немного не так: в СЛУЧМЕЖДУ(-1;1)<0 вероятность получения значения ИСТИНА составляет примерно 33,333...%, что не соответствует условиям задачи.
 
Проверил погрешность формулы функцией СЧЁТЕСЛИ, подсчитывая количество положительных и отрицательных сделок. При выставленных процентах 50%/50% количество положительных и отрицательных сделок варьируется плюс минус на 10 значений, с учётом, что иногда бывают нулевые значения (что тоже бывает в реальности). Я прилагаю файл с последними изменениями, если кому интересно, посмотрите. Клавиша F9 обновляет результат. Так можно увидеть разные вероятности исхода. Если есть варианты ещё (более точные), то интересно посмотреть.))) Спасибо за внимание.
Hello! My blog: TRADING WAY
 
{quote}{login=kim}{date=20.03.2010 02:03}{thema=}{post}СЛУЧМЕЖДУ(-100*$H$2;100*$H$3)<0 и СЛУЧМЕЖДУ(-1;1)<0 это не одно и тоже в первом случае вероятность получения отрицательного значения 40/60, а во втором 50/50 :-){/post}{/quote}  
Это все понятно и для таблицы в несколько тысяч строк отклонений будет мало. Но для данного примера на 32 строки (в последнем варианте - 100) такая формула будет часто ошибаться. Теория вероятности, ничего не попишешь :)  
 
Почему не работает?  
=СЛУЧМЕЖДУ((СЧЁТЕСЛИ($E$2:E2;"<0")<100*$J$2)*$I$2;$I$3)
 
Как вариант - правильного соотношения можно добиться принудительным определением недостающих в конце (в начале) таблицы.
 
{quote}{login=vikttur}{date=22.03.2010 09:37}{thema=}{post}Как вариант - правильного соотношения можно добиться принудительным определением недостающих в конце (в начале) таблицы.{/post}{/quote}  
vikttur, интересно посмотреть Ваш вариант.Пока не могу понять, как это можно реализовать.Пытался сформулировать логический ход,но что то сомневаюсь в его правильности.Получилось что то вроде... Если результат генерации по соотношению положительных и отрицательных значений не соответствует заданным условиям,то применить принудительное определение. А как применить пока понять не могу.Заменить принудительно, допустим отрицательные на положительные,начиная с верхней или нижней ячейки заданного диапазона до тех пор пока не будет максимально точного соотношения в соответствии с заданными условиями? В общем после таких размышлений вдвойне теперь стало интересно увидеть решение от настоящих воротил Excel'я. :)
Hello! My blog: TRADING WAY
 
Немного подшаманеная формула Vikttur'a будет выдавать более точный результат, но сгруппирует внизу таблицы основную массу отрицательных значений:  
=СЛУЧМЕЖДУ((СЧЁТЕСЛИ($E$2:E2;"<0")<100*$J$2)*$I$2;(СЧЁТЕСЛИ($E$2:E2;">0")<100*$J$2)*$I$3)
 
Если это критично, то через доп. столбец их можно безпорядочно разбросать.
 
Как-то вот так:
 
Уважаемые модераторы!  
Можно ли удалить три предыдущих поста-бреда вместе с этим и оставить следующий?
 
Можно объединить мою и Vikttur'a формулы и получить вполне сносный результат.  
Гуртом и батько добре бить.
 
Хороша задумка со СЛЧИСЛ/ИНДЕКС, я как то и не подумал. Наверное, применение двух случайностей автору тоже понравится :)  
 
kim, а не страшо? Бацька не рассердится? Если чего, проси гражданство, примем :)
Страницы: 1 2 След.
Читают тему
Наверх