본문 바로가기
IT 정보

로또번호 추출기 - 엑셀 함수 이용(중복제외시키기)

by aqua_ 2019. 12. 12.

이번 시간에는 엑셀 함수를 이용한 로또번호 추출기를 만들어 보겠습니다. 

지난 포스팅에서도 RANDBETWEEN(시작번호, 끝번호) 엑셀 함수를 이용한 로또번호 추출기를 만들어 보았는데요. 랜드비트윈 함수는 간단하지만 중복 숫자를 제외시키지 못하는 큰 단점이 존재했었습니다.

 

그래서 이번 시간에는 RAND 함수와 RANK 함수를 이용한 중복된 숫자없이 번호를 추출해 보겠습니다. 

 

RAND() 함수는 0보다는 크고 1보다 작은 실수값인 난수(random number)를 생성합니다.

 

RANK() 함수는 함수이름에서 알 수 있듯이 순위를 정하는 함수입니다. 그럼 이 두개의 함수를 가지고 엑셀에서 로또번호를 어떻게 생성시키는지 알려드리겠습니다.

 

엑셀을 실행 시킨 후 A행 3열부터 1에서 45까지의 숫자를 A행에 채워 넣습니다.

 

 

728x90

 

 

자동으로 5게임 한다고 가정하고 아래 그림처럼 RAND값과 RANK(순위)값이 들어갈 행을 만들어줍니다.

 

 

 

B3셀에 =rand() 라고 입력하고 엔터키를 누르면 실수값이 생성됩니다.

 

 

 

우측 하단 모서리에 +포인트를 45번까지 아래로 드래그합니다. 1부터 45까지 실수값인 난수가 생성이 되어 입력되었습니다.

 

 

 

 

이 실수값으로는 로또번호를 생성할 수 없습니다. 

이때 필요한것이 RANK(순위) 함수로 1부터 45까지 순위를 매겨서 그 순위를 로또번호로 대신하게 됩니다. 

 

결국 난수(random number)를 이용한 랜던 순위로 로또 번호를 추출하는 방식입니다. 

 

 

 

그럼 RANK 함수로 순위를 매겨 보겠습니다.

 

RANK 함수는 RANK(Number, Ref, [order])의 인수로 구성되어 있습니다. 

Number 는 순위를 구하려는 수, Ref 는 범위지정(셀영역), [order]는 옵션으로 내림차순은 0, 0이외는 오름차순입니다.

 

 

 

 

RAND값의 순위 범위를 B3부터 B47 까지의 설정해야합니다. B3의 값에 =RANK(B3, $B$3:$B$47,0) 을 입력해줍니다.

 

 

RAND 함수처럼 마우스 드래그로 빈셀의 순위를 넣어주면 1부터 45까지 순위가 매겨집니다.

 

 

 

그럼 자동2부터 자동5까지 이런 방법으로 빈셀들을 채워보겠습니다.

 

 

 

자동 2의 E3 에는 =RANK(D3, $D$3:$D$47,0)

자동 3의 G3 에는 =RANK(F3, $F$3:$F$47,0)

자동 4의 I3 에는 =RANK(H3, $H$3:$H$47,0)

자동 5의 K3 에는 =RANK(J3, $J$3:$J$47,0) 

 

입력 후 마우스 아래로 드래그로 빈셀들을 다 채워줍니다. 이제 다 완성되었습니다.

 

원하는 셀의 영역 6개를 지정해줍니다. 저는 아래 그림처럼 셀 6개 지정 후 셀의 색상을 다른 색상으로 채워주면 눈에 잘 들어옵니다. 셀영역은 그날 그날 변경하시면 됩니다.

 

 

 

그럼 키보드의 F9를 눌러 보겠습니다. F9를 누를때마다 난수(random number)가 바뀌면서 RANK 값의 순위가 변경됩니다. 

 

도움이 되셨다면 아래 공감 버튼 한번씩 눌러 주시면 블로그 운영에 큰힘이 됩니다. 

 

 

 

 

728x90

댓글