본문 바로가기
세상의 모든 엑셀 (엑셀팁, 질문)

012. (엑셀 팁, 질문) 중복되지 않는 난수 만들기 (ft, 중복없는 난수 기본 원리 이해하기)

by Excel.Jump 청출어람 2022. 12. 28.
반응형

 

 

 

중복되지 않는 난수

 

 

 

■ 목차

 

1. 엑셀 팁/질문 : 1~64 숫자 중에서 중복되지 않는 숫자 6개를 만들고 싶은데 어떻게 해야 하나요?
2. 엑셀에서 난수 만들기
3. 중복되지 않는 난수 만들기
** 핵심 요약

 

 

 

 

1. 엑셀 팁/질문 : 1~64숫자 중에서 중복되지 않는 숫자 6개를 만들고 싶은데 어떻게 해야 하나요?

 

  - 특정한 두수 사이에서 중복되지 않는 난수, 랜덤숫자를 생성하고 싶습니다. 
  - Rand 함수는 소수점으로 Randbetween 함수는 숫자가 중복되어서 나오는데 어떻게 하면 좋을까요? 

 

 

 

 

2. 엑셀에서 난수 만들기

 

  - 엑셀은 난수 즉 랜덤으로 숫자를 만들어 주는 함수가 2개 있습니다. 
  - 바로 Rand 함수와 Randbetween 함수입니다. 

  - 그런데 Rand 함수는 중복은 되지 않지만 0 ~ 1사이의 임의의 실수를 만들어 주는 함수이고
  - Randbetween 함수는 지정한 범위에서 임의의 숫자를 정수로 만들어 주지만 이게 중복이 됩니다. ㅠㅠ  

 

 

  - 그래서 두 정수사이의 중복되지 않고 빠지지 않는 완전한 난수를 바로 만드는 것은 엑셀의 수식, 함수의 기능만으로는 무척 어려운 문제가 되어버렸습니다. ㅠㅠ
  - 복잡한 배열 수식을 사용하게되면 어떻게 만드는 방법도 있는 것 같습니다.
  - 오늘은 간단하게 기본적인 원리와 필요 시에 간단하게 만들 수 있는 방법에 대해서 설명을 드리도록 하겠습니다. 

 

Rand, Randbetween 함수
* Rand, Randbetween 함수

 

 

 

 

3. 중복되지 않는 난수 만들기

 

  - 중복되지 않는 난수(정수)를 만들기 위해서는 일단 중복되지 않는 수가 필요합니다.
  - 중복되지 않는 난수(정수)가 없기 때문에 일단 소수자리 숫자라도 중복이 되지 않는 수가 필요하게 되는 것입니다.
  - 이렇게 엑셀에서 중복되지 않는 난수를 만들기 위해 비록 소수점 자리의 수이지만 우리는 Rand 함수를 사용할 수 있습니다. 

  - 만약 중복되는 난수라면 중복을 제거해주는 단계가 필요합니다. 
  - 하지만 중복을 제거하는 방식으로는 완벽한 (모든 수가 빠짐없이, 중복 없이 갖춰진) 난수를 만드는 것은 불가능하기 때문에 중복 제거 방식은 넘어가도록 하겠습니다. 

  - Rand 함수는 0 ~ 1사이의 숫자이지만 거의 소수 16자까지 활용을 하기 때문에 그냥 모두 중복이 되지 않는 난수라고 보시면 됩니다.
  - 그리고 우리가 원하는 모든 숫자가 갖춰진 난수는 바로 Rank 함수로 구할 수가 있습니다. 

  - 아래는 5개의 1~5까지의 난수를 구하는 예제 입니다.  예제로 들기 위한 적당한 크기인 5개을 기준으로 하였습니다. 
  - 필요하면 원하는 만큼의 난수 크기(개수)를 지정해서 동일한 방법으로 만들어 줄 수 있습니다. 

  - ① 먼저 Rand 함수로 5개의 중복되지 않는 난수를 구해 줍니다. 
  - ② 그리고는 이렇게 만들어진 Rand 함수의 난수 5개에 대해서 Rank 함수로 순위를 찾아 줍니다. 
  - 여기서 Rand 함수는 중복이 되지 않기 때문에 1 ~ 5의 중복없는 완전한 순위를 모두 찾을 수 있습니다. 

 

Rand 함수, Rank 함수로 중복없는 난수 만들기
* Rand 함수, Rank 함수로 중복없는 난수 만들기

 

  - 여기에서 우리는 3, 2, 1, 4, 5라는 중복 없고 빠짐없는 완전한 5개의 난수를 모두 만들게 되었습니다. 
  - 필요하면 "F9"키를 눌러서 수식을 재계산하게되면 다시금 난수를 만들 수가 있습니다. 


  - 그러면 16 ~ 20까지의 5개의 난수는 어떻게 만들 수 있을까요?  
  - 네, 간단합니다. 더하기 15을 해주면 됩니다.  크기 (=개수)만 일치하고 시작 값과 끝 값은 차이나는 수만큼 더하거나 빼기를 해주시면 됩니다. 

 

특정 구간의 중복없는 난수 만들기
* 특정 구간의 중복없는 난수 만들기

 

 - 자 그러면 오늘의 문제인 1 ~ 64개 중에서 중복 없는 난수 6개도 잘 만드실 수 있으시겠죠? 
 - 64개의 난수를 동일한 방법으로 만들어서 처음 6개을 사용하시면 됩니다. 

  - 오늘은 중복없는 난수를 만드는 방법에 대해서 간단한 원리를 설명해 드렸습니다. 
  - 찐 고수분들은 이러한 것도 모두 배열수식으로 만드시던데 우리는 그렇게까지 어렵게 중복 없는 난수를 만들 필요까지는 없을 듯합니다. 
  - 원리를 알고 함수를 공부를 많이 하시면 언젠가는 도전과제로는 의미가 있을 듯합니다. 그날까지 열심히…

 

 

 

 

** 핵심 요약 : 중복되지 않는 난수 만들기 (ft, 중복없는 난수 기본 원리 이해하기)

 

1. 엑셀 팁/질문 : 1~64숫자 중에서 중복되지 않는 숫자 6개를 만들고 싶은데 어떻게 해야 하나요?


2. 엑셀에서 난수 만들기

  - 엑셀에서 난수를 만드는 함수 : Rand 함수, Randbetween 함수 2개가 있다.
  - Rand 함수는 0 ~ 1 사이의 중복되지 않는 난수를 만들어 준다.
  - Randbetween 함수는 지정한 범위에서 난수를 정수로 만들어 주지만 중복이 된다.


3. 중복되지 않는 난수 만들기

  - 1~ 5까지 중복되지 않고 빠짐없는 완전한 난수를 만들어 보자
  - ① Rand 함수로 5개의 난수를 만들자 (Rand 함수는 중복되지 않는다)
  - ② 만들어진 5개의 난수에 대해서 Rank 함수로 순위를 매겨주자.
  - Rank 함수의 순위가 1 ~ 5의 중복없는 완전한 난수가 된다.

  - "F9"키를 눌러 수식 재계산으로 다시금 난수를 만들 수 있다.
  - 16 ~ 20까지의 5개의 난수는 각 순위에 15를 더해주면 된다. 

 

(예제) 012. 중복없는 난수.xlsx
0.01MB

 

 

[세상의 모든 엑셀 (엑셀팁, 질문)] - 999. 세상의 모든 엑셀(엑셀팁, 질문) 목차

 

999. 세상의 모든 엑셀(엑셀팁, 질문) 목차

[세상의 모든 엑셀 (엑셀팁, 질문)] - 001. (엑셀 팁, 질문) 누적 합계 구하기 - 절대참조/상대참조, 빠른 분석 도구 [세상의 모든 엑셀 (엑셀팁, 질문)] - 002. (엑셀 팁, 질문) 날짜 칸 나누어 입력하기

nextmeok.tistory.com

 

 

 

* 엑셀 관련 궁금하신 거나 어려운 점이 있으시면 자유롭게 질문을 해주세요.
* 가능한 도움을 드릴 수 있도록 하겠습니다.
* 저도 많이 알지는 못하지만 누구나 그렇듯 시작이란 게 있고 경험이란 게 다를 것 같습니다.
* 편하게 문의하시면 됩니다. 저도 모를 수 있다. 감안해 주시고.

  - ILU, SH -

반응형

댓글