1. 정의
0 이상 1 미만의 실수인 난수를 반환하는데, 워크시트를 계산할 때마다 새로운 난수가 반환되며, F9키를 눌러도 새로운 계산을 합니다.
1 이하가 아니라 미만인 점 주의해야 하며,
Random(무작위) 또는 Random Number(난수)를 생각하면 이해하기 쉽습니다.
2. 구문
가. rand()
괄호 안에 아무런 인수도 넣지 않습니다. Today 또는 Now함수의 경우와 같습니다.
나. rand()*(b-a)+a
a와 b사이의 난수를 구하려면 rand()*(b-a)+a 식으로 입력해야 합니다.
*b가 아니라 *(b-a)인 점 주의해야 하며,
마찬가지로 a이상 b미만의 난수를 발생시킵니다.
3. 사용 예
① rand()만 사용하는 경우
A1셀에 =rand()라고 입력하면 화면에는 0.070011이 보이는데, PC에 따라 값이 다릅니다.
㉮ 이 상태에서 F9를 누르면 값이 계속 바뀝니다.
㉯ 다른 셀에 수식을 작성한 후 엔터 키를 눌러도 A1셀의 값이 달라집니다.
㉰ A1셀 또는 A3셀에서 F2(편집) 키를 누르거나, 수식 입력 줄에 커서를 놓고 엔터 키를 눌러도 값이 바뀝니다.
아래는 A3셀에서 F2키를 누른 상태로 엔터 키를 누르면
값이 바뀝니다.
② 두 숫자 사이의 난수를 구하고자 하는 경우
80에서 100 사이의 난수를 발생시키려면
=rand()*(100-80)+80이라고 입력해야 합니다.
위와 같이 입력하면 80 이상 100 미만의 실수를 반환합니다.
아래와 같이 80 이상 100 미만인 91.49679가 구해졌습니다.
F9를 계속 눌러 확인해 보기 바랍니다.
또는 C1셀에 =b2>=100라고 입력하고 F9키를 계속 눌러보기 바랍니다.
이 수식은 100 이상인 숫자라면 True를 반환하고, 아니면 False를 반환하라는 의미입니다.
당연히 False가 반환됩니다.
③ 실수가 아닌 정수를 반환하고자 하는 경우
정수를 반환하는 Int함수를 사용하거나,
Round함수를 사용하는 경우는 반올림할 자릿수로 0을 입력합니다.
정수를 반환하려면 =rand()만 사용하면 rand함수의 결괏값이 0 이상 1 미만의 실수이기 때문에 무조건 0일 것이므로,
두 수 사이의 난수를 구하도록 한 다음 int함수 등과 결합해야 합니다.
=INT(RAND()*40+20)라고 입력하면 20 이상 (20+40)=60 미만의 정수를 반환합니다.
아래는 60미만의 58이 구해진 화면입니다.
아래 수식 =ROUND(RAND()*40+20,0)는 Round함수를 이용해 정수를 구하는 수식입니다.
int함수와 round함수 안의 수식은 모두 RAND()*40+20로 같은데, 매번 다른 난수를 발생시키기 때문에 B2셀과 C2셀의 값이 다릅니다.
'Excel' 카테고리의 다른 글
RandArray 함수 (0) | 2023.07.15 |
---|---|
RandBetween 함수 (0) | 2023.07.14 |
빠른 채우기 - 일정한 패턴에 따라 값을 분리하거나 합치기 (0) | 2023.07.06 |
And, Or, Not 함수 (3) | 2023.06.09 |
Vlookup함수 - 유사 일치 (0) | 2023.06.08 |