Доброго времени суток, дамы и господа! Столкнулся с такой вот задачей. Нужно многократно суммировать функцию СЛЧИС(). Ну, сама задача немного другая, но суть вопроса именно в этом. То есть, понятно, что СЛЧИС()+СЛЧИС() не равно СЛЧИС()*2. В принципе, задачу я решил. Прикладываю ее в файле, хотя смотреть его и разбираться там совсем не обязательно. Скорее всего очень громоздко, но все работает. Если только посоветовать, как можно сделать элегантней того нагромождения, что я наворотил. Однако, для такого многократного суммирования мне пришлось на отдельном листе создать огромный массив (в примере он маленький) заполненный функцией СЛЧИС(). А если быть точнее, такой фот формулой:
К которому идет обращение и выбирается нужное количество ячеек в зависимости от условий. Причем, нужно не просто выбирать нужное количество ячеек, но еще и учитывать использовавшиеся на предыдущем этапе вычислений, чтобы не было их повторения. Собственно вопрос. Можно ли каким-то способом еще посчитать сумму функций СЛЧИС() без заполнения отдельного массива ими?
Доброго времени суток, дамы и господа! Столкнулся с такой вот задачей. Нужно многократно суммировать функцию СЛЧИС(). Ну, сама задача немного другая, но суть вопроса именно в этом. То есть, понятно, что СЛЧИС()+СЛЧИС() не равно СЛЧИС()*2. В принципе, задачу я решил. Прикладываю ее в файле, хотя смотреть его и разбираться там совсем не обязательно. Скорее всего очень громоздко, но все работает. Если только посоветовать, как можно сделать элегантней того нагромождения, что я наворотил. Однако, для такого многократного суммирования мне пришлось на отдельном листе создать огромный массив (в примере он маленький) заполненный функцией СЛЧИС(). А если быть точнее, такой фот формулой:
К которому идет обращение и выбирается нужное количество ячеек в зависимости от условий. Причем, нужно не просто выбирать нужное количество ячеек, но еще и учитывать использовавшиеся на предыдущем этапе вычислений, чтобы не было их повторения. Собственно вопрос. Можно ли каким-то способом еще посчитать сумму функций СЛЧИС() без заполнения отдельного массива ими?vospa
Не, ну понятно, что могут оказаться и равны. Более того, если используется ГПСЧ, то можно, в теории, даже предсказать периодичность. Однако, если к ГПСЧ прикручен еще внешний источник энтропии, то такое равенство становится делом случая. Впрочем, в моем случае, шансы того, что сумма такого количества слагаемых окажется равна произведению, согласитесь, стремится к нулю :-)
Не, ну понятно, что могут оказаться и равны. Более того, если используется ГПСЧ, то можно, в теории, даже предсказать периодичность. Однако, если к ГПСЧ прикручен еще внешний источник энтропии, то такое равенство становится делом случая. Впрочем, в моем случае, шансы того, что сумма такого количества слагаемых окажется равна произведению, согласитесь, стремится к нулю :-)vospa
Поясните, чем сумма двух случайных чисел кошернее произведения?
Ну, если взять формулу, которой я заполнял ячейки массива, то шанс того, что результат вычислений примет значение 25 составляет 0,0000015%. А мне, положим, нужно просуммировать 1000 таких ячеек. Если я умножу 25 на 1000, результат будет весьма далек от истины. Хотя, какой-то призрачный шанс и существует.
Поясните, чем сумма двух случайных чисел кошернее произведения?
Ну, если взять формулу, которой я заполнял ячейки массива, то шанс того, что результат вычислений примет значение 25 составляет 0,0000015%. А мне, положим, нужно просуммировать 1000 таких ячеек. Если я умножу 25 на 1000, результат будет весьма далек от истины. Хотя, какой-то призрачный шанс и существует.vospa
Сообщение отредактировал vospa - Воскресенье, 13.07.2014, 14:04
четвертый параметр функции ВПР у вас не задан, значит по умолчанию ИСТИНА и поиск будет неточным. но при этом неточный поиск вы собираетесь вести в неотсортированном массиве. 0 - 0,0272 - 0,1769 - 0,5062
результаты будут непредсказуемые. сорри. массив отсортирован.
кстати - ПСЧ-то оно, конечно, ПСЧ, но посмотрел для 20000 чисел - ни одно не повторилось с точностью до 15-го знака. не говоря уж о последовательности повторений
четвертый параметр функции ВПР у вас не задан, значит по умолчанию ИСТИНА и поиск будет неточным. но при этом неточный поиск вы собираетесь вести в неотсортированном массиве. 0 - 0,0272 - 0,1769 - 0,5062
результаты будут непредсказуемые. сорри. массив отсортирован.
кстати - ПСЧ-то оно, конечно, ПСЧ, но посмотрел для 20000 чисел - ни одно не повторилось с точностью до 15-го знака. не говоря уж о последовательности повторенийikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
Сообщение отредактировал ikki - Воскресенье, 13.07.2014, 15:26
Хочу получить случайным образом одно из четырех значений (0,15, 0,5, 1, 5) с определенной вероятностью для каждого. 2,72% для 5, 14,97% для 1, 32,93% для 0,5 и 49,38% для 0,15.
А для нормального криптостойкого ГПСЧ 20 тысяч чисел это мало. Я же сразу и написал, что в теории. То есть, периодичность будет неизбежно, но длина периода может быть очень велика.
Хочу получить случайным образом одно из четырех значений (0,15, 0,5, 1, 5) с определенной вероятностью для каждого. 2,72% для 5, 14,97% для 1, 32,93% для 0,5 и 49,38% для 0,15.
А для нормального криптостойкого ГПСЧ 20 тысяч чисел это мало. Я же сразу и написал, что в теории. То есть, периодичность будет неизбежно, но длина периода может быть очень велика.vospa
Сообщение отредактировал vospa - Воскресенье, 13.07.2014, 15:21
Хочу получить случайным образом одно из четырех значений (0,15, 0,5, 1, 5) с определенной вероятностью для каждого. 2,72% для 5, 14,97% для 1, 32,93% для 0,5 и 49,38% для 0,15.
Хочу получить случайным образом одно из четырех значений (0,15, 0,5, 1, 5) с определенной вероятностью для каждого. 2,72% для 5, 14,97% для 1, 32,93% для 0,5 и 49,38% для 0,15.
Ну, как вариант. Меня и мой вариант полностью устраивает, первоначальный вопрос же не об этом. Вместо этой формулы можно и просто вбить во все ячейки СЛЧИС(). Вопрос в том, можно ли обойтись без отдельного массива для подсчета определяемого другой формулой количества ячеек с функцией СЛЧИС().
Ну, как вариант. Меня и мой вариант полностью устраивает, первоначальный вопрос же не об этом. Вместо этой формулы можно и просто вбить во все ячейки СЛЧИС(). Вопрос в том, можно ли обойтись без отдельного массива для подсчета определяемого другой формулой количества ячеек с функцией СЛЧИС().vospa
Вот они как раз и определяют необходимое для суммирования количество ячеек со случайными значениями. Ну а если о физическом смысле, то все выглядит примерно так. Есть определенная виртуальная денежная сумма. На эти деньги можно купить определенное количество виртуальных жемчужных ферм (в моем примере стоимость 1 такой фермы равна 10 уе). В каждой такой ферме есть 5 жемчужниц. Сбор урожая 1 раз в сутки. Каждая жемчужница может рандомно выдать один из 4 типов жемчужин. Стоимость которых 0,15, 0,5, 1 и 5 уе, соответственно. Собственно, формула в теле темы как раз и описывает полностью одну такую ферму. Полученные жемчужины можно продать и на вырученные средства докупить новые фермы. И так многократно, пока остаток не окажется меньше 10 уе. На следующий день все повторяется. Открываем все жемчужницы, собираем урожай, докупаем новые фермы. По условиям, в моем примере, покупать можно 3 дня. А "живут" жемчужницы 6 дней, после чего исчезают. Но условия могут быть и другими. Шансы в первый день сбора и в последний, отличаются от шансов остальных дней.
Вот, собственно, таков "физический" смысл. То, что я сделал в прикрепленном файле, работает. Охотно допускаю, что я там много чего нагородил лишнего, но таки все работает. А вопрос мой был, можно ли обойтись без отдельного массива. Так как уже не раз сталкивался с необходимостью суммирования большого количества случайных чисел, меняющихся при пересчете. Просто это один из примеров.
Вот они как раз и определяют необходимое для суммирования количество ячеек со случайными значениями. Ну а если о физическом смысле, то все выглядит примерно так. Есть определенная виртуальная денежная сумма. На эти деньги можно купить определенное количество виртуальных жемчужных ферм (в моем примере стоимость 1 такой фермы равна 10 уе). В каждой такой ферме есть 5 жемчужниц. Сбор урожая 1 раз в сутки. Каждая жемчужница может рандомно выдать один из 4 типов жемчужин. Стоимость которых 0,15, 0,5, 1 и 5 уе, соответственно. Собственно, формула в теле темы как раз и описывает полностью одну такую ферму. Полученные жемчужины можно продать и на вырученные средства докупить новые фермы. И так многократно, пока остаток не окажется меньше 10 уе. На следующий день все повторяется. Открываем все жемчужницы, собираем урожай, докупаем новые фермы. По условиям, в моем примере, покупать можно 3 дня. А "живут" жемчужницы 6 дней, после чего исчезают. Но условия могут быть и другими. Шансы в первый день сбора и в последний, отличаются от шансов остальных дней.
Вот, собственно, таков "физический" смысл. То, что я сделал в прикрепленном файле, работает. Охотно допускаю, что я там много чего нагородил лишнего, но таки все работает. А вопрос мой был, можно ли обойтись без отдельного массива. Так как уже не раз сталкивался с необходимостью суммирования большого количества случайных чисел, меняющихся при пересчете. Просто это один из примеров.vospa
Еще раз уточните вопрос пожалуйста. Желательно как-то поконкретнее, на ячейках. Типа "Сейчас у меня формула в ячейке ... считает вот так, а хочу, чтобы считала вот так". А то меня что-то гнетут смутные сомнения, что я решаю немного другую задачу.
Ок. Сразу оговорюсь, вроде бы считает все правильно. Вопрос в другом. Берем, к примеру, ячейку Н5. В ней подсчитывается сумма ячеек на втором листе В21:В24. Почему начиная с 21? Потому что первые 20 ячеек второго листа уже использовались для суммирования в ячейке Е5. И так далее. Вопрос стоит таким образом. Существует ли способ суммирования ячеек со случайными значениями без создания отдельного массива заполненного этими случайными числами меняющимися при пересчете? То есть, возможно ли создание такого виртуального массива, без создания его на странице? К примеру, при вычислении в ячейке Е5, создается массив из 20 ячеек, при вычислении в ячейке Н5 создается массив из 4 ячеек и так далее. Надеюсь, что внятно выразился
Еще раз уточните вопрос пожалуйста. Желательно как-то поконкретнее, на ячейках. Типа "Сейчас у меня формула в ячейке ... считает вот так, а хочу, чтобы считала вот так". А то меня что-то гнетут смутные сомнения, что я решаю немного другую задачу.
Ок. Сразу оговорюсь, вроде бы считает все правильно. Вопрос в другом. Берем, к примеру, ячейку Н5. В ней подсчитывается сумма ячеек на втором листе В21:В24. Почему начиная с 21? Потому что первые 20 ячеек второго листа уже использовались для суммирования в ячейке Е5. И так далее. Вопрос стоит таким образом. Существует ли способ суммирования ячеек со случайными значениями без создания отдельного массива заполненного этими случайными числами меняющимися при пересчете? То есть, возможно ли создание такого виртуального массива, без создания его на странице? К примеру, при вычислении в ячейке Е5, создается массив из 20 ячеек, при вычислении в ячейке Н5 создается массив из 4 ячеек и так далее. Надеюсь, что внятно выразился vospa
Сообщение отредактировал vospa - Воскресенье, 13.07.2014, 17:58
Если я правильно понял, то что-то вроде этого пойдет?
Ухх... спасибо, пошел переваривать. Не уверен, что это то, что меня интересовало, но в любом случае будет полезно для меня. Ибо я только недавно стал вникать в возможности экселя. Переварю, отпишусь. И если это окажется не то, попытаюсь еще более внятно сформулировать вопрос.
Если я правильно понял, то что-то вроде этого пойдет?
Ухх... спасибо, пошел переваривать. Не уверен, что это то, что меня интересовало, но в любом случае будет полезно для меня. Ибо я только недавно стал вникать в возможности экселя. Переварю, отпишусь. И если это окажется не то, попытаюсь еще более внятно сформулировать вопрос.vospa
Это то я сразу понял. Я очень долго тормозил и не мог понять, зачем мне еще один вариант суммы 4 случайных чисел. Не говоря про 3 растянутых столбца. Только ночью дошло, что это и есть нужный мне виртуальный массив Спасибо огромное. Красиво, элегантно. Надеюсь, что в том, как сделать, чтобы каждый элемент массива принимал дискретное значения, я уже сам разберусь. Еще раз, большое спасибо
Это то я сразу понял. Я очень долго тормозил и не мог понять, зачем мне еще один вариант суммы 4 случайных чисел. Не говоря про 3 растянутых столбца. Только ночью дошло, что это и есть нужный мне виртуальный массив Спасибо огромное. Красиво, элегантно. Надеюсь, что в том, как сделать, чтобы каждый элемент массива принимал дискретное значения, я уже сам разберусь. Еще раз, большое спасибо vospa
Однако... Прикрутить это к моей первоначальной задаче у меня никак не получается. Попробую еще раз ее сформулировать с учетом уточнений. Нужно суммировать не просто массив случайных чисел, а массив чисел, которые принимают дискретное значение с определенной вероятностью. Я тут уже несколько дней пытался самостоятельно разобраться, но, видимо, не хватает знаний...
Еще раз хочу поблагодарить за элегантное решение, которое я использовал в нескольких задачах:
Однако... Прикрутить это к моей первоначальной задаче у меня никак не получается. Попробую еще раз ее сформулировать с учетом уточнений. Нужно суммировать не просто массив случайных чисел, а массив чисел, которые принимают дискретное значение с определенной вероятностью. Я тут уже несколько дней пытался самостоятельно разобраться, но, видимо, не хватает знаний...vospa