어제 오늘 내일

[Excel] 엑셀에서 랜덤함수로 난수생성하기 (정수) 본문

Tools/Excel

[Excel] 엑셀에서 랜덤함수로 난수생성하기 (정수)

hi.anna 2016. 10. 30. 06:30


지난 포스팅에는 

RAND() 함수를 이용하여

실수 범위의 난수를 생성하는 방법을 알아 보았다.

[Tools/Excel] - [Excel] 엑셀에서 랜덤함수로 난수생성하기 (실수)


이번에는 정수 범위의 난수를 생성하는 방법을 알아보도록 하겠다.



정수 범위의 난수를 생성하는 방법 여러가지가 있는데,

여기서는 

- RAND() 함수와 셀서식을 적용하는 방법

- RAND() 함수와 INT() 함수를 사용하는 방법

- RANDBETWEEN() 함수를 사용하는 방법

이렇게 세가지 방법에 대해서 알아보도록 하겠다.


결과는 비슷하지만, 

생성되는 난수의 범위가 조금씩 다르니 유의해야 한다.





아래 시트에 위에 소개한 세가지 방법으로 정수범위의 난수를 생성해 보도록 하겠다.

B열에는 RAND()함수를 이용하여 0이상 1미만의 실수를 미리 발생시켜 두었다.



RAND() 함수와 셀서식을 적용하는 방법

1. 셀서식을 적용할 영역을 선택한 후,

[마우스 오른쪽 - 셀서식] 메뉴를 선택하여,

해당 영역의 표시형식을 숫자, 소수 자릿수는 0으로 설정한다.


2. C열에 RAND() 함수를 적용하여 생성한 난수에 10을 곱해주는 수식을 입력한다.


RAND() * 10


다음과 같이 0~10까지의 정수단위의 난수가 생성된 것을 볼 수 있다.


* 주의할 점

- 셀서식을 적용할 경우, 지정한 소수 자릿수 이하에서 반올림 된 숫자가 보여지게 된다.

즉, B4*10 = 9.86313655이고, 이 숫자를 소수점 이하에서 반올림하면 10이 적용되게 되는 것이다.


- 여기서는 단지, 표시형식만 변경하였으므로, 셀에 입력된 숫자는 실제로는 실수이다.

따라서, C4열의 값과 C12열의 값은 모두 10이지만, 실제로 C4의 값은 9.86313655, C12의 값은 9.92348044이다.



RAND() 함수와 INT() 함수를 사용하는 방법

Int( number )

가장 가까운 정수로 내림하는 함수이다.


1. INT(RAND() * 10)

INT() 함수는 인수로 주어진 숫자의 소수점 이하 부분을 내림한다.

따라서, 위와 같이 INT(RAND() * 10)을 적용하게 되면

0~9 범위의 정수 난수를 만들어내게 된다.


D4셀을 예로 들어보면,

B4 * 10 = 9.86313655이고,

여기에 INT() 함수를 적용하면, INT(9.86313655) = 9이다.

RAND() 함수 자체가 1미만(즉, 1은 포함하지 않음)의 난수를 생성해 내므로,

INT(RAND() * 10)를 적용할 경우, RAND() * 10의 값은 최대 10을 넘을 수 없으므로,

여기에 소수점 이하의 값을 내림하는 INT()를 적용하면, 최대 9까지의 난수가 생성되는 것이다.



RANDBETWEEN() 함수를 사용하는 방법

RANDBETWEEN(bottom, top)

bottom과 top, 두 숫자 사이의 정수 난수를 생성한다.

bottom : 난수 범위의 시작 정수

top : 난수 범위의 종료 정수


1. RANDBETWEEN(0, 10)

위 식을 적용할 경우 0~10 사이의 정수 난수들을 발생 시킬수 있다.

특정 범위 내의 정수 난수를 발생시키고자 할 때 가장 간단한 방법이다.


여러가지 방법으로

엑셀에서 정수 형태의 난수를 발생시키는 방법을 알아보았다.

비슷비슷해 보이지만,

발생되는 난수의 숫자 범위, 형식 등에 차이가 있으므로

생성하고자 하는 난수의 종류에 따라 알맞은 방법을 찾아서 적용하도록 주의해야 한다.


반응형
Comments