엑셀 이야기/엑셀 강의 - 함수

직장인 엑셀 실무 | 20강. rand 함수 3종 - 엑셀에서 무작위 숫자 뽑아내기, 엑셀 랜덤 숫자 함수 (예제파일 포함)

한겨울에는 2025. 3. 4. 22:54
반응형

 

엑셀에서 랜덤 숫자를 생성해야 하는 경우가 많습니다.

사무 업무, 샘플 데이터 생성, 복권 시뮬레이션, 무작위 추첨 등 다양한 상황에서 활용할 수 있습니다.

오늘은 엑셀에서 랜덤 숫자를 뽑는 다양한 방법을 소개하고, 실무에서 활용하는 법을 자세히 알아보겠습니다.

 

 

 1. 엑셀에서 랜덤 숫자를 생성하는 함수

엑셀에는 랜덤 숫자를 생성하는 RAND, RANDBETWEEN, RANDARRAY 함수가 있습니다.

각각의 특징을 살펴보겠습니다.

  1) RAND 함수 – 0과 1 사이의 난수 생성

기능: RAND() 함수는 0 이상 1 미만의 난수를 반환합니다.

사용법:

=RAND()

 

 

*TIP. 보여지는 소수점의 자리수를 바꾸고 싶다면?

   = "홈 -> 표시형식 -> 소수점 표시 변경" 을 이용해 소수점 표시 자리수를 변경 할 수 있습니다.

 

📌 특징:

  • 0 이상 1 미만의 실수를 무작위로 생성합니다.
  • 다시 계산할 때마다 값이 변경됩니다.
  • 정수 범위의 랜덤 숫자가 필요하면 다른 함수와 함께 사용해야 합니다.

🎯 실무 활용: 0~1 사이의 난수를 특정 범위로 변환하는 방법

=RAND()*100  ➝ 0 이상 100 미만의 난수 생성
=INT(RAND()*100)  ➝ 0 이상 99 이하의 정수 생성

 

*int함수 = 소수점을 버리고 가장 가까운 정수로 내림하는 함수

 


 2) RANDBETWEEN 함수 – 특정 범위 내 정수 생성

기능: 지정된 범위 내에서 랜덤 정수를 생성하는 함수입니다.

사용법:

=RANDBETWEEN(최소값, 최대값)

예제:

=RANDBETWEEN(1, 100)  ➝ 1부터 100 사이의 랜덤 정수 반환
=RANDBETWEEN(500, 1000)  ➝ 500부터 1000 사이의 랜덤 정수 반환

📌 특징:

  • 사용자가 지정한 범위 내의 정수를 반환합니다.
  • F9를 누르거나 데이터를 변경할 때마다 새로운 랜덤 값이 생성됩니다.
  • 정수 값만 반환하며, 소수가 필요하면 RAND()를 활용해야 합니다.

🎯 실무 활용:

  • 복권 번호 생성: =RANDBETWEEN(1, 45) (로또 번호 자동 생성)
  • 임의 샘플링: 직원 ID에서 무작위로 선택하기
  • 호텔방 비밀번호 무작위 생성: 호텔방의 비밀번호 4자리 무작위 생성

 


 3) RANDARRAY 함수 – 여러 개의 랜덤 숫자 생성 (엑셀 365/2021 전용)

기능: 여러 개의 랜덤 숫자를 한 번에 생성할 수 있는 엑셀 365 및 Excel 2021 전용 함수입니다.

사용법:

=RANDARRAY(행_수, 열_수, 최소값, 최대값, 정수여부)

예제:

=RANDARRAY(5, 3, 1, 100, TRUE)  ➝ 5행 3열의 1~100 사이 랜덤 정수 생성
=RANDARRAY(4, 2, 0, 1, FALSE)  ➝ 4행 2열의 0~1 사이 랜덤 실수 생성

 

*예시 : 5*6 표 안에 1~45 사이의 숫자 랜덤 표시하기

 

📌 특징:

  • 여러 개의 랜덤 숫자를 한 번에 생성 가능 (배열 수식 지원)
  • 정수/소수 여부를 선택 가능 (TRUE = 정수, FALSE = 실수)
  • 특정 범위를 지정할 수 있어 RANDRANDBETWEEN을 대체할 수 있음

🎯 실무 활용:

  • 연속된 무작위 데이터 생성: 대량 샘플 데이터 제작
  • 시험 문제 랜덤 배정: 학생들에게 서로 다른 문제 배정
  • 랜덤 팀 구성: 팀원들을 무작위로 그룹핑

 

 

 

2. 랜덤 숫자 고정하는 방법

엑셀의 랜덤 함수들은 엑셀을 다시 계산할 때마다 값이 변경됩니다. 특정 시점에서 랜덤 값이 바뀌지 않도록 값을 고정하는 방법을 알아보겠습니다.

✔ 방법 1: 복사 후 ‘값 붙여넣기’

  1. 랜덤 숫자가 생성된 셀을 선택
  2. Ctrl + C (복사)
  3. 마우스 오른쪽 클릭 → ‘값 붙여넣기’ 선택 (또는 Ctrl + Alt + V → V)

📌 결과: 랜덤 값이 일반 숫자로 변환되어 변경되지 않음

✔ 방법 2: VBA 코드 활용 (자동 업데이트 방지)

만약 랜덤 값이 특정 시점 이후로 변경되지 않도록 하고 싶다면, VBA를 활용하여 랜덤 값을 한 번만 계산되도록 설정할 수 있습니다.

VBA 코드:

Sub FixRandomNumbers()
    Dim rng As Range
    Set rng = Selection
    rng.Value = rng.Value
End Sub

📌 사용법: 랜덤 숫자가 생성된 영역을 선택하고 위 코드를 실행하면, 해당 값이 고정됩니다.


 3. 실무에서 유용한 랜덤 숫자 활용 사례

로또 번호 자동 생성기

=RANDBETWEEN(1, 45)

이벤트 당첨자 랜덤 추첨

=INDEX(A2:A100, RANDBETWEEN(1, COUNTA(A2:A100)))

무작위 팀 배정 (RAND 함수 응용)

=A2:RANK(RAND(), RAND())

임의 샘플 데이터 생성 (RANDARRAY 활용)

=RANDARRAY(10, 3, 1, 100, TRUE)

4. 마무리

엑셀에서 랜덤 숫자를 생성하는 방법을 익히면 업무에서 데이터를 더 쉽게 다룰 수 있습니다.

RAND, RANDBETWEEN, RANDARRAY 함수를 적절히 활용하여 샘플 데이터 제작, 무작위 추첨, 자동화 작업을 효과적으로 수행 할 수 있습니다.

 

더 알고 싶은 엑셀 기능이 있나요?

댓글로 남겨주시면 실무에 꼭 필요한 꿀팁을 소개해드리겠습니다! 

 

 

 

🔹 관련 추천 블로그 글

2022.08.08 - [엑셀 이야기/엑셀 강의 - 함수] - 직장인 엑셀 실무 | 1강. SUMIFS - 함수 조건에 맞는 합계 구하기

 

직장인 엑셀 실무 | 1강. SUMIFS - 함수 조건에 맞는 합계 구하기

엑셀 초보탈출 1강 조건에 맞는 합계 구하기 sumif, sumifs 시작하기에 앞서, sumif 함수를 지워버렸는데요 사실 예전에는 sumif 함수를 사용했지만, 지금은 sumif 는 몰라도 된다고 생각합니다. sumif와 su

ian-storyhouse.tistory.com

 

2023.04.05 - [엑셀 이야기/엑셀 강의 - 함수] - 직장인 엑셀 실무 | 6강. IF 함수 / IF다중(중첩)함수 - 조건에 맞는 값을 반환하는 함수

 

직장인 엑셀 실무 | 6강. IF 함수 / IF다중(중첩)함수 - 조건에 맞는 값을 반환하는 함수

엑셀 초보탈출 6강 조건에 맞는 값을 반환하는 if 함수 if 함수와 if다중(중첩)까지 알아보기 if 함수는 어떤함수인가? if 함수는 사용자가 설정하는 어떤 조건에대해 참일 경우, 거짓일 경우 각각

ian-storyhouse.tistory.com

 

2023.10.23 - [엑셀 이야기/엑셀 강의 - 함수] - 직장인 엑셀 실무 | 13강. SUMPRODUCT 함수 - 빠르게 매출합계 구하기 (지정된 범위 곱하고 더하기)

 

직장인 엑셀 실무 | 13강. SUMPRODUCT 함수 - 빠르게 매출합계 구하기 (지정된 범위 곱하고 더하기)

엑셀 초보탈출 13강 sumproduct 함수 활용하기 빠르게 매출합계 구하기 (지정된 범위 곱하고 더하기) 오늘 알아볼 함수는 "sumproduct"라는 함수입니다. 데이터시트에서 같은 배열에 있는 숫자끼리 곱

ian-storyhouse.tistory.com

 

반응형