엑셀 RANDBETWEEN
두 수 사이의 정수를 균등한 확률로 하나 — 추첨·테스트 데이터·시뮬레이션의 표준
RANDBETWEEN 수식 구조
bottom (최솟값)
반환 범위의 최솟값. 결과에 포함됨 (이상)
top (최댓값)
반환 범위의 최댓값. 결과에 포함됨 (이하)
RANDBETWEEN(1, 6)은 1·2·3·4·5·6 중 하나를 균등한 확률로 반환합니다. 휘발성(volatile) 함수로, 어떤 셀이 바뀌어도 다시 계산되어 값이 바뀝니다 — 값을 고정하려면 복사 후 "값으로 붙여넣기" 하세요.직접 굴려보세요
범위를 정한 뒤 굴리기 버튼을 누르세요. 100회 굴리면 분포가 거의 균등해지는 것을 확인할 수 있습니다
결과
57
엑셀에서는 F9 또는 다른 셀 수정시 자동 재계산
실전 활용 예제
=RANDBETWEEN(1, 100)가장 기본 — 1~100 사이 임의 정수. 추첨, 테스트, 더미 데이터 만들기의 시작.
=CHOOSE(RANDBETWEEN(1, 4), "봄", "여름", "가을", "겨울")랜덤 카테고리 — CHOOSE와 결합해 텍스트도 랜덤 뽑기. 더미 데이터셋의 부서·등급·옵션 채우기에 효과.
=RANDBETWEEN(20, 80)더미 나이 데이터 — 테이블 100행에 같은 수식을 채우면 한 번에 100명 분 나이 생성. 채용·인사 시뮬레이션에 활용.
=DATE(2024, RANDBETWEEN(1, 12), RANDBETWEEN(1, 28))랜덤 날짜 — 월·일에 RANDBETWEEN을 넣어 무작위 날짜 생성. 28까지만 쓰면 모든 달에서 유효.
다른 엑셀 함수도 알아보세요
RANDBETWEEN vs RAND — 차이와 변환 공식
▼
엑셀의 두 가지 랜덤 함수입니다. RAND는 0 이상 1 미만 실수를, RANDBETWEEN은 정수 범위를 반환합니다.
| 함수 | 반환값 | 범위 지정 | 예 |
|---|---|---|---|
| RAND() | 실수 | × | 0.4732… |
| RANDBETWEEN(a,b) | 정수 | ● | 7 |
RAND로 RANDBETWEEN 흉내내기: =INT(RAND()*(b-a+1))+a. 옛 엑셀에 RANDBETWEEN이 없을 때 쓰던 패턴인데, 결과는 동일합니다.
소수가 필요하면 RAND를 쓰세요. =RAND()*(top-bottom)+bottom은 임의 실수 범위를 만듭니다.
휘발성 함수의 함정 — 값을 고정하는 법
▼
RANDBETWEEN은 휘발성(volatile) 함수입니다. F9를 누르거나, 다른 셀을 편집하거나, 시트가 재계산될 때마다 결과가 바뀝니다. 추첨 결과나 더미 데이터를 한 번 만들고 끝내려면 값을 고정해야 합니다.
값 고정 방법
1. RANDBETWEEN 셀 범위 선택
2. Ctrl+C로 복사
3. 그 자리에 "값으로 붙여넣기" (Ctrl+Shift+V → V)
→ 수식이 사라지고 결과만 남아 더 이상 바뀌지 않음
추첨처럼 한 번 뽑은 결과가 바뀌면 안 되는 경우에 특히 중요합니다. 시트를 닫았다 열거나 다른 셀만 수정해도 모든 RANDBETWEEN이 재계산되므로, "어 방금 본 결과랑 다른데?"라는 황당한 상황을 피할 수 있습니다.
중복 없는 추첨 — RANDBETWEEN만으로는 부족
▼
가장 흔한 실수: 5명 추첨한다고 =RANDBETWEEN(1, 100)을 5칸에 채우면 중복이 나옵니다. 매번 독립적으로 뽑기 때문입니다.
상황: 100명 중 5명 당첨자 추첨
잘못: RANDBETWEEN(1,100) × 5 — 같은 번호 중복 가능
해결법: 도우미 열에 RAND()를 채우고 RANK로 순위를 매긴 다음 상위 N명을 뽑는 방식이 표준 패턴입니다. Microsoft 365에선 =SORTBY(범위, RANDARRAY(개수))로 한 줄에 끝납니다.
중복 없는 5명 뽑기 (M365)
=INDEX(SORTBY(A2:A101, RANDARRAY(100)), SEQUENCE(5))
자주 묻는 질문 (FAQ)
▼
Q. bottom·top에 소수를 넣으면?
엑셀이 자동으로 정수로 올리거나(bottom은 ↑) 내려서(top은 ↓) 처리합니다. RANDBETWEEN(1.3, 5.8)은 사실상 2~5 사이 정수. 의도와 다를 수 있으니 미리 INT/CEILING으로 명확하게 만드는 게 안전합니다.
Q. bottom > top이면?
#NUM! 오류. bottom은 항상 top보다 작거나 같아야 합니다. 음수도 가능 — RANDBETWEEN(-10, 10)은 -10~10 정수.
Q. 재계산을 막을 수 있나요?
수식인 채로는 막을 수 없습니다 (수동 계산 모드로 바꿔도 F9 입력 시 갱신). 결과를 보존하려면 "값으로 붙여넣기"로 수식을 제거하는 게 유일한 방법입니다.
Q. 정말로 균등 분포인가요?
엑셀의 RANDBETWEEN은 의사난수(pseudo-random) 알고리즘 기반으로, 통계적으로는 균등 분포에 매우 가깝습니다. 데모에서 100회만 굴려도 분포가 평탄해지는 것을 볼 수 있죠. 다만 암호학적 용도엔 부적합합니다 — 추첨·테스트·시뮬레이션 정도가 적절한 활용 범위입니다.