엑셀 RAND·RANDBETWEEN 대신 쓰기: 값 고정과 F9 함정
랜덤 숫자 몇 개가 필요해서 엑셀을 켰는데, 다른 셀을 하나 고쳤더니 방금 뽑은 숫자가 전부 바뀐 경험이 있을 겁니다. 엑셀 난수 함수의 정상 동작이지만, 추첨이나 번호 배정처럼 한 번 뽑은 값을 그대로 써야 하는 일에서는 사고로 이어집니다. 두 함수의 차이와 값이 바뀌는 이유, 고정하는 방법, 그리고 굳이 엑셀을 쓸 필요가 없는 경우를 정리합니다.
최종 업데이트: 2026년 7월
1. RAND와 RANDBETWEEN의 차이
엑셀에서 난수를 만드는 기본 함수는 둘입니다. 둘 다 인수가 거의 없어 헷갈리기 쉬운데, 돌려주는 값의 종류가 다릅니다.
- RAND(): 0 이상 1 미만의 소수를 돌려줍니다. 0.417382... 같은 값입니다. 인수가 없습니다.
- RANDBETWEEN(아래, 위): 지정한 두 정수 사이의 정수를 돌려줍니다.
=RANDBETWEEN(1,45)는 1부터 45까지 중 하나이고, 45도 나올 수 있습니다.
번호 추첨이나 좌석 배정처럼 정수가 필요하면 RANDBETWEEN이 맞습니다.
RAND로 정수를 만들려면 =INT(RAND()*45)+1처럼 직접 계산해야 하는데,
곱하는 수와 더하는 수를 한 칸씩 헷갈려 1이 안 나오거나 46이 나오는 실수가 흔합니다.
구형 엑셀에서 RANDBETWEEN이 #NAME?으로 나오면 분석 도구 추가 기능이 꺼져 있는 경우입니다.
요즘 버전에서는 기본 내장이라 이 문제를 겪을 일이 거의 없습니다.
2. 값이 계속 바뀌는 이유
두 함수는 휘발성 함수입니다. 시트 어딘가에서 계산이 일어날 때마다 자기도 다시 계산합니다. 그래서 아래 상황 전부에서 값이 새로 바뀝니다.
- 아무 셀에나 값을 입력하거나 지웠을 때
- F9(다시 계산)를 눌렀을 때
- 행·열을 추가하거나 정렬했을 때
- 파일을 저장하고 다시 열었을 때
추첨 결과를 시트에 적어 두고 다음 날 파일을 열면 다른 숫자가 들어 있는 이유가 이것입니다. 엑셀이 고장 난 것이 아니라, 애초에 결과를 보관하는 용도로 만들어진 함수가 아닙니다.
3. 뽑은 값을 고정하는 세 가지 방법
- 값으로 붙여넣기: 가장 확실합니다. 난수 셀 범위를 복사한 뒤 같은 자리에 선택하여 붙여넣기 · 값으로 덮어씁니다. 수식이 사라지고 숫자만 남아 다시는 바뀌지 않습니다. 단축키는 붙여넣기 후 나타나는 옵션에서 값 아이콘을 고르면 됩니다.
- 수동 계산으로 전환: 수식 · 계산 옵션 · 수동으로 바꿔 두면 F9를 누르기 전까지 다시 계산하지 않습니다. 다만 파일을 다른 사람에게 넘기면 그쪽 설정을 따라가므로, 공유할 파일에는 권하지 않습니다.
- 수식을 F9로 값으로 바꾸기: 셀을 편집 상태로 열고 수식 전체를 선택한 뒤 F9를 누르면 그 자리에서 결과값으로 치환됩니다. 셀 하나씩 처리할 때만 편합니다.
세 방법 모두 고정하는 것을 잊으면 소용이 없다는 공통 약점이 있습니다. 추첨처럼 한 번 뽑고 끝나는 일은, 애초에 값이 바뀌지 않는 도구로 뽑는 편이 사고가 적습니다.
4. 중복 없는 난수 만들기
RANDBETWEEN은 중복을 막지 못합니다. 1부터 45까지에서 6개를 뽑으면 같은 숫자가 두 번 나오는 일이 자주 생깁니다. 엑셀에서 중복 없이 뽑으려면 보조 열을 씁니다.
- A열에 뽑고 싶은 범위의 숫자를 전부 적습니다(예: A1에 1, A2에 2, … A45에 45).
- B열에
=RAND()를 같은 행 수만큼 채웁니다. - C열에
=RANK(B1,$B$1:$B$45)를 넣어 난수의 순위를 매깁니다. - 순위 1부터 6까지에 해당하는 A열 값이 중복 없이 뽑힌 6개입니다.
최신 엑셀에는 SORTBY(A1:A45, RANDARRAY(45))처럼 한 줄로 끝내는 방법도 있지만,
버전에 따라 함수가 없을 수 있습니다. 어느 쪽이든 결과는 여전히 휘발성이라
뽑은 뒤 값으로 고정하는 단계가 반드시 필요합니다.
5. 엑셀을 안 켜도 되는 경우
엑셀이 유리한 경우는 분명합니다. 뽑은 숫자를 다른 계산에 이어 쓰거나, 수백 행 데이터에 난수 열을 붙여야 할 때입니다. 반대로 아래 상황이라면 스프레드시트를 여는 것 자체가 번거로운 일입니다.
- 숫자 몇 개만 필요할 때: "1부터 30 중 아무거나 하나" 정도라면 함수 이름을 떠올리는 시간이 더 깁니다.
- 중복 없이 뽑아야 할 때: 보조 열과 RANK 조합 없이 스위치 하나로 끝나는 편이 낫습니다.
- 결과를 남에게 보여줘야 할 때: 엑셀 화면 캡처는 "다시 계산하면 바뀌는 값"이라 증거로서 약합니다. 같은 결과가 다시 계산되는 재현 링크가 훨씬 설득력이 있습니다.
- 휴대폰에서 뽑아야 할 때: 모바일 스프레드시트 앱에서 수식을 입력하는 일은 생각보다 성가십니다.
랜덤 숫자 생성기는 범위와 개수를 넣으면 바로 뽑고, 중복 허용 여부와 정렬을 스위치로 고릅니다. 자주 쓰는 범위는 프리셋으로 저장해 두면 다음부터는 이름 한 번 누르는 것으로 끝납니다. 뽑은 값은 저절로 바뀌지 않습니다.
범위와 개수만 정하면 됩니다. 중복 없이 뽑기도 스위치 하나, 결과는 링크로 남습니다.
랜덤 숫자 생성기 열기6. 자주 묻는 질문
RANDBETWEEN에 소수를 넣으면 어떻게 되나요?
아래 인수는 올림, 위 인수는 내림으로 처리되어 정수 범위로 바뀝니다. 의도한 범위와 달라질 수 있으니 정수를 직접 넣는 편이 안전합니다. 소수 난수가 필요하면 RAND에 범위를 곱해 쓰세요.
같은 난수를 다시 만들어 낼 수 있나요?
엑셀에서는 어렵습니다. 씨앗값을 지정하는 기능이 함수 수준에서 제공되지 않기 때문에, 한 번 다시 계산되면 이전 값을 되살릴 방법이 없습니다. 재현이 필요하면 씨앗값을 링크에 담는 도구를 쓰거나, 값으로 고정한 사본을 따로 남겨 두세요.
엑셀 난수는 공정한가요?
일상적인 추첨에서는 충분히 무작위입니다. 문제는 무작위성 자체가 아니라 과정을 남이 확인할 수 없다는 점입니다. 몇 번 다시 계산했는지 아무 흔적이 남지 않아서, 결과를 보고 다시 돌렸는지 확인할 방법이 없습니다.