

랜덤 숫자 뽑기를 하기 전에는 최소값과 최대값, 뽑을 개수, 중복 허용 여부를 먼저 정해야 합니다. 1부터 10까지라고 말할 때 양 끝 숫자를 포함하는지도 참가자에게 알려야 결과를 두고 해석이 달라지지 않습니다.
Excel과 Google 스프레드시트의 RANDBETWEEN은 지정한 두 값 사이에서 양 끝을 포함한 임의의 정수를 반환합니다. 계산이 다시 일어나면 숫자가 바뀔 수 있으므로 추첨 직후 결과를 값으로 고정하고 시각과 규칙을 함께 기록하세요.
추첨 전 설정표
| 항목 | 예시 질문 | 결정할 내용 |
|---|---|---|
| 범위 | 1과 100도 포함하나요? | 최소·최대 포함 |
| 개수 | 몇 명을 뽑나요? | 당첨·예비 수 |
| 중복 | 같은 번호가 다시 나와도 되나요? | 허용·제외 |
| 재추첨 | 결격자가 나오면 어떻게 하나요? | 예비 순번·재실행 |
1. 최소값과 최대값 정하기
참가 번호가 1부터 50이면 최소값 1, 최대값 50으로 정합니다. 0번이 실제 참가자인지, 끝 번호가 배정됐는지 명단과 대조하세요. 빈 번호가 섞이면 숫자는 나와도 당첨 대상이 없을 수 있습니다.
공식 함수 문서처럼 RANDBETWEEN은 아래 경계와 위 경계를 모두 포함합니다. 사용하는 도구가 같은 규칙인지 도움말에서 확인하고 추첨 안내문에도 포함 여부를 적습니다.
2. 뽑을 개수 결정
당첨자 3명과 예비자 2명이 필요하다면 처음부터 5개의 순서를 뽑는 방법이 명확합니다. 당첨자가 응답하지 않을 때마다 새로 실행하면 결과가 바뀌고 의심이 생길 수 있습니다.
예비 순번의 유효 기간과 연락 기한을 함께 정하세요. 숫자만 남기지 말고 각 번호가 명단의 누구와 연결되는지 별도의 결과표에서 확인합니다.
3. 중복 허용 여부
복원 추출은 뽑은 번호를 다시 후보에 넣어 같은 숫자가 여러 번 나올 수 있습니다. 비복원 추출은 한 번 나온 번호를 후보에서 제거해 서로 다른 결과를 만듭니다.
여러 명의 당첨자를 뽑는 행사에서는 보통 중복 없는 결과가 필요합니다. 단순히 RANDBETWEEN 수식을 여러 칸에 복사하면 같은 숫자가 나올 수 있으므로 중복 제거 절차가 필요합니다.
4. 한 개 숫자 뽑기
Excel이나 Google 스프레드시트에서 RANDBETWEEN을 사용하면 최소값과 최대값 사이의 정수를 한 개 만들 수 있습니다. 각 플랫폼의 함수 구문에서 아래값이 먼저, 위값이 다음에 들어갑니다.
아래값이 위값보다 크거나 숫자가 아닌 값을 넣으면 오류가 날 수 있습니다. 셀 참조를 사용할 때는 입력 셀에 설명과 데이터 유효성 검사를 추가해 잘못된 범위를 줄입니다.
5. 여러 숫자 뽑기
최신 Excel의 RANDARRAY는 행과 열 수, 최소값, 최대값, 정수 여부를 지정해 여러 난수를 배열로 반환할 수 있습니다. 결과가 주변 셀로 펼쳐지므로 출력 영역이 비어 있어야 합니다.
여러 값을 한 번에 만들었다고 해서 자동으로 중복이 제거되는 것은 아닙니다. 각 숫자가 고유해야 한다면 후보 목록을 무작위 순서로 섞은 뒤 앞에서 필요한 개수만 선택하는 방식을 검토하세요.
6. 중복 없는 추첨 만들기
1부터 최대 번호까지 후보 목록을 먼저 만들고 각 행에 임의값을 부여한 뒤 그 임의값 순서로 정렬합니다. 정렬된 목록 위에서 필요한 수만큼 가져오면 같은 참가 번호를 두 번 선택하지 않습니다.
후보 목록에 중복 번호가 없고 실제 참가자가 모두 한 번씩 들어 있는지 먼저 확인해야 합니다. 명단 자체가 중복이면 추첨 방식이 올바라도 같은 사람이 두 번 포함될 수 있습니다.
7. 재계산 시 숫자가 바뀌는 이유
Microsoft 공식 RANDBETWEEN 설명은 워크시트가 계산될 때마다 새 임의 정수가 반환된다고 안내합니다. 다른 셀을 수정하거나 파일을 다시 계산하면 추첨 결과가 달라질 수 있습니다.
당첨 숫자가 결정되면 결과 범위를 복사해 값으로 붙여넣고 수식이 남지 않았는지 확인합니다. 원본 추첨 시트는 별도 사본으로 보관해 규칙과 결과를 구분합니다.
8. 추첨 시각과 버전 기록
결과표에는 실행 날짜와 시각, 후보 수, 범위, 추첨 개수, 중복 여부를 적습니다. 명단이 수정됐으면 어떤 버전을 사용했는지도 파일명이나 해시, 최종 확정 시각으로 구분하세요.
온라인 도구를 사용한다면 페이지 주소와 설정 화면을 함께 캡처할 수 있습니다. 단, 참가자의 이름·전화번호 같은 개인정보는 화면 공유 범위에서 제외합니다.
9. 화면 공유로 검증하기
공개 추첨이라면 실행 전에 후보 목록의 총개수와 규칙을 보여주고, 추첨 뒤 결과를 바로 고정하는 과정을 화면으로 공유합니다. 참가자 정보 대신 익명 번호를 사용하면 노출을 줄일 수 있습니다.
화면 녹화나 캡처를 남길 때 알림과 다른 탭을 닫고 시스템 시각이 맞는지 확인하세요. 녹화 파일의 보관 기간과 공개 범위도 사전에 안내합니다.
10. 결격 번호 처리
범위 안에 취소자나 미사용 번호가 있다면 추첨 전에 후보 목록에서 제외합니다. 추첨 후 제외하면 결과를 임의로 바꿨다는 오해가 생길 수 있습니다.
부득이하게 당첨 후 결격이 확인될 경우 새 추첨보다 미리 정한 예비 순번을 적용하는 편이 일관됩니다. 예외 규칙은 결과가 나오기 전에 문서로 확정하세요.
11. 공정성과 보안 구분
일반 행사나 수업 순서 정하기에는 스프레드시트 난수 기능이 편리합니다. 하지만 암호, 인증 토큰, 복구 코드처럼 보안이 필요한 값을 만드는 용도로 일반 난수 함수를 쓰면 안 됩니다.
Python 공식 문서도 random 모듈이 보안 목적으로 사용돼서는 안 된다고 설명합니다. 보안 값은 해당 플랫폼이 제공하는 암호학적으로 안전한 생성 기능을 사용하세요.
12. 도구를 바꿀 때
도구마다 범위 끝값 포함, 중복 옵션, 시드와 재실행 방식이 다를 수 있습니다. 익숙한 화면이라는 이유로 가정하지 말고 설정값과 도움말을 확인합니다.
같은 행사에서 중간에 도구를 바꾸면 재현과 설명이 어려워집니다. 오류가 없다면 하나의 도구와 한 명의 실행 담당자를 정하고 결과 고정 방법까지 미리 시험하세요.
13. 결과 검산
모든 결과가 최소값 이상, 최대값 이하인지 확인합니다. 중복 금지라면 결과 개수와 고유값 개수가 같은지 비교하고, 각 번호가 최종 후보 명단에 실제로 존재하는지 조회합니다.
당첨자와 예비자의 순서가 섞이지 않았는지, 정렬 과정에서 번호와 이름 열이 따로 움직이지 않았는지도 확인하세요. 전체 행을 함께 정렬해야 대응 관계가 유지됩니다.
14. 안전한 추첨 순서
- 최종 후보 명단을 확정합니다.
- 최소·최대와 끝값 포함 여부를 공개합니다.
- 추첨 수와 중복·예비 규칙을 정합니다.
- 작은 샘플로 도구 동작을 시험합니다.
- 최종 명단에서 한 번 실행합니다.
- 결과를 즉시 값으로 고정합니다.
- 시각·설정·검산 결과를 함께 보관합니다.
최종 체크리스트
- 빈 번호와 중복 참가자를 제거했습니다.
- 양 끝 숫자 포함 여부를 밝혔습니다.
- 중복 허용 여부를 미리 정했습니다.
- 재추첨 대신 예비 순번 기준이 있습니다.
- 결과 수식을 값으로 고정했습니다.
- 후보 명단과 당첨 번호를 대조했습니다.
- 개인정보가 공개 화면에 없습니다.
자주 묻는 질문
RANDBETWEEN은 최소값과 최대값을 포함하나요?
네. 공식 문서는 두 경계값을 포함한 정수 난수를 반환한다고 설명합니다.
여러 번 뽑으면 같은 숫자가 나올 수 있나요?
단순 난수 생성은 중복될 수 있으므로 중복 없는 추첨은 후보 목록을 섞어 선택하는 방식이 필요합니다.
결과가 자꾸 바뀌는 이유는 무엇인가요?
워크시트 재계산 때 난수 함수가 새 값을 만들기 때문입니다.
결과를 어떻게 고정하나요?
추첨 직후 결과를 복사해 값으로 붙여넣고 수식이 남지 않았는지 확인합니다.
취소자가 나오면 다시 뽑아도 되나요?
결과 전 확정한 예비 순번이나 재추첨 규칙을 그대로 적용해야 합니다.
난수 함수로 비밀번호를 만들어도 되나요?
일반 난수는 보안용이 아니므로 암호학적으로 안전한 생성 기능을 사용해야 합니다.
공정한 추첨 기록에는 무엇이 필요하나요?
후보 수, 범위, 중복 여부, 추첨 개수, 실행 시각, 고정된 결과를 함께 남깁니다.
공식 출처
- Microsoft 지원 – RANDBETWEEN 함수
- Microsoft 지원 – RANDARRAY 함수
- Google Docs 편집기 고객센터 – RANDBETWEEN
- Python 공식 문서 – random 모듈과 보안 주의
번호가 아닌 이름을 뽑을 때
참가자 이름을 직접 무작위로 고르려면 먼저 각 사람에게 고유 번호를 하나씩 배정하는 편이 검수하기 쉽습니다. 동명이인은 참가 번호나 접수 번호로 구분하고, 공개 화면에는 이름 대신 익명 번호만 표시하세요. 번호표와 실제 연락처가 연결된 원본 명단은 접근 권한을 제한합니다.
명단을 정렬하거나 필터링한 뒤에는 번호와 이름 열이 함께 움직였는지 확인해야 합니다. 한 열만 정렬하면 당첨 번호가 다른 사람과 연결될 수 있습니다. 추첨 결과를 확정한 뒤 원본 명단에서 번호를 다시 조회하고 두 번째 사람이 대조하면 대응 오류를 줄일 수 있습니다.
통계적 무작위와 체감 공정성
무작위 결과에는 같은 색이나 가까운 번호가 우연히 몰릴 수 있습니다. 보기 좋게 분산되지 않았다는 이유만으로 다시 뽑으면 결과를 선택적으로 바꾸게 됩니다. 특정 그룹별 인원 비율을 맞춰야 한다면 일반 무작위 추첨이 아니라 층화된 별도 규칙을 결과 전에 설계해야 합니다.
여러 번 시험 실행한 값 가운데 마음에 드는 결과만 채택하지 마세요. 시험은 가짜 후보 목록으로 끝내고 최종 명단을 불러온 뒤 한 번만 실행합니다. 오류로 중단할 조건과 재실행 판단자는 미리 정해 두는 것이 좋습니다.
마무리
랜덤 숫자 뽑기는 최소·최대 범위, 중복, 추첨 개수, 예비 순번을 결과 전에 정해야 공정성을 설명할 수 있습니다. 실행 뒤 값이 바뀌지 않도록 즉시 고정하고 최종 후보 명단과 대조하세요. 중요한 추첨은 설정과 시각을 함께 기록하고 개인정보는 익명 번호로 분리하는 것이 좋습니다.