본문 바로가기
카테고리 없음

엑셀 RAND vs RANDBETWEEN 완벽 비교: 1부터 45까지 로또 번호 생성기 만들기 (랜덤 함수 활용)

by story00-1 2026. 1. 23.

일주일의 행복, 로또 복권 구매하시는 분들 많으시죠? "이번 주는 무슨 번호로 찍지?" 고민하다가 결국 자동 선택을 누르곤 합니다. 그런데 엑셀을 조금만 다룰 줄 알면, 나만의 '행운의 번호 생성기'를 단 1분 만에 만들 수 있다는 사실, 알고 계셨나요?

오늘은 엑셀에서 무작위 숫자(난수)를 만들어주는 두 가지 대표 함수, RANDRANDBETWEEN의 차이점을 확실하게 비교해 보고, 이를 활용해 실제 사용 가능한 '로또 번호 생성기'를 만들어보겠습니다.

단순히 번호만 뽑는 게 아니라, "중복된 번호가 나오지 않게 하는" 엑셀 고수들의 비법까지 담았으니 끝까지 집중해 주세요!

엑셀 RAND vs RANDBETWEEN 완벽 비교
엑셀 RAND vs RANDBETWEEN 완벽 비교


1. 기초: 두 랜덤 함수의 결정적 차이

엑셀에는 난수를 발생하는 함수가 크게 두 가지가 있습니다. 이름은 비슷하지만 결과물은 천지 차이입니다.

① RAND 함수: "0과 1 사이의 소수"

이 함수는 인수가 필요 없습니다. 그냥 괄호만 열고 닫으면 됩니다.

  • 수식: =RAND()
  • 결과 예시: 0.12543, 0.98122, 0.55123...
  • 특징: 0보다 크고 1보다 작은 실수(소수점)를 무작위로 반환합니다.
  • 활용: 주로 확률 계산이나 통계 시뮬레이션, 혹은 뒤에서 설명할 '중복 방지 섞기'에 사용됩니다.

② RANDBETWEEN 함수: "지정한 범위 내의 정수"

우리가 흔히 원하는 "1부터 10까지 중 아무거나 하나 뽑아줘"를 수행하는 함수입니다.

  • 수식: =RANDBETWEEN(Bottom, Top)
  • 수식: =RANDBETWEEN(최솟값, 최댓값)
  • 결과 예시: =RANDBETWEEN(1, 100) 👉 57, 3, 99...
  • 특징: 소수점이 없는 깔끔한 정수(Integer)를 반환합니다.

따라서, 로또 번호처럼 딱 떨어지는 숫자가 필요할 때는 RANDBETWEEN이 훨씬 직관적이고 편리합니다.


2. 실전 1단계: 초간단 로또 번호 생성기 (초보자용)

가장 쉬운 방법부터 해보겠습니다. 로또는 1부터 45까지의 숫자 중 6개가 필요합니다. 그렇다면 RANDBETWEEN 함수를 6번 쓰면 되겠죠?

따라 하기

  1. A1 셀부터 F1 셀까지 마우스로 드래그하여 선택합니다. (총 6칸)
  2. A1 셀에 다음 수식을 입력합니다.
    =RANDBETWEEN(1, 45)
  3. 채우기 핸들을 옆으로 쭉 끌거나, Ctrl + R을 눌러 수식을 복사합니다.

짠! 순식간에 6개의 번호가 생성되었습니다. 키보드의 [F9] 키를 눌러보세요. 누를 때마다 엑셀이 재계산을 수행하며 새로운 번호 조합을 보여줍니다.


3. 치명적인 문제점: "어? 번호가 겹치네?"

위의 초간단 방법에는 치명적인 약점이 하나 있습니다. 바로 '중복(Duplicate)'이 발생할 수 있다는 점입니다.

로또 추첨 기계는 공 하나가 빠져나오면 다시 그 공을 넣지 않습니다(비복원 추출). 하지만 RANDBETWEEN 함수는 독립적입니다. 첫 번째 칸에서 '10'이 나왔다고 해서, 두 번째 칸에서 '10'이 나오지 말라는 법이 없습니다.

결과 예시: [ 5, 12, 33, 12, 41, 7 ]
👉 "12번"이 두 번 나와서 실제로는 5개 번호만 뽑힌 셈이 됩니다.

F9를 계속 누르다 보면 언젠가 중복 없는 숫자가 나오겠지만, 엑셀 고수라면 이렇게 운에 맡겨서는 안 되겠죠? 이제 중복 없이 완벽하게 번호를 뽑는 전문가의 방법을 소개합니다.


4. 실전 2단계: 중복 없는 완벽한 생성기 (RANK + RAND 조합)

이 방법의 원리는 간단합니다. 1부터 45까지의 숫자에 '무작위 ID(난수)'를 부여한 뒤, 그 ID의 '등수(순위)'를 매기는 것입니다. 등수는 절대 겹치지 않으니까요.

Step 1: 1부터 45까지 나열하기

A열(A2:A46)에 1부터 45까지 숫자를 쭉 적습니다. (채우기 핸들 이용)

Step 2: 랜덤 ID 부여하기 (RAND 함수)

B열(B2:B46)에 =RAND() 함수를 입력하고 아래로 끝까지 복사합니다.
이렇게 하면 45개의 숫자 옆에 각각 0.182..., 0.593... 같은 고유한 난수가 붙게 됩니다.

Step 3: 순위 매기기 (RANK 함수)

이제 이 난수들이 '몇 등'인지 계산해서, 1등부터 6등까지만 뽑으면 됩니다. D2 셀부터 D7 셀까지(6칸) 아래 수식을 입력합니다.

=INDEX($A$2:$A$46, RANK(B2, $B$2:$B$46))

수식 해설:

  • RANK(B2, $B$2:$B$46): B2 셀의 난수가 전체 난수 중에서 몇 등인지 구합니다. (예: 5등)
  • INDEX($A$2:$A$46, 5): A열의 숫자 중 '5번째' 숫자를 가져옵니다.

이 방식을 사용하면, 45개의 숫자를 무작위로 섞은 뒤 앞에서부터 6개를 꺼내는 것과 똑같기 때문에 절대로 중복된 번호가 나오지 않습니다.

[이미지: RAND와 RANK 함수를 조합하여 중복 없는 로또 번호를 추출한 화면]
▲ 엑셀 고수들이 사용하는 '비복원 추출' 방식입니다.


5. 보너스 꿀팁: 숫자가 자꾸 변해서 불안하다면?

RAND나 RANDBETWEEN 함수는 '휘발성 함수'입니다. 엑셀에서 엔터 키를 칠 때마다, 혹은 F9를 누를 때마다 값이 계속 바뀝니다.

"어! 방금 나온 번호 조합 좋았는데 날아갔어!"

이런 불상사를 막으려면 번호를 확정 짓는 '값 복사' 과정이 필요합니다.

  1. 생성된 번호 6개를 마우스로 드래그하여 복사(Ctrl+C)합니다.
  2. 그 자리에 그대로 마우스 우클릭을 합니다.
  3. 붙여 넣기 옵션 중 [값(V)] 아이콘(숫자 123이 써진 아이콘)을 클릭합니다.

이제 수식은 사라지고 숫자만 남게 되어, 아무리 엔터를 쳐도 번호가 변하지 않습니다.


6. 마무리하며

오늘은 엑셀의 대표적인 랜덤 함수인 RANDRANDBETWEEN의 차이점을 알아보고, 이를 응용해 나만의 로또 번호 생성기를 만들어 보았습니다.

핵심 요약:

  • RAND: 소수점 난수 생성 (중복 방지용 보조 도구로 탁월)
  • RANDBETWEEN: 정수 난수 생성 (간편하지만 중복 발생 가능)
  • 중복 해결: RAND로 난수를 만들고 RANK로 순위를 매기면 해결!

재미 삼아 만들어 본 엑셀 파일이 여러분에게 이번 주 1등 당첨의 행운을 가져다줄지 누가 알까요? 오늘 퇴근길에는 직접 만든 번호로 로또 한 장 구매해 보시는 건 어떨까요?

다음 시간에는 텍스트를 마음대로 자르고 붙이는 LEFT, MID, RIGHT 함수에 대해 다뤄보겠습니다. 도움이 되셨다면 공감과 댓글 부탁드립니다. 행운을 빕니다!