Como rastrear a frequência de vários resultados randbetween() em uma única célula

Como rastrear a frequência de vários resultados randbetween() em uma única célula

Estou tentando simular uma grande quantidade de lançamentos de dados usando Excel ou LibreOffice Calc. Eu consegui encontraraquiuma fórmula para gerar vários números aleatórios com base em valores que especificam quantos números gerar e o intervalo de geração de números e, em seguida, adiciona o total:

=SUM(RANDBETWEEN(1,(ROW(INDEX($A:$A,1):INDEX($A:$A,$A2))<=$A2)*$B2))

Em vez de calcular a soma dos 'dados', o que estou tentando fazer é obter uma saída que mostre quantas vezes um resultado específico ocorre, por exemplo, com que frequência um 1 é lançado.

Embora eu saiba como usar as várias funções de contagem para fazer isso se estiver tentando determinar a frequência de um valor que ocorre em uma coluna ou linha de células, não consigo descobrir como fazer isso para o conjunto de números gerado dentro aquela única célula.

Isso é possível? Qualquer ajuda seria muito apreciada.


Edite para (espero) maior clareza:

Então, por exemplo, a função acima produz um resultado como este:

insira a descrição da imagem aqui

Isso me permite especificar o número de dados a serem lançados (em A2) e o número de lados dos dados (em B2) (a imagem também inclui um modificador constante, mas não estou preocupado com isso aqui), e então em uma única célula (E1 na imagem) gera vários números aleatórios dentro desses parâmetros e lista a soma de todos eles. Então, na imagem, gerou 2 números entre 1 e 3, e adicionou modificador constante de dois, resultando em 7.

O que estou tentando descobrir é como fazer com que a saída da célula E1 indique quantas vezes um valor específico foi gerado. Portanto, no exemplo, para obter a saída 7, os dois números gerados aleatoriamente deveriam ser 2 e 3. O que espero fazer é descobrir uma maneira de especificar que desejo que a saída de E1 seja igual à frequência com que um 3 foi gerado, para que no exemplo a célula E1 lesse 1.


Edit2:
Então, quando eu insiro um valor #dice e #sides, a função escrita atualmente gera vários números aleatórios entre 1 e o valor #sides e gera sua soma. Se o valor #dice for 3, ele gera 3 números aleatórios e fornece a soma desses três números. Se eu alterar o valor #dice para 10, ele gerará 10 números aleatórios e fornecerá a soma deles. Em nenhum momento vejo os números gerados aleatoriamente, apenas a soma.

Não estou interessado na soma dos números aleatórios. Em vez disso, o que espero fazer é alterar a função para que ela rastreie a frequência com que um número específico é gerado ao gerar os números aleatórios.

Então, por exemplo, digamos que #dice seja 4 e #sides seja 6, e a função gere este conjunto de números: 1, 3, 5, 1. A solução que espero seria contar que um 1 foi gerado 2 vezes, e a saída da função seria 2. Se ela gerasse um conjunto de 4, 5, 1, 3, a saída seria 1. Um conjunto de 1, 1, 1, 2 teria uma saída de 3.

Assim como a função atual, a solução que espero encontrar na verdade não mostra os números gerados aleatoriamente, apenas a saída final - o número de vezes que um 1 foi gerado. Assim como uma fórmula de matriz de célula única para rastrear a frequência com que elas são geradas.

Responder1

=CONTARSE(ALEATÓRIO ENTRE(1,(LINHA(ÍNDICE($A:$A,1):ÍNDICE($A:$A,$A2))<=$A2)*$B2), 1)

Então isso faz o que eu estava procurando. A última condição CONT.SE também pode ser alterada, portanto, por exemplo, em vez de rastrear a frequência com que 1 ocorre, inserindo "<=2" como a última condição, a célula exibirá o número total de uns ou dois que são lançados.

editar: Em testes adicionais, isso parece produzir um erro ao gerar apenas 1 número aleatório. Claramente não é uma solução perfeita, mas é boa o suficiente para meus propósitos.

informação relacionada