%20%D0%B2%20%D0%BE%D0%B4%D0%BD%D0%BE%D0%B9%20%D1%8F%D1%87%D0%B5%D0%B9%D0%BA%D0%B5.png)
Я пытаюсь смоделировать большое количество бросков костей с помощью Excel или LibreOffice Calc. Мне удалось найтиздесьформула для генерации нескольких случайных чисел на основе значений, указывающих, сколько чисел нужно сгенерировать, и диапазона генерации чисел, а затем складывает общую сумму:
=SUM(RANDBETWEEN(1,(ROW(INDEX($A:$A,1):INDEX($A:$A,$A2))<=$A2)*$B2))
Вместо того чтобы вычислять сумму «костей», как это делается здесь, я пытаюсь получить вывод, показывающий, сколько раз выпадает определенный результат, например, как часто выпадает 1.
Хотя я знаю, как использовать различные функции подсчета, чтобы определить частоту появления значения в столбце или строке ячеек, я не могу понять, как сделать это для набора чисел, сгенерированных в этой одной ячейке.
Возможно ли это вообще? Любая помощь будет принята с благодарностью.
Отредактируйте для (надеюсь) большей ясности:
Так, например, функция выше дает такой результат:
Он позволяет мне указать количество кубиков для броска (в A2) и количество граней кубика (в B2) (на рисунке также есть постоянный модификатор, но меня это здесь не интересует), а затем в одной ячейке (E1 на изображении) он генерирует несколько случайных чисел в пределах этих параметров и выводит их сумму. Итак, на изображении он сгенерировал 2 числа от 1 до 3 и добавил постоянный модификатор два, что дало 7.
Я пытаюсь выяснить, как сделать так, чтобы выход ячейки E1 указывал, сколько раз было сгенерировано определенное значение. Так, в примере, чтобы получить этот выход 7, два случайно сгенерированных числа должны были быть 2 и 3. Я надеюсь выяснить, как указать, что я хочу, чтобы выход E1 был равен тому, как часто было сгенерировано 3, так что в примере ячейка E1 будет показывать 1.
Edit2:
Итак, когда я ввожу значение #dice и #sides, функция в том виде, в котором она написана сейчас, генерирует несколько случайных чисел от 1 до значения #sides и выводит их сумму. Если значение #dice равно 3, она генерирует 3 случайных числа и выдает сумму этих трех чисел. Если я изменю значение #dice на 10, она генерирует 10 случайных чисел и выдает их сумму. Ни в какой момент я не вижу случайно сгенерированных чисел, только сумму.
Меня не интересует сумма случайных чисел. Вместо этого я надеюсь изменить функцию так, чтобы она отслеживала, как часто генерируется определенное число, когда она генерирует случайные числа.
Например, предположим, что #кость равна 4, а #грани равны 6, и функция затем генерирует этот набор чисел: 1, 3, 5, 1. Решение, на которое я надеюсь, будет считать, что 1 была сгенерирована 2 раза, и выход функции будет 2. Если она сгенерирует набор из 4, 5, 1, 3, выход будет 1. Набор из 1, 1, 1, 2 будет иметь выход 3.
Как и текущая функция, решение, которое я надеюсь найти, на самом деле не показывает мне случайно сгенерированные числа, а только конечный вывод — количество раз, когда была сгенерирована 1. Так же, как формула массива с одной ячейкой для отслеживания того, как часто генерируются единицы.
решение1
=СЧЁТЕСЛИ(СЛУЧМЕЖДУ(1;(СТРОКА(ИНДЕКС($A:$A;1):ИНДЕКС($A:$A;$A2))<=$A2)*$B2), 1)
Итак, это то, что я искал. Последнее условие COUNTIF также можно изменить, например, вместо отслеживания того, как часто встречается 1, введя "<=2" в качестве последнего условия, ячейка выведет общее количество выпавших единиц или двоек.
edit: При дальнейшем тестировании это, похоже, выдает ошибку, когда генерируется только 1 случайное число. Так что, очевидно, это не идеальное решение, но для моих целей достаточно.