단일 셀에서 여러 randbetween() 결과의 빈도를 추적하는 방법

단일 셀에서 여러 randbetween() 결과의 빈도를 추적하는 방법

Excel 또는 LibreOffice Calc를 사용하여 대량의 주사위 굴림을 시뮬레이션하려고 합니다. 나는 찾을 수 있었다여기생성할 숫자 수와 숫자 생성 범위를 지정하는 값을 기반으로 여러 난수를 생성한 다음 합계를 더하는 수식:

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

이와 같이 '주사위'의 합을 계산하는 대신, 내가 하려는 것은 특정 결과가 몇 번이나 나타나는지 보여주는 출력을 얻는 것입니다(예: 1이 얼마나 자주 굴리는지).

셀의 열이나 행에서 발생하는 값의 빈도를 확인하려는 경우 이를 수행하기 위해 다양한 카운트 함수를 사용하는 방법을 알고 있지만, 셀 내에서 생성된 숫자 집합에 대해 이 작업을 수행하는 방법을 알 수 없습니다. 그 단세포.

이것이 가능합니까? 어떤 도움이라도 대단히 감사하겠습니다.


(희망적으로) 더 명확하게 편집하십시오.

예를 들어 위 함수는 다음과 같은 결과를 생성합니다.

여기에 이미지 설명을 입력하세요

굴릴 주사위 수(A2)와 주사위의 면 수(B2)를 지정할 수 있습니다(그림에도 상수 수정자가 포함되어 있지만 여기서는 이에 대해 신경쓰지 않습니다). 단일 셀(이미지의 E1)은 해당 매개변수 내에서 여러 개의 난수를 생성하고 그 합계를 모두 나열합니다. 따라서 이미지에서는 1과 3 사이의 2개의 숫자를 생성하고 2의 상수 수정자를 추가하여 7이 되었습니다.

내가 알아내려고 하는 것은 E1 셀 출력이 특정 값이 생성된 횟수를 나타내는 방법입니다. 따라서 예에서 7이라는 출력을 얻으려면 무작위로 생성된 두 숫자가 2와 3이어야 합니다. 제가 하고 싶은 것은 E1의 출력이 얼마나 자주 동일해지기를 원하는지 지정하는 방법을 알아내는 것입니다. 3이 생성되었으므로 이 예에서는 E1 셀이 1을 읽습니다.


편집 2:
따라서 #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

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

이것이 제가 찾던 결과입니다. 후자의 COUNTIF 조건도 변경될 수 있습니다. 예를 들어 1이 얼마나 자주 발생하는지 추적하는 대신 마지막 조건으로 "<=2"를 입력하면 셀은 굴러가는 1 또는 2의 총 개수를 출력합니다.

편집: 추가 테스트에서 난수를 1개만 생성할 때 오류가 발생하는 것 같습니다. 따라서 완벽한 솔루션은 아니지만 제 목적에는 충분합니다.

관련 정보