3

Скажем, у меня есть 1000 ячеек, заполненных случайными значениями, и определенная ячейка, которая вычисляет окончательный ответ на основе этих 1000 значений. Теперь я хочу отслеживать значение ответа в течение 1000 испытаний, т.е. я хочу знать более 1000 испытаний (например, 1000 раз нажать F9 для обновления чисел), каков диапазон / среднее значение / стандартное отклонение ответа, т. Е. Как многое меняется от одного испытания к другому.

Как я могу хранить / фиксировать результаты промежуточных симуляций / испытаний и иметь целостную оценку различной статистики окончательного ответа? Это вообще выполнимо в Excel без плагинов как таковых?

1 ответ1

1

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

"Удар F9" (ручной пересчет) используется очень редко, и нет встроенной формулы, которая будет выполнять процедурное действие, когда пользователь пересчитывает вручную. Предполагается, что Excel отлично работает с автоматическим вычислением, что и происходит, когда функции вашего рабочего листа являются идемпотентными, потому что вам нужно войти и изменить некоторые исходные данные (что в конечном итоге сводится к литералам, т. Е. Жестко закодированным числам или строкам). ) для запуска события пересчета.

Однако вы можете написать макрос VBA и связать его с горячей клавишей, которая будет одновременно пересчитывать и принимать старое значение (до пересчета) и сохранять его в постоянно растущем списке (строке или столбце) в другом месте в рабочий лист / рабочая тетрадь. Затем вы можете выполнять стандартные функции рабочего листа для расчета описательной статистики по заполненному массиву. Здесь мы не собираемся разрабатывать заранее готовое решение для вас, поэтому, если у вас есть конкретная проблема с каким-то кодом, который вы пытаетесь заставить работать, вам, вероятно, следует опубликовать его в StackOverflow, поскольку вопросы программирования не относятся к теме SuperUser и по теме для StackOverflow.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .