%20en%20una%20sola%20celda.png)
Estoy intentando simular una gran cantidad de tiradas de dados usando Excel o LibreOffice Calc. logré encontraraquíuna fórmula para generar múltiples números aleatorios basada en valores que especifican cuántos números generar y el rango de generación de números, y luego suma el total:
=SUM(RANDBETWEEN(1,(ROW(INDEX($A:$A,1):INDEX($A:$A,$A2))<=$A2)*$B2))
En lugar de calcular la suma de los 'dados' como lo hace esto, lo que intento hacer es obtener un resultado que muestre cuántas veces ocurre un resultado específico, por ejemplo, con qué frecuencia se lanza un 1.
Si bien sé cómo usar las diversas funciones de conteo para hacer esto si estuviera tratando de determinar la frecuencia de un valor que ocurre en una columna o fila de celdas, no puedo entender cómo hacer esto para el conjunto de números generados dentro esa única célula.
¿Es esto siquiera posible? Cualquier ayuda sería muy apreciada.
Edite para (con suerte) mayor claridad:
Entonces, por ejemplo, la función anterior produce un resultado como este:
Me permite especificar una cantidad de dados a tirar (en A2) y la cantidad de lados de los dados (en B2) (la imagen también incluye un modificador constante, pero eso no me preocupa aquí), y luego en una sola celda (E1 en la imagen) genera múltiples números aleatorios dentro de esos parámetros y enumera la suma de todos ellos. Entonces, en la imagen, generó 2 números entre 1 y 3, y agregó un modificador constante de dos, lo que resultó en 7.
Lo que estoy tratando de descubrir es cómo hacer que la salida de la celda E1 indique cuántas veces se generó un valor específico. Entonces, en el ejemplo, para obtener esa salida de 7, los dos números generados aleatoriamente tenían que haber sido 2 y 3. Lo que espero hacer es encontrar una manera de especificar que quiero que la salida de E1 sea igual a la frecuencia con la que Se generó 3, de modo que en el ejemplo la celda E1 leería 1.
Edit2:
Entonces, cuando ingreso un valor de #dados y #sides, la función tal como está escrita actualmente genera varios números aleatorios entre 1 y el valor de #sides, y genera su suma. Si el valor de #dice es 3, genera 3 números aleatorios y da la suma de esos tres números. Si cambio el valor de #dados a 10, genera 10 números aleatorios y da la suma de ellos. En ningún momento veo los números generados aleatoriamente, solo la suma.
No me interesa la suma de los números aleatorios. En cambio, lo que espero hacer es cambiar la función para que rastree la frecuencia con la que se genera un número específico cuando genera números aleatorios.
Entonces, por ejemplo, digamos que el #dado es 4 y los #lados son 6, y la función genera este conjunto de números: 1, 3, 5, 1. La solución que espero sería contar que se generó un 1. 2 veces, y la salida de la función sería 2. Si generara un conjunto de 4, 5, 1, 3, la salida sería 1. Un conjunto de 1, 1, 1, 2 tendría una salida de 3.
Al igual que la función actual, la solución que espero encontrar en realidad no me muestra los números generados aleatoriamente, solo el resultado final: la cantidad de veces que se generó un 1. Así como una fórmula de matriz de una sola celda para realizar un seguimiento de la frecuencia con la que se generan.
Respuesta1
=CONTAR.SI(RANDBETWEEN(1,(FILA(ÍNDICE($A:$A,1):ÍNDICE($A:$A,$A2))<=$A2)*$B2), 1)
Entonces esto hace lo que estaba buscando. La última condición de CONTAR.SI también se puede cambiar, por lo que, por ejemplo, en lugar de realizar un seguimiento de la frecuencia con la que ocurre 1, al ingresar "<=2" como última condición, la celda generará el número total de unos o dos que se obtienen.
editar: En pruebas adicionales, esto parece producir un error al generar solo 1 número aleatorio. Claramente no es una solución perfecta, pero sí lo suficientemente buena para mis propósitos.