무지개타고

엑셀 수식으로 중복되지 않게 로또 번호 무작위로 생성하기 본문

Program

엑셀 수식으로 중복되지 않게 로또 번호 무작위로 생성하기

OnRainbow 2023. 2. 2. 21:03

엑셀에서 임의의 난수를 무작위로 생성하는 방법은 쉽다.

Rand, RandBetween 함수를 사용하면 된다.

로또 번호는 정수니까 RandBetween 함수가 좀 더 편하다.

 

그런데...

RandBetween 함수가 편리한 함수이지만

앞서 생성한 수를 다시 생성할 수도 있다.

이를 통계학에서는 복원추출이라고 한다.

주머니에서 공 하나를 뽑고

그 뽑은 공을 주머니에 돌려 넣고

주머니에서 공 하나를 다시 뽑는 경우다.

그래서 같은 번호가 또 뽑힐수 있다.

 

a2 (복원추출)

=RANDBETWEEN(1,45)

 

그러나 로또는 공을 중복해서 뽑지 않기 때문에

이미 뽑힌 공은 주머니에 다시 넣지 않고

주머니에 남아있는 공에서 새롭게 공을 뽑는다.

이를 통계학에서는 비복원추출이라고 한다.

 

이를 만족하려면 아래처럼 조금 복잡한 수식이 필요하다.

배열수식이므로 입력시 Ctrl, Shift, Enter 키를 동시에 눌러야 한다.

 

d2 (비복원추출)

=INDEX(ROW($1:$45),
  MATCH(RAND(),
            1/(45-ROWS($1:1)+1)*MMULT(1*(ROW($1:$45)>TRANSPOSE(ROW($1:$45))),1-COUNTIF(D$1:D1,ROW($1:$45))),
            1))

 

Comments