Excel Lab.

엑셀, RAND 함수

머털바삭 2025. 9. 15. 08:00

엑셀 RAND 함수: 난수 생성의 모든 것

 

 

엑셀로 작업하다 보면 가끔 무작위 숫자가 필요한 경우가 있어요. 샘플 데이터를 만들거나, 시뮬레이션을 돌리거나, 무작위 선택을 해야 할 때 말이죠. 이럴 때 바로 RAND 함수가 유용해요. 오늘은 RAND 함수와 관련된 함수들을 자세히 알아보겠습니다.

RAND 함수란? 0 이상 1 미만의 무작위 실수를 반환하는 함수예요. 매번 워크시트가 계산될 때마다 새로운 난수를 생성합니다.

RAND 함수의 기본 문법
=RAND()

정말 간단하죠? 괄호 안에 아무 인수도 넣지 않아요. 이 함수를 실행하면 0.123456789 같은 소수점 아래 많은 자리의 무작위 숫자를 얻을 수 있어요.

RAND 함수의 특징
  • 범위: 0 이상 1 미만 (0 ≤ 결과 < 1)
  • 변동성: 워크시트가 다시 계산될 때마다 값이 바뀜
  • 인수: 필요 없음 (빈 괄호만 사용)
  • 결과: 실수 (소수점 포함)
RAND 함수 활용 예시

 1. 특정 범위의 정수 만들기

RAND 함수만으로는 0과 1 사이의 소수만 나와서 실용성이 떨어져요. 하지만 다른 함수와 조합하면 원하는 범위의 숫자를 만들 수 있어요.

1부터 100 사이의 정수

=INT(RAND()*100)+1

RAND()로 0~1 사이 값을 생성하고, 100을 곱해서 0~100 사이로 만든 다음, INT로 소수점을 제거하고 1을 더해줘요.

10부터 50 사이의 정수

=INT(RAND()*41)+10

범위가 41개(50-10+1)이므로 41을 곱하고, 시작값인 10을 더해줘요.

 2. 무작위 선택하기

=IF(RAND()>0.5,"예","아니오")

이렇게 하면 50% 확률로 "예" 또는 "아니오"를 무작위로 선택할 수 있어요. 동전 던지기 같은 효과를 낼 수 있죠.

 

RAND 함수와 관련된 함수들

  RANDBETWEEN 함수

=RANDBETWEEN(최소값, 최대값)

RAND 함수의 불편함을 해결해주는 함수예요. 지정한 범위 내에서 무작위 정수를 직접 생성해줍니다.

RANDBETWEEN 활용 예시

  • =RANDBETWEEN(1,10) → 1부터 10 사이의 정수
  • =RANDBETWEEN(-5,5) → -5부터 5 사이의 정수
  • =RANDBETWEEN(100,999) → 3자리 숫자

  RAND vs RANDBETWEEN 비교

구분 RAND RANDBETWEEN
결과 타입 실수 (소수점) 정수
범위 0 이상 1 미만 (고정) 사용자 지정 가능
인수 없음 최소값, 최대값
사용 편의성 추가 계산 필요 바로 사용 가능
실무에서 유용한 활용법

  1. 샘플 데이터 생성

테스트용 데이터나 샘플 데이터를 빠르게 만들 때 정말 유용해요.

가상의 매출 데이터 만들기

=RANDBETWEEN(50000,200000)

5만원부터 20만원 사이의 무작위 매출 데이터를 생성할 수 있어요.

무작위 날짜 생성

=DATE(2024,1,1)+RANDBETWEEN(0,364)

2024년 내의 무작위 날짜를 생성해요.

  2. 무작위 선택과 추첨

=INDEX(A1:A10,RANDBETWEEN(1,10))

A1부터 A10까지 목록에서 무작위로 하나를 선택할 수 있어요. 직원 추첨이나 무작위 샘플링에 활용할 수 있죠.

  3. 시뮬레이션과 확률 계산

주사위 굴리기 시뮬레이션

=RANDBETWEEN(1,6)

확률 기반 결과 생성

=IF(RAND()<=0.3,"성공",IF(RAND()<=0.7,"보통","실패"))

30% 성공, 40% 보통, 30% 실패 확률로 결과를 생성해요.

주의사항과 팁

값 고정하기

난수는 계속 변하기 때문에 값을 고정하고 싶을 때가 있어요. 이럴 때는 다음과 같이 해요:

  1. 난수가 생성된 셀들을 복사
  2. 같은 위치에 "선택하여 붙여넣기" 실행
  3. "값" 옵션을 선택해서 붙여넣기

이렇게 하면 수식이 아닌 고정된 값으로 변환되어요.

  재계산 방지하기

F9 키를 누르거나 다른 셀을 수정할 때마다 난수가 새로 생성되는 게 불편할 수 있어요. 이를 방지하려면:

  • 수동 계산 모드: 파일 → 옵션 → 수식 → 계산 옵션에서 "수동"으로 변경
  • 값으로 변환: 위에서 설명한 "값 붙여넣기" 방법 사용
고급 활용 예시

  가중치가 있는 무작위 선택

=IF(RAND()<=0.5,"A",IF(RAND()<=0.8,"B","C"))

A가 50%, B가 30%, C가 20% 확률로 선택되도록 가중치를 부여할 수 있어요.

  중복 없는 무작위 순서

1단계: 보조 열에 난수 생성

=RAND()

2단계: RANK 함수로 순위 매기기

=RANK(B1,$B$1:$B$10,0)

이렇게 하면 중복 없는 무작위 순서를 만들 수 있어요.

문제 해결하기

  자주 발생하는 문제들

  • 계속 값이 바뀌어요: 위에서 설명한 값 고정하기 방법을 사용하세요.
  • 같은 값이 반복돼요: 완전히 무작위이므로 가끔 같은 값이 나올 수 있어요. 정상입니다.
  • 소수점이 너무 많아요: ROUND 함수와 함께 사용해서 자릿수를 조절하세요.
=ROUND(RAND()*100,2)

이렇게 하면 소수점 둘째 자리까지만 표시되는 0~100 사이의 난수를 얻을 수 있어요.

마무리

RAND 함수와 RANDBETWEEN 함수는 엑셀에서 무작위 데이터를 다룰 때 없어서는 안 될 중요한 도구예요. 샘플 데이터 생성부터 복잡한 시뮬레이션까지, 활용 범위가 정말 넓어요.

처음에는 단순해 보이지만 다른 함수들과 조합하면 정말 강력한 기능을 만들 수 있어요. 특히 업무에서 테스트 데이터나 무작위 선택이 필요할 때 이런 함수들을 잘 활용하면 시간을 많이 절약할 수 있답니다.

다음에는 더 복잡한 통계 함수들이나 데이터 분석 함수들에 대해서도 다뤄보겠어요!