반복 없이 Excel에서 난수를 생성하는 방법

  • 이 공유
Michael Brown

이 기사에서는 숫자를 반복하지 않고 Excel에서 임의 추출하는 몇 가지 수식에 대해 설명합니다. 또한 반복 없이 난수, 날짜 및 문자열 목록을 생성할 수 있는 범용 난수 생성기를 보여줍니다.

아시다시피 Microsoft Excel에는 난수를 생성하는 몇 가지 기능이 있습니다. RAND, RANDBETWEEN 및 RANDARRAY와 같은. 그러나 함수의 결과가 중복되지 않는다는 보장은 없습니다.

이 자습서에서는 고유한 난수 목록을 만드는 몇 가지 공식을 설명합니다. 일부 수식은 최신 버전의 Excel 365 및 2021에서만 작동하고 다른 수식은 모든 버전의 Excel 2019, Excel 2016, Excel 2013 및 이전 버전에서 사용할 수 있습니다.

    Get 미리 정의된 단계가 있는 고유한 난수 목록

    동적 배열을 지원하는 Excel 365 및 Excel 2021에서만 작동합니다.

    최신 Excel 버전이 있는 경우 가장 쉬운 고유 난수 목록 을 얻는 방법은 3개의 새로운 동적 배열 함수인 SORTBY, SEQUENCE 및 RANDARRAY를 결합하는 것입니다.

    SORTBY(SEQUENCE( n), RANDARRAY( n))

    여기서 n 는 얻으려는 난수 값의 수입니다.

    예를 들어 5개의 난수 목록을 만들려면 다음을 사용합니다. 5 for n :

    =SORTBY(SEQUENCE(5), RANDARRAY(5))

    맨 위 셀에 수식을 입력하고 Enter 키를 누르면 결과가 자동으로지정된 셀 수입니다.

    아래 스크린샷에서 볼 수 있듯이 이 수식은 실제로 숫자를 1부터 5까지 임의의 순서로 정렬합니다 . 반복이 없는 고전적인 난수 생성기가 필요한 경우 아래에 나오는 다른 예를 확인하십시오.

    위 수식에서는 채울 행 수만 정의합니다. 다른 모든 인수는 기본값으로 유지됩니다. 즉, 목록이 1에서 시작하여 1씩 증가합니다. 다른 첫 번째 숫자와 증분을 원하는 경우 세 번째에 고유한 값을 설정합니다( start ) 및 SEQUENCE 함수의 4번째( step ) 인수입니다.

    예를 들어 100에서 시작하여 10씩 증가하려면 다음 공식을 사용합니다.

    =SORTBY(SEQUENCE(5, , 100, 10), RANDARRAY(5))

    이 수식의 작동 방식:

    수식의 기능은 다음과 같습니다.

    • SEQUENCE 함수는 지정된 또는 기본 시작 값 및 증분 단계 크기를 기반으로 하는 일련 번호. 이 시퀀스는 SORTBY의 array 인수로 이동합니다.
    • RANDARRAY 함수는 시퀀스와 동일한 크기의 난수 배열을 생성합니다(여기서는 5행, 1열). 최소값과 최대값은 실제로 중요하지 않으므로 기본값으로 둘 수 있습니다. 이 배열은 SORTBY의 by_array 인수로 이동합니다.
    • SORTBY 함수는 SEQUENCE에서 생성된 난수 배열을 사용하여 SEQUENCE에서 생성된 일련 번호를 정렬합니다.RANDARRAY.

    이 간단한 수식은 미리 정의된 단계 로 반복되지 않는 난수 목록을 생성한다는 점을 명심하십시오. 이 제한을 우회하려면 아래에 설명된 수식의 고급 버전을 사용하세요.

    중복이 없는 난수 목록 생성

    동적을 지원하는 Excel 365 및 Excel 2021에서만 작동합니다. arrays.

    Excel에서 중복 없이 난수를 생성하려면 아래의 일반 수식 중 하나를 사용하십시오.

    임의의 정수 :

    INDEX(UNIQUE( RANDARRAY( n ^2, 1, 최소 , 최대 , 참)), 시퀀스( n ))

    임의의 소수 :

    INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max , FALSE)), SEQUENCE( n ))

    여기서:

    • N 는 생성할 값의 수입니다.
    • Min 는 최소값입니다.
    • 최대 는 최대값입니다.

    예를 들어 5개의 임의 정수 목록을 생성하려면 반복 없이 1에서 100까지, 다음 수식을 사용하십시오.

    =INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100, TRUE)), SEQUENCE(5))

    5개의 고유한 무작위 십진수 를 생성하려면 RANDARRAY의 마지막 인수에 FALSE를 넣거나 이것을 생략하십시오. 인수:

    =INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100)), SEQUENCE(5))

    이 공식 작동 방식:

    At fi 처음에는 공식이 약간 까다로워 보일 수 있지만 자세히 보면 그 논리는 매우 간단합니다.

    • RANDARAY 함수는 지정한 최소값과 최대값을 기반으로 난수 배열을 만듭니다. 할 값의 수를 결정하려면생성하면 원하는 고유 수를 2의 거듭제곱으로 올립니다. 결과 배열에 중복 항목이 몇 개인지 아무도 모르기 때문에 UNIQUE가 선택할 수 있는 충분한 값 배열을 제공해야 합니다. 이 예에서는 5개의 고유 난수만 필요하지만 RANDARRAY에 25(5^2)를 생성하도록 지시합니다.
    • UNIQUE 함수는 모든 중복을 제거하고 중복이 없는 배열을 INDEX에 "피드"합니다.
    • UNIQUE에 의해 전달된 배열에서 INDEX 함수는 SEQUENCE에 지정된 첫 번째 n 개의 값을 추출합니다(여기서는 5개의 숫자). 값은 이미 임의의 순서로 되어 있기 때문에 어떤 값이 살아남는지는 중요하지 않습니다.

    참고. 매우 큰 배열에서 이 수식은 약간 느릴 수 있습니다. 예를 들어 최종 결과로 1,000개의 고유 숫자 목록을 얻으려면 RANDARRAY는 내부적으로 1,000,000개의 난수(1000^2) 배열을 생성해야 합니다. 이러한 상황에서는 거듭제곱하는 대신 n 에 10 또는 20을 곱할 수 있습니다. 더 작은 배열이 UNIQUE 함수에 전달된다는 점을 명심하십시오(원하는 숫자에 비해 상대적으로 작음). 고유한 난수 값), 유출 범위의 모든 셀이 결과로 채워지지 않을 가능성이 커집니다.

    Excel에서 반복되지 않는 난수 범위 만들기

    동적 배열을 지원하는 Excel 365 및 Excel 2021에서만 작동합니다.

    없음으로 난수 범위를 생성하려면반복하면 다음 공식을 사용할 수 있습니다.

    INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max )), SEQUENCE( rows , columns ))

    여기서:

    • n 는 채울 셀 수입니다. 수동 계산을 피하기 위해 (행 수 * 열 수)로 제공할 수 있습니다. 예를 들어 행 10개와 열 5개를 채우려면 50^2 또는 (10*5)^2를 사용합니다.
    • 은 채울 행 수입니다.
    • Columns 는 채울 열 수입니다.
    • Min 은 가장 낮은 값입니다.
    • Max 는 가장 높은 값입니다. value.

    알다시피 수식은 기본적으로 이전 예와 동일합니다. 유일한 차이점은 이 경우 행과 열의 수를 모두 정의하는 SEQUENCE 함수입니다.

    예를 들어 1에서 100까지의 고유한 난수로 10개의 행과 3개의 열 범위를 채우려면 다음을 사용합니다. 이 수식은 다음과 같습니다.

    =INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100)), SEQUENCE(10, 3))

    그리고 반복되는 숫자 없이 임의의 십진수 배열을 생성합니다.

    정수가 필요한 경우 RANDARRAY의 마지막 인수를 TRUE로 설정합니다. :

    =INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100, TRUE)), SEQUENCE(10,3))

    Excel 2019, 2016 및 이전 버전에서 고유한 난수를 생성하는 방법

    Excel 365 및 2021 이외의 버전은 동적 배열을 지원하지 않으므로 위의 어느 것도 솔루션은 이전 버전의 Excel에서 작동합니다. 그러나 이것은 솔루션이 전혀 없다는 것을 의미하지 않으며 몇 가지 추가 단계를 수행해야 합니다.

    1. 난수 목록을 만듭니다. 귀하의
      • 0과 1 사이의 임의의 소수점을 생성하는 RAND 함수 또는
      • 지정한 범위에서 임의의 정수를 생성하는 RANDBETWEEN 함수

      일부는 중복되어 나중에 삭제할 수 있으므로 실제로 필요한 것보다 더 많은 값을 생성해야 합니다.

      이 예에서는 다음과 같이 1에서 20 사이의 10개의 임의 정수 목록을 만듭니다. 아래 수식 사용:

      =RANDBETWEEN(1,20)

      한 번에 여러 셀에 수식을 입력하려면 모든 셀(이 예에서는 A2:A15)을 선택하고 수식 입력줄에 수식을 입력한 다음 Ctrl + Enter 를 누릅니다. 또는 평소와 같이 첫 번째 셀에 수식을 입력한 다음 필요한 만큼 셀 아래로 드래그할 수 있습니다.

      어쨌든 결과는 다음과 같습니다.

      14개의 셀에 수식을 입력했지만 결국 10개의 고유한 난수만 필요합니다.

    2. 공식을 값으로 변경합니다. RAND와 RANDBETWEEN 모두 워크시트가 변경될 때마다 재계산되므로 난수 목록이 계속 변경됩니다. 이를 방지하려면 선택하여 붙여넣기 > Values : 난수 재계산을 중지하는 방법에 설명된 대로 수식을 값으로 변환합니다.

      제대로 했는지 확인하려면 숫자를 선택하고 수식 입력줄을 살펴보세요. 이제 공식이 아닌 값을 표시해야 합니다.

    3. 중복 항목 삭제. 그것을 가지려면모든 숫자를 선택하고 데이터 탭 > 데이터 도구 그룹으로 이동한 다음 중복 제거 를 클릭합니다. 표시되는 중복 제거 대화 상자에서 아무 것도 변경하지 않고 확인을 클릭하기만 하면 됩니다. 자세한 단계는 Excel에서 중복을 제거하는 방법을 참조하십시오.

    완료! 모든 중복 항목이 사라졌으며 이제 초과된 번호를 삭제할 수 있습니다.

    팁. Excel의 기본 제공 도구 대신 Excel용 고급 Duplicate Remover를 사용할 수 있습니다.

    임의 숫자가 변경되지 않도록 하는 방법

    RAND, RANDBETWEEN 및 RANDARRAY를 포함한 Excel의 모든 무작위 기능 휘발성이므로 스프레드시트가 변경될 때마다 다시 계산됩니다. 결과적으로 변경될 때마다 새로운 무작위 값이 생성됩니다. 새 번호가 자동으로 생성되지 않도록 하려면 선택하여 붙여넣기 > 수식을 정적 값으로 대체하는 값 기능. 방법은 다음과 같습니다.

    1. 임의 수식으로 모든 셀을 선택하고 Ctrl + C를 눌러 복사합니다.
    2. 선택한 범위를 마우스 오른쪽 버튼으로 클릭하고 선택하여 붙여넣기 를 클릭합니다. > . 또는 Shift + F10을 누른 다음 이 옵션의 단축키인 V를 누를 수 있습니다.

    자세한 단계는 Excel에서 수식을 값으로 변경하는 방법을 참조하세요.

    반복이 없는 Excel용 난수 생성기

    Ultimate Suite 사용자는 실제로 위 솔루션이 필요하지 않습니다.그들은 이미 Excel에 범용 무작위 생성기를 가지고 있습니다. 이 도구는 반복되지 않는 정수, 소수점 숫자, 날짜 및 고유 암호 목록을 쉽게 생성할 수 있습니다. 방법은 다음과 같습니다.

    1. Ablebits 도구 탭에서 랜덤화 > 랜덤 생성기 를 클릭합니다.
    2. 선택 난수로 채울 범위.
    3. Random Generator 창에서 다음을 수행합니다.
      • 원하는 값 유형을 선택합니다: 정수, 실수, 날짜, 부울 , 사용자 지정 목록 또는 문자열(강력하고 고유한 암호 생성에 이상적!).
      • From To 값을 설정합니다.
      • 다음을 선택합니다. 고유 값 확인란을 선택합니다.
      • 생성 을 클릭합니다.

    완료했습니다! 선택한 범위는 한 번에 반복되지 않는 임의의 숫자로 채워집니다.

    이 도구를 사용해보고 Ultimate Suite에 포함된 다른 흥미로운 기능을 살펴보고 싶다면 평가판을 다운로드하세요.

    엑셀에서 중복없이 숫자를 무작위로 추출하는 방법입니다. 읽어 주셔서 감사합니다. 다음 주 블로그에서 뵙기를 바랍니다!

    다운로드용 워크북 연습

    Excel(.xlsx 파일)에서 고유한 난수 생성

    Michael Brown은 소프트웨어 도구를 사용하여 복잡한 프로세스를 단순화하려는 열정을 가진 열성적인 기술 애호가입니다. 기술 산업에서 10년 이상의 경험을 쌓은 그는 Microsoft Excel 및 Outlook은 물론 Google 스프레드시트 및 문서 도구에 대한 기술을 연마했습니다. Michael의 블로그는 자신의 지식과 전문 지식을 다른 사람과 공유하는 데 전념하며 따라하기 쉬운 팁과 생산성 및 효율성 향상을 위한 자습서를 제공합니다. 노련한 전문가이든 초보자이든 Michael의 블로그는 이러한 필수 소프트웨어 도구를 최대한 활용하기 위한 귀중한 통찰력과 실용적인 조언을 제공합니다.