업무를 진행하다 보면 난수라는 것이 필요할 때가 있다. 난수(random number)는 무작위로 생성되는 임의의 숫자를 말하는데 표본을 추출하거나 복권번호를 만들 때 사용할 수 있다. 엑셀에서는 다음 2가지 함수를 이용하여 난수를 구할 수 있다.
- RAND - 0과 1 사이의 난수를 구해준다.
- RANDBETWEEN - 숫자사이의 정수 난수를 구해준다.
함수명의 RAND는 RANDOM을 줄여서 쓴 것이다. 그래서 난수생성함수를 랜덤함수라고 부르기도 한다.
1. RAND
RAND()
0이상 1미만의 실수인 난수를 반환한다.
인수 : RAND 함수는 인수가 필요없다
엑셀시트의 아무 셀에 다음을 입력해 보자.
=RAND()
0.1482과 같은 값이 출력된다.
이번에는 =RAND() 함수를 다음 그림과 같이 여러개 동시에 입력해 보자.
전부 다른 값이다. RAND함수는 무작위로 임의의 값을 구해 주므로 다른 값이 출력된다. 엄밀히 말하면 전부 다르지 않을 수 있다. 확율적으로는 같은 값이 나올 확율은 있지만 매우 낮은 것이다.
"F9(지금 계산)" 키를 눌러보자. 값이 바뀐다. F9키는 시트의 계산을 다시 수행한다.
시트의 계산이 새로 수행되거나 시트가 변경될때(다른 셀의 값이 바뀔때) RAND함수는 다시 수행되어 다른 값이 출력된다.
따라서 계산된 값을 그대로 유지하고 싶으면 다음과 그림과 같이 셀을 복사해서 붙여넣기 옵션에서 두번 째인 "값"을 선택하면 값만 붙여 넣어지고 시트가 변경되어도 값이 유지된다.
응용하기
숫자 a와 b사이의 난수를 만드는 방법은 다음과 같다.
=RAND()*(b-a)+a
그럼 위 식을 이용해서 10과 20사이의 난수를 구해보자.
=RAND()*(20-10)+10
F9키를 계속 눌러보면
19.07861909
10.30826492
17.75297495
...
과 같은 값이 구해진다.
2. RANDBETWEEN
RANDBETWEEN(bottom, top)
숫자사이의 정수 난수를 반환한다.
인수 :
– bottom : 시작 값
– top : 끝 값
엑셀시트의 아무 셀에 다음을 입력해 보자.
=RANDBETWEEN(1,100)
1과 100사이의 정수 값이 출력된다.
이번에는 RANDBETWEEN(1,100) 함수를 다음 그림과 같이 여러개 동시에 입력해 보자.
그런데 동그라미 표시한 것과 같이 같은 값이 출력된다. 1과 100사이의 난수를 출력하는 경우이므로 확율적으로 같은 값이 출력될 수 있다. 따라서 이 함수를 사용할 때는 이러한 특성을 감안하고 사용해야 한다.
"F9(지금 계산)" 키를 눌러보자. 값이 바뀐다. F9키는 시트의 계산을 다시 수행한다.
시트의 계산이 새로 수행되거나 시트가 변경될때(다른 셀의 값이 바뀔때) RAND함수와 마찬가지로 RANDBETWEEN함수도 다시 수행되어 다른 값이 출력된다.
따라서 계산된 값을 그대로 유지하고 싶으면 셀을 복사해서 붙여넣기 옵션에서 두번 째인 "값"을 선택하면 값만 붙여 넣어지고 시트가 변경되어도 값이 유지된다.
[ 수학 및 삼각 함수 ]
- 엑셀에서 SUMIFS 함수로 월별 합계 구하기
- 엑셀함수 SUBTOTAL - 목록이나 데이터베이스의 부분합(집계결과) 구하기
- 엑셀함수 EVEN - 가장 가까운 짝수로 올림,내림하기
- 엑셀함수 ODD - 가장 가까운 홀수로 올림,내림하기
- 엑셀함수 GCD - 최대공약수 구하기
- 엑셀함수 LCM - 최소공배수 구하기
- 엑셀함수 SEQUENCE - 연속된 숫자목록 만들기
- 엑셀함수 SIGN - 수의 부호 구하기
- 엑셀함수 MMULT - 두 배열의 행렬 곱 구하기
- 엑셀함수 MINVERSE - 정방행렬의 역행렬 구하기
- 엑셀함수 MDETERM - 배열의 행렬식 구하기
- 엑셀함수 TRUNC - 숫자에서 지정된 자릿수까지만 남기기(절사하기)
- 엑셀함수 POWER – 숫자의 거듭제곱 구하기
- 엑셀함수 PI(파이) - 원주율 구하기
- 엑셀함수 FACT - 팩토리얼(계승값) 구하기
- 엑셀함수 INT - 숫자를 가장 가까운 정수로 내림하기
- 엑셀함수 SQRT - 양의 제곱근 구하기
- 엑셀함수 LOG,LOG10,LN - 로그값 구하기
- 엑셀함수 EXP - 상수 e를 지수만큼 거듭제곱하기
- 엑셀함수 BASE - 10진수를 다른 진수로 바꾸기
- 엑셀함수 MROUND - 배수값으로 숫자 반올림하기
- 엑셀함수 CEILING, FLOOR - 배수값으로 숫자 올림,내림하기
- 엑셀에서 난수 구하기 - RAND, RANDBETWEEN 함수
- 엑셀에서 몫과 나머지 구하기 - QUOTIENT, MOD 함수
- 엑셀에서 숫자 반올림,올림,내림하기 - ROUND, ROUNDUP, ROUNDDOWN
- 엑셀함수 ABS - 절대값 구하기
- 엑셀함수 SUMPRODUCT - 숫자를 모두 곱하고 합계 구하기
- 엑셀함수 PRODUCT - 숫자를 모두 곱하기
- 엑셀함수 SUMIFS - 여러 조건을 만족하는 범위의 합계구하기
- 엑셀함수 SUMIF - 조건을 만족하는 범위의 합계구하기
- 엑셀함수 SUM - 합계구하기