정해진 규칙 없이 랜덤한 숫자를 추출해야 하는 경우가 있습니다. 이를 테면 복권 번호 조합을 만들거나 특정 데이터의 순서를 무작위로 정렬해야 하는 경우가 이에 해당할 것 입니다.
랜덤한 숫자를 추출하는 방식은 별도의 프로그램을 사용하거나 프로그래밍 언어를 통해 진행할 수 있습니다.
하지만 일반적으로 업무에 자주 활용되는 엑셀을 사용하면 아래의 세가지 함수를 통해 특정 숫자 사이의 값을 랜덤하게 추출할 수 있습니다.
RAND
: 0과 1 사이의 랜덤 숫자 추출RANDBETWEEN
: 특정 숫자 사이의 정수로 된 랜덤 숫자 추출RANDARRAY
: 배열 형태로 여러 개의 랜덤 숫자 추출
그래서 오늘은 Excel 엑셀에서 RAND, RANDBETWEEN 그리고 RANDARRAY 함수로 랜덤 숫자를 추출하는 방법에 대해서 알아 봅니다.
튜토리얼 환경 : 윈도우11, 마이크로소프트 365 엑셀 2022
RAND
RAND 함수를 사용하면 별도의 조건 없이 0 과 1 사이의 랜덤 숫자를 반환합니다.
구문
RAND 함수의 기본적인 구문은 아래와 같습니다.
=RAND()
사용법
RAND 함수의 기본적인 사용법과 조금 응용해서 사용하는 법을 간단하게 알아봅니다.
기본
RAND 함수를 이용해 0 과 1 사이의 소수를 반환합니다.
아래 함수를 난수를 반환할 셀에 입력하면, 0.218159와 같은 0 과 1 사이의 소수 값이 출력됩니다.
=RAND()
만약 =RAND()
함수를 여러 셀에 동시에 입력하면 난수가 해당 셀들에 모두 반환됩니다.
응용
RAND 함수를 이용해 0 과 1 사이의 실수가 아닌 특정 숫자 사이의 난수를 만들 수도 있습니다.
아래 함수를 난수를 반환할 셀에 입력하면 10과 20사이의 랜덤 숫자를 반환합니다. F9 키를 눌러 새로 계산하면 다른 난수를 반환하고 이를 반복하면 계속 새로운 랜덤 숫자가 반환됩니다.
=RAND()*(20-10)
RANDBETWEEN
RANDARRAY함수는 배열 형태로 난수를 구해주는 동적 배열1 함수입니다.
RANDBETWEEN 함수를 사용해 지정한 두 개의 숫자를 인수로 지정 하면 해당 숫자 사이의 정수로 된 랜덤 숫자를 반환합니다.
구문
RANDBETWEEN 함수의 기본적인 구문은 아래와 같습니다.
=RANDBETWEEN(bottom, top)
인수는 다음과 같습니다.
bottom
: 시작하는 값top
: 끝나는 값
사용법
RANDBETWEEN 함수의 기본적인 사용방법은 아래와 같습니다.
아래 함수를 난수를 반환할 셀에 입력하면 인수로 지정 된 1과 100사이의 정수 값이 출력됩니다.
=RANDBETWEEN(1,100)
만약 =RANDBETWEEN(1,100)
함수를 여러 셀에 동시에 입력하면 난수가 해당 셀들에 모두 반환됩니다.
RANDARRAY
앞서 설명한 RAND 와 RANDBETWEEN 은 한번에 하나의 결과만 얻을 수 밖에 없는데 RANDARRAY 를 사용하면 여러개의 랜덤 숫자를 생성할 수 있습니다.
참고: RANDARRAY 함수는 Windows 에서 Microsoft 365 또는 Excel 2021 이후 버전부터 사용할 수 있으며 macOS 는 Excel 2021 또는 Mac용 M365 사용자에게만 제공됩니다.
구문
RANDARRAY 함수의 기본적인 구문은 아래와 같습니다.
=RANDARRAY([행],[열],[최소],[최대],[정수])
인수는 다음과 같으며 모두 선택인수이기 때문에 생략시 기본적으로 할당 된 기본값이 인수로 적용됩니다.
행
: 반환 될 행의 개수이며, 생략 시 기본값은1
로 인식열
: 반환 될 열의 개수이며, 생략 시 기본값은1
로 인식최소
: 반환하려는 최소 숫자이며, 생략 시 기본값은0
으로 인식최대
: 반환하려는 최대 숫자이며, 생략 시 기본값은1
로 인식정수
:TRUE
(정수를 반환) 또는FALSE
(소수를 반환)를 지정하고 생략 시 기본값은FALSE
로 인식(예: 3.42의 정수 부분은 3, 소수 부분은 0.42 입니다.)
참고: 최소 수 인수는 최대 수보다 작아야 합니다. 그렇지 않으면RANDARRAY
가#VALUE!
오류를 반환합니다. 엑셀 오류와 해결 방법 알아보기
사용법
RANDARRAY 함수와 인수를 이용해 다양한 결과를 반환할 수 있으며 이해를 돕기위해 여러가지 상황에 맞는 활용법을 구분해 정리합니다.
인수없이 사용
아무 인수 없이 사용하면 다음과 같이 0과 1사이의 소수를 구할 수 있습니다.
아래 함수를 난수를 반환할 셀에 입력하면 위와 같은 결과를 반환합니다
=RANDARRAY()
인수를 지정하지 않았다면 0.03685906 과 같이 기존의 RAND함수와 동일한 결과를 반환합니다.
5행 1열, 0부터 1사이의 소수 구하기
5행 1열, 0부터 1사이의 소수 구하기와 같이 여러 행에 소수를 구할 수 있습니다.
아래 함수를 난수를 반환할 셀에 입력하면 위와 같은 결과를 반환합니다
=RANDARRAY(5)
5행 3열, 0부터 1사이의 소수 구하기
5행 3열, 0부터 1사이의 소수 구하기와 같이 여러 행과 열에 소수를 구할 수 있습니다.
아래 함수를 난수를 반환할 셀에 입력하면 위와 같은 결과를 반환합니다.
=RANDARRAY(5,3)
첫번째 인수 행 값에는 5
, 두 번째 인수 열 값에는 3
을 입력했으므로 최소 와 최대 그리고 정수 선택 옵션이 지정 되지 않아 모두 기본값이 적용 되니 5행 3열의 배열 형태로 소수가 구해집니다.
5행 3열, 7부터 10사이의 소수 구하기
5행 3열, 7부터 10사이의 소수 구하기와 같이 여러 행과 열에 특정 범위의 소수를 구할 수 있습니다.
아래 함수를 난수를 반환할 셀에 입력하면 위와 같은 결과를 반환합니다
=RANDARRAY(5,3,7,10,FALSE)
첫번째 인수 행 값에는 5
, 두 번째 인수 열 값에는 3
을 입력 해 5행 3열의 배열 형태를 반환합니다.
추가적으로 최소에 7
, 최대에 10
그리고 FALSE
인수에 따라 7
과 10
사이의 소수
를 반환합니다.
5행 3열, 70부터 190사이의 정수 구하기
5행 3열, 70부터 190사이의 정수 구하기와 같이 여러 행과 열에 지정한 값 사이의 정수를 구할 수 있습니다.
아래 함수를 난수를 반환할 셀에 입력하면 위와 같은 결과를 반환합니다.
=RANDARRAY(5,3,70,190,TRUE)
첫번째 인수 행 값에는 5
, 두 번째 인수 열 값에는 3
을 입력 해 5행 3열의 배열 형태를 반환합니다.
추가적으로 최소에 70
, 최대에 190
그리고 TRUE
인수에 따라 70
과 190
사이의 정수
를 반환합니다.
주의사항
결과가 반환되는 영역에 이미 다른 값이 존재한다면 결과를 가져오지 못하고 #SPILL!
오류가 발생합니다. 동적 배열 형태로 결과를 가져올 때는 가져올 범위에 아무것도 없이 비어진 상태여야 합니다.
마무리
이렇게, Excel 엑셀에서 RAND, RANDBETWEEN 그리고 RANDARRAY 함수로 랜덤 숫자를 추출하는 방법에 대해 알아 보았습니다.
세가지 함수를 설명했지만 일반적으로는 RAND 함수만 사용해 도 중복없는 값을 얻을 수 있습니다.
비슷 비슷해 보이지만, 발생되는 난수의 숫자 범위, 형식 등에 차이가 있으므로 생성하고자 하는 난수의 종류에 따라 알맞은 방법을 찾아 적용합니다.