목차
특정 목적(예: 전화번호, 복권, 통계 샘플링)을 위해 반복 없이 임의의 숫자를 생성해야 합니다. 그러나 일반 Excel 수식을 사용하면 반복되는 난수가 나올 수 있습니다. 이 기사에서는 적절한 설명과 함께 반복 없이 Excel에서 난수 생성기로 9가지 방법에 대해 설명합니다.
실습 워크북 다운로드
반복 없는 난수 생성기.xlsx
Excel에서 반복 없이 난수 생성기를 구현하는 9가지 방법
처음 4가지 방법에서는 새로 출시된 Excel 365에 도입된 배열 함수는 반복 없이 난수를 생성합니다. 그러나 나머지 방법은 특히 이전 버전의 Excel을 사용하는 사용자를 위해 모든 Excel 버전에 적합합니다. 요약하면 9가지 방법을 Excel 에서 난수 생성기로 반복 없이 사용할 수 있습니다.
방법에 대해 알아보겠습니다.
1. RANDARRAY 사용 함수
먼저 RANDARRAY 함수를 사용하여 난수를 생성하는 방법을 살펴보겠습니다.
Excel 365에 도입된 RANDARRAY 함수 , 배열 형식의 난수 목록을 생성합니다. 그리고 함수를 사용하여 중복 값이 없는 난수를 얻을 수 있습니다.
예를 들어 1에서 200까지 반복 없이 20개의 난수를 생성하고 싶습니다.
이러한 조건에서 수식은 같다다음-
=RANDARRAY(10,2,1,200,TRUE)
여기서 10 은 행의 개수, 2 은 열의 수, 1 은 최소값, 200 은 최대값, 마지막으로 TRUE 은 정수입니다.
그러나 이 방법은 큰 범위의 숫자에서 몇 개의 숫자를 원하는 경우(예: 1에서 200/500까지 10/20 숫자 생성) 유용합니다. 그렇지 않으면 중복 값이 생성됩니다.
자세히 보기: Excel에서 난수를 생성하는 수식(예 5개)
2. UNIQUE & 사용 ; RANDARRAY 함수
두 번째로 UNIQUE 함수와 RANDARRAY 함수의 응용 프로그램을 사용합니다.
UNIQUE Excel 365, Excel 2021 버전에서 사용할 수 있는 함수는 지정된 데이터 세트 또는 셀 범위에서 고유한 값 목록을 반환합니다. 따라서 두 가지 함수를 활용하여 반복 없이 난수를 생성할 수 있습니다.
결합된 수식은 다음과 같습니다.
=UNIQUE(RANDARRAY(10,2,1,100,TRUE))
여기서 10 은 행의 개수, 2 은 열의 개수, 1 은 최소값, 200 은 최대값이며 마지막으로 TRUE 은 정수입니다.
⧬ 위 수식에서 RANDARRAY(10,2,1,100,TRUE) 을 1에서 100 사이의 난수 20개를 생성합니다. 나중에 UNIQUE 함수는 생성된 난수에서 고유한 값을 반환합니다.
3. 적용 SORTBY &반복 없이 난수를 생성하는 SEQUENCE 함수
셋째, 일부 동적 배열 함수의 조합을 활용할 수 있습니다.
Excel 365 &에서만 액세스할 수 있는 SEQUENCE 함수 ; Excel 2021 버전에서는 일련 번호 목록(배열)을 생성합니다.
1에서 10까지의 숫자 목록을 가져오려면 다음 수식을 사용해야 한다고 가정합니다.
=SEQUENCE(10)
여기서 10 은 행의 개수입니다.
다음으로 SORTBY 함수는 오름차순 또는 내림차순으로 다른 값 배열을 기준으로 값 배열을 정렬합니다. 따라서 SEQUENCE & RANDARRAY 반복 없이 10개의 난수를 생성하는 함수.
=SORTBY(SEQUENCE(10),RANDARRAY(10))
⧬ 공식을 설명하면서, RANDARRAY(10) 는 10개의 난수 목록을 생성합니다. SEQUENCE(10) 구문은 10개의 숫자(순차적) 목록을 생성합니다. 그리고 SEQUENCE(10) 과 RANDARRAY(10) 은 array 인수와 by_array 로 사용됩니다. SORTBY 함수의 인수. 숫자의 순차적 목록을 무작위 순서로 정렬하기를 원하기 때문입니다.
자세히 알아보기: Excel VBA로 난수를 생성하는 방법( 4 예)
4. INDEX 함수를 반복 없이 난수 생성기로 활용
반복 없이 난수 목록을 생성하려면그런 다음 INDEX 기능과 이전에 논의된 RANDARRAY , SEQUENCE & UNIQUE 기능은 매우 효과적입니다. 또한 4가지 종류의 난수를 생성할 수 있습니다.
4.1. 임의의 정수 생성
1에서 100 사이의 임의의 정수 10개를 반복 없이 생성해야 하는 경우 다음 공식을 사용하면 됩니다.
=INDEX(UNIQUE(RANDARRAY(10, 1, 1, 100, TRUE)), SEQUENCE(10))
⧬ 수식을 설명하자면 SEQUENCE(10) 는 10개의 연속된 숫자를 생성하고, RANDARRAY(10, 1, 1, 100, TRUE) 1에서 100 사이의 임의의 정수 10개를 생성합니다. TRUE 이 정수 생성에 사용되기 때문입니다. 나중에 UNIQUE 기능은 생성된 숫자에서 반복되는 값을 제거합니다. 마지막으로 INDEX 함수는 SEQUENCE 함수의 지시에 따라 10개의 임의의 정수를 반환합니다. 이 경우 출력 UNIQUE 함수를 배열로 사용합니다.
4.2. 난수 생성
반복 없이 10개의 난수를 생성하려면 다음 공식을 사용할 수 있습니다.
=INDEX(UNIQUE(RANDARRAY(10, 1, 1, 100, FALSE)), SEQUENCE(10))
여기서 10 은 행 개수, 2 은 열 개수, 1 은 최소값, 100 는 최대값이고 마지막으로 FALSE 는 십진수 생성용입니다.
4.3. 정수 범위 생성
마찬가지로,다음 수식을 사용하여 임의의 정수 범위를 생성합니다.
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 200, TRUE)), SEQUENCE(10,2))
여기서 20 은 행, 1 은 열 수, 1 은 최소값, 200 은 최대값이며 마지막으로 TRUE 은 정수 생성용.
4.4. 임의의 십진수 범위 생성
1에서 100 사이의 임의의 소수 범위를 생성하려면 다음 수식을 사용하십시오.
=INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100)), SEQUENCE(10, 2))
여기서 20 은 행 개수, 1 은 열 개수, 1 은 최소값, 200 은 최대값이며, 마지막으로 FALSE 은 십진수 생성용입니다.
자세히 보기: 소수점을 사용하여 Excel에서 난수 생성(3가지 방법)
5. RAND & RANDBETWEEN 난수를 생성하는 함수
RAND 함수는 0에서 1 사이의 숫자를 생성합니다. 다행스럽게도 RAND 를 사용하는 동안 중복 값이 생성될 가능성은 거의 없습니다. 기능. 100000번의 사용량을 넘으면 반복되는 값을 얻을 수 있습니다.
따라서 고유한 십진수를 생성하려면 공식을 사용하십시오.
=RAND()
또한 RANDBETWEEN 은 주어진 두 숫자 사이의 정수를 반환합니다.
예를 들어, 1에서 100 사이의 정수, 다음 수식을 사용할 수 있습니다.
=RANDBETWEEN(1,100)
여기서 1 은 하단 argument이고 100 은 top 인수입니다.
안타깝게도 RANDBETWEEN 기능을 사용하는 동안 반복되는 값. 이러한 경우 셀 범위를 선택한 후 데이터 도구 리본의 데이터 탭에서 중복 제거 옵션을 사용할 수 있습니다.
자세히 보기: Excel에서 중복 없이 난수를 생성하는 방법(7가지 방법)
유사한 읽기
- Excel에서 0과 1 사이의 난수 생성(2가지 방법)
- Excel에서 임의의 5자리 숫자 생성기(7가지 예)
- Excel에서 임의의 4자리 숫자 생성기(8가지 예)
- Excel에서 목록에서 임의의 숫자 생성(4가지 방법)
- 엑셀에서 범위간 난수생성기 (8개 예시)
6. RAND & 난수 생성기로서의 RANK 함수
또한 주어진 숫자 목록을 기반으로 숫자의 상대적 크기를 반환하는 RANK 함수를 사용할 수 있습니다. 그 전에 RAND 함수를 사용하여 임의의 십진수 목록을 만듭니다.
=RANK(B5,$B$5:$B$15)
여기 B5 은 십진수의 시작 셀이고 B5:B15 는 십진수의 셀 범위입니다.
자세히 보기 : 엑셀 VBA: 난수중복이 없는 생성기(예제 4개)
7. RANK.EQ & COUNTIF 함수
10에서 50까지 반복 없이 임의의 숫자를 생성하고 싶다고 가정해 보겠습니다.
이러한 상황에서 RANK.EQ &의 조합을 사용할 수 있습니다. ; COUNTIF 반복 없는 난수 생성 기능. 그 전에 RANDBETWEEN 함수를 사용하여 10에서 50 사이의 숫자 목록을 만드세요.
이제 아래 공식을 사용하세요-
=9+RANK.EQ(B5, $B$5:$B$15) + COUNTIF($B$5:B5, B5) - 1
여기서 B5 는 난수의 시작 셀이고 B5:B15 은 십진수의 셀 범위입니다.
⧬ 공식을 설명하면서 COUNTIF 함수는 목록에서 사용할 수 있는 각 난수를 세는 것이라고 말할 수 있습니다. 그리고 RANK.EQ 는 각 난수에 대한 상대적인 위치(랭크)를 반환하고 마지막으로 10부터 시작하는 숫자를 생성해야 하므로 9 을 더해야 합니다.
8. 대형 & MATCH 함수는 엑셀
에서 임의의 숫자 생성기 역할을 합니다. 또한 LARGE 와 MATCH 함수의 조합을 사용하여 반복 없이 임의의 정수를 생성할 수 있습니다. LARGE 함수는 주어진 셀 범위 또는 데이터 세트에서 k번째로 큰 값을 반환합니다.
=LARGE($B$5:$B$15,ROW(B1))
여기에서 $B$5:$B$15 은 RAND 함수 ROW(B1) 를 사용하여 찾은 임의의 십진수에 대한 셀 범위입니다.
다음으로 생성된 가장 큰 값의 위치를 다음 공식을 이용하여 찾아야 합니다.
=MATCH(C5,$B$5:$B$15,0)
여기서 C5 는 가장 큰 숫자의 시작 셀이고, $B$5:$B$15 은 다음의 셀 범위입니다. 임의의 십진수, 마지막으로 0 은 정확한 일치를 얻기 위한 것입니다.
9. Excel에서 임의의 숫자 생성기로 분석 도구
마지막으로 엑셀 수식을 사용하지 않고 반복없이 난수를 생성해야 하는 경우 엑셀의 다음 추가 기능 을 사용할 수 있습니다.
Add-ins , 아래 단계를 따르십시오.
⇰ 파일 > 옵션 으로 이동합니다.
⇰ <6을 클릭합니다>추가 기능 드롭다운 목록에서 Excel 추가 기능 을 선택하고 이동 .
<옵션을 선택합니다. 0>⇰ 그러면 아래와 같은 대화상자가 뜨는데 Analysis ToolPak앞에 체크박스를 체크하고 확인을 누릅니다.
⇰ 이제 데이터 항목에서 데이터 분석 옵션을 선택합니다. 분석 리본의 탭.
⇰ 그런 다음 난수 생성 옵션을 선택하고 확인<7을 누릅니다>.
⇰ 즉시 다음 대화 상자가 표시됩니다.
⇰ 그런 다음 원하는 출력에 따라 옵션을 선택합니다.
⇰ 예를 들어 변수 개수 와 난수 개수 를 4 & 10 각각 10 행과 4 열이 있는 숫자 목록을 생성합니다.
⇰ 더 중요한 것은 Distribution 을 Uniform으로 선택해야 합니다. 반복되는 값을 피하고 싶기 때문입니다.
⇰ 나중에 10 과 30 사이는 범위 내에서 숫자를 찾고 싶다는 의미입니다.
⇰ 마지막으로 출력 범위
모든 작업을 수행한 후 다음 출력을 얻을 수 있습니다.
자세히 보기: Excel의 데이터 분석 도구 및 기능이 있는 난수 생성기
몇 가지 일반적인 오류
하지만, 위 수식을 반복 없이 Excel에서 난수 생성기로 사용하는 동안 다음 오류가 발생합니다.
오류 이름 | 발생 시 |
---|---|
#CALC! | UNIQUE 함수가 유일값을 추출할 수 없는 경우. |
#SPILL! | UNIQUE 함수가 목록을 반환하는 유출 범위에 값이 있는 경우. |
#VALUE! | RANDARRAY 함수는 최소값이 최대값보다 클 때 발생한다. |
결론
위의 방법을 사용하면 된다. 반복 없이 Excel에서 난수 생성기로서의 방법. 이제 선호도에 따라 방법을 선택하십시오. 이 기사가 귀하의 Excel 여정에 도움이 되기를 바랍니다.