Excel RANDARRAY 함수 - 난수를 생성하는 빠른 방법

  • 이 공유
Michael Brown

튜토리얼은 난수를 생성하고, 목록을 무작위로 정렬하고, 무작위로 선택하고, 그룹에 데이터를 무작위로 할당하는 방법을 보여줍니다. 모두 새로운 동적 배열 함수인 RANDARRAY.

아마도 아시다시피 Microsoft Excel에는 RAND 및 RANDBETWEEN과 같은 몇 가지 무작위 함수가 이미 있습니다. 다른 것을 소개하는 것이 무슨 의미가 있습니까? 간단히 말해서 훨씬 더 강력하고 이전 기능을 모두 대체할 수 있기 때문입니다. 자신의 최대값과 최소값을 설정하는 것 외에도 채울 행과 열의 수와 임의의 소수 또는 정수를 생성할지 여부를 지정할 수 있습니다. 다른 함수와 함께 사용하면 RANDARRAY는 데이터를 섞고 임의의 샘플을 선택할 수도 있습니다.

    Excel RANDARRAY 함수

    Excel의 RANDARRAY 함수는 사이의 난수 배열을 반환합니다. 임의의 두 숫자를 지정합니다.

    Microsoft Excel 365에 도입된 6개의 새로운 동적 배열 함수 중 하나입니다. 결과는 지정된 수의 행과 열로 자동으로 분할되는 동적 배열입니다.

    함수의 구문은 다음과 같습니다. 모든 인수는 선택 사항입니다.

    RANDARRAY([rows], [columns], [min], [max], [whole_number])

    Where:

    Rows (선택 사항) - 채울 행 수를 정의합니다. 생략하면 기본값은 1행입니다.

    (선택 사항) - 채울 열 수를 정의합니다. 생략하면 기본값은 1참가자를 그룹에 임의로 할당하는 경우 위의 공식은 주어진 그룹이 선택되는 횟수를 제어하지 않기 때문에 적합하지 않을 수 있습니다. 예를 들어 그룹 A에는 5명을 할당하고 그룹 C에는 2명만 할당할 수 있습니다. 무작위 할당을 균등하게 수행하여 각 그룹에 동일한 수의 참가자가 있도록 하려면 다른 솔루션이 필요합니다.

    먼저 다음 수식을 사용하여 난수 목록을 생성합니다.

    =RANDARRAY(ROWS(A2:A13))

    여기서 A2:A13은 소스 데이터입니다.

    그런 다음 다음 일반 수식을 사용하여 그룹(또는 다른 항목)을 할당합니다.

    INDEX( values_to_assign, ROUNDUP(RANK( first_random_number, random_numbers_range)/ n, 0))

    여기서 n 는 그룹 크기, 즉 각 값을 할당해야 하는 횟수입니다.

    예를 들어 E2:E5에 나열된 그룹에 사람을 무작위로 할당하여 각 그룹에 3명의 참가자가 있도록 하려면 다음 수식을 사용합니다.

    =INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))

    동적 배열 수식!)이므로 위 수식과 같이 절대 참조로 범위를 잠가야 합니다.

    수식을 맨 위 셀(이 경우 C2)에 입력하고 n 필요한 만큼의 셀로 드래그합니다. 결과는 다음과 유사합니다.

    RANDARAY 함수는 휘발성임을 기억하십시오. 워크시트에서 항목을 변경할 때마다 새 임의 값이 생성되지 않도록 하려면 선택하여 붙여넣기 기능을 사용하여 값이 있는 수식.

    이 수식이 작동하는 방식:

    도우미 열의 RANDARRAY 수식은 매우 간단합니다. 거의 설명이 필요하지 않으므로 C열의 수식에 초점을 맞추겠습니다.

    =INDEX($E$2:$E$5, ROUNDUP(RANK(B2,$B$2:$B$13)/3,0))

    RANK 함수는 B2:B13의 난수 배열에 대해 B2의 값에 순위를 매깁니다. 결과는 1과 총 참가자 수(여기서는 12명) 사이의 숫자입니다.

    순위는 그룹 크기(이 예에서는 3)로 나누고 ROUNDUP 함수는 다음과 같이 반올림합니다. 가장 가까운 정수. 이 작업의 결과는 1과 총 그룹 수 사이의 숫자입니다(이 예에서는 4).

    정수는 INDEX 함수의 row_num 인수로 이동하여 강제로 할당된 그룹을 나타내는 E2:E5 범위의 해당 행에서 값을 반환합니다.

    Excel RANDARRAY 함수가 작동하지 않습니다.

    RANDARRAY 수식이 오류를 반환할 때 가장 분명한 것은 다음과 같습니다. 확인 이유:

    #SPILL error

    다른 동적 배열 함수와 마찬가지로 #SPILL! 오류는 의도한 유출 범위에 모든 결과를 표시하기에 충분한 공간이 없음을 의미합니다. 이 범위의 모든 셀을 지우면 수식이 자동으로 다시 계산됩니다. 자세한 내용은 Excel #SPILL 오류 - 원인 및 수정을 참조하세요.

    #VALUE 오류

    A #VALUE! 이러한 오류가 발생할 수 있습니다상황:

    • max 값이 min 값보다 작은 경우.
    • 인수가 숫자가 아닌 경우.

    #NAME 오류

    대부분의 경우 #NAME! 오류는 다음 중 하나를 나타냅니다.

    • 함수의 이름이 잘못되었습니다.
    • 이 함수는 Excel 버전에서 사용할 수 없습니다.

    #CALC! 오류

    #CALC! rows 또는 columns 인수가 1보다 작거나 빈 셀을 참조하는 경우 오류가 발생합니다.

    새로운 RANDARRAY 함수. 읽어 주셔서 감사합니다. 다음 주에 저희 블로그에서 뵙기를 바랍니다!

    다운로드용 실습 워크북

    RANDARRAY 수식 예제(.xlsx 파일)

    column.

    Min (선택 사항) - 생성할 가장 작은 난수입니다. 지정하지 않으면 기본 0 값이 사용됩니다.

    Max (옵션) - 생성할 최대 난수입니다. 지정하지 않으면 기본값 1이 사용됩니다.

    Whole_number (선택 사항) - 반환할 값의 종류를 결정합니다.

    • TRUE - 정수
    • FALSE 또는 생략(기본값) - 십진수

    RANDARRAY 함수 - 기억해야 할 사항

    Excel 워크시트에서 난수를 효율적으로 생성하려면 6가지 중요한 사항이 있습니다. 주의 사항:

    • RANDARAY 함수는 Microsoft 365 및 Excel 2021용 Excel에서만 사용할 수 있습니다. Excel 2019, Excel 2016 및 이전 버전에서는 RANDARRAY 함수를 사용할 수 없습니다.
    • RANDARRAY에서 반환된 배열이 최종 결과(셀에 출력되고 다른 함수로 전달되지 않음)인 경우 Excel은 자동으로 동적 유출 범위를 만들고 임의의 숫자로 채웁니다. 따라서 수식을 입력하는 셀의 아래 및/또는 오른쪽에 충분한 빈 셀이 있는지 확인하십시오. 그렇지 않으면 #SPILL 오류가 발생합니다.
    • 인수를 지정하지 않으면 RANDARRAY( ) 수식은 0과 1 사이의 단일 십진수를 반환합니다.
    • rows 또는/및 columns 인수가 십진수로 표시되는 경우 소수점 앞의 정수(예: 5.9는5).
    • min 또는 max 인수가 정의되지 않은 경우 RANDARRAY의 기본값은 각각 0과 1입니다.
    • 다른 무작위와 마찬가지로 기능에서 Excel RANDARRAY는 휘발성 이므로 워크시트가 계산될 때마다 새로운 임의 값 목록을 생성합니다. 이를 방지하려면 Excel의 선택하여 붙여넣기 > 기능을 사용하여 수식을 값으로 바꿀 수 있습니다.

    기본 Excel RANDARRAY 수식

    이제 가장 간단한 형태의 임의 Excel 수식을 보여 드리겠습니다.

    5행 3열로 구성된 범위를 임의의 숫자로 채우고 싶다고 가정해 보겠습니다. 완료하려면 처음 두 인수를 다음과 같이 설정합니다.

    • Rows 는 5개의 행으로 결과를 원하므로 5입니다.
    • Columns 는 3개 열의 결과를 원하므로 3입니다.

    다른 모든 인수는 기본값으로 두고 다음 공식을 얻습니다.

    =RANDARRAY(5, 3)

    대상 범위의 왼쪽 상단 셀(여기서는 A2)에 입력하고 Enter 키를 누르면 지정된 수의 행과 열에 결과가 표시됩니다.

    위 스크린샷에서 볼 수 있듯이 이 기본 RANDARRAY 수식은 0에서 1까지의 임의의 십진수로 범위를 채웁니다. 특정 범위 내에서 정수를 얻으려면 마지막 추가 예에서 설명하는 세 가지 인수.

    에서 무작위화하는 방법Excel - RANDARRAY 수식 예

    아래에서 Excel의 일반적인 무작위 시나리오를 다루는 몇 가지 고급 수식을 찾을 수 있습니다.

    두 숫자 사이에 난수 생성

    목록을 만들려면 특정 범위 내의 임의의 숫자는 세 번째 인수에 최소값을 제공하고 네 번째 인수에 최대 수를 제공합니다. 정수 또는 소수가 필요한지 여부에 따라 5번째 인수를 각각 TRUE 또는 FALSE로 설정합니다.

    예를 들어 1에서 100까지의 임의의 정수로 6개 행과 4개 열의 범위를 채웁니다. 이를 위해 , RANDARRAY 함수의 다음 인수를 설정합니다.

    • Rows 는 6개 행의 결과를 원하므로 6입니다.
    • Columns 는 4열의 결과를 원하기 때문에 4입니다.
    • Min 은 1이며, 이는 원하는 최소값입니다.
    • Max 는 생성할 최대값인 100입니다.
    • Whole_number 는 정수가 필요하기 때문에 TRUE입니다.

    인수를 함께 넣으면 이 수식:

    =RANDARRAY(6, 4, 1, 100, TRUE)

    그리고 다음 결과를 생성합니다.

    두 날짜 사이에 임의의 날짜 생성

    Excel에서 임의의 날짜 생성기를 찾고 계십니까? RANDARRAY 기능은 쉬운 솔루션입니다! 사전 정의된 셀에 이전 날짜(날짜 1) 및 이후 날짜(날짜 2)를 입력한 다음 수식에서 해당 셀을 참조하기만 하면 됩니다.

    RANDARRAY(rows, columns, date1, 날짜2, TRUE)

    이 예에서는 다음 공식을 사용하여 D1과 D2의 날짜 사이에 임의의 날짜 목록을 만들었습니다.

    =RANDARRAY(10, 1, D1, D2, TRUE)

    물론 원하는 경우 수식에 직접 최소 및 최대 날짜를 제공하는 것을 방해하는 것은 없습니다. Excel에서 이해할 수 있는 형식으로 입력해야 합니다.

    =RANDARRAY(10, 1, "1/1/2020", "12/31/2020", TRUE)

    실수를 방지하려면 날짜를 입력할 때 DATE 함수를 사용할 수 있습니다.

    =RANDARRAY(10, 1, DATE(2020,1,1), DATE(2020,12,31), TRUE)

    참고. 내부적으로 Excel은 날짜를 일련 번호로 저장하므로 수식 결과는 대부분 숫자로 표시됩니다. 결과를 올바르게 표시하려면 유출 범위의 모든 셀에 날짜 형식을 적용하십시오.

    Excel에서 임의 근무일 생성

    임의 근무일을 생성하려면 다음과 같이 WORKDAY의 첫 번째 인수에 RANDARRAY 함수를 삽입합니다.

    WORKDAY(RANDARRAY(rows, columns, date1<2

    D1에 날짜 1이 있고 D2에 날짜 2가 있는 경우 평일 10개의 목록을 생성하는 공식은 다음과 같습니다.

    =WORKDAY(RANDARRAY(10, 1, D1, D2, TRUE), 1)

    다음과 같이 이전 예에서 결과가 올바르게 표시되도록 유출 범위를 날짜 형식으로 지정해야 합니다.

    중복 없이 난수를 생성하는 방법

    최신 Excel은 6개를 제공하지만 새로운 동적 배열함수는 안타깝게도 중복 없이 난수를 반환하는 내장 함수가 아직 없습니다.

    Excel에서 자신만의 고유 난수 생성기 를 구축하려면 다음과 같이 여러 함수를 연결해야 합니다. 아래.

    임의의 정수 :

    INDEX(UNIQUE(RANDARRAY( n*2, 1, min, max, TRUE)), SEQUENCE( n))

    임의의 소수 :

    INDEX(UNIQUE(RANDARRAY( n*2, 1, 최소, 최대, FALSE)), SEQUENCE( n))

    여기서:

    • N 는 생성하려는 값의 수입니다.
    • Min 은 가장 낮은 값입니다.
    • Max 는 가장 높은 값입니다.

    예를 들어 중복이 없는 10개의 임의 정수를 생성하려면 다음 공식을 사용합니다.

    =INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, TRUE)), SEQUENCE(10))

    10개의 고유 임의 십진수 목록, RANDARRAY 함수의 마지막 인수에서 TRUE를 FALSE로 변경하거나 다음 인수를 생략하십시오:

    =INDEX(UNIQUE(RANDARRAY(20, 1, 1, 100, FALSE)), SEQUENCE(10))

    팁 및 참고 사항:

    • 공식에 대한 자세한 설명은 f일 수 있습니다. 중복 없이 Excel에서 난수를 생성하는 방법에 있습니다.
    • Excel 2019 및 이전 버전에서는 RANDARRAY 함수를 사용할 수 없습니다. 대신 이 솔루션을 확인하십시오.

    Excel에서 임의로 정렬하는 방법

    Excel에서 데이터를 섞으려면 "정렬 기준" 배열( by_array 인수) SORTBY 함수의. ROWS 함수는 사용자의 행 수를 계산합니다.생성할 난수 수를 나타내는 데이터 세트:

    SORTBY( data, RANDARRAY(ROWS( data)))

    이 접근 방식을 사용하면 숫자, 날짜 또는 텍스트 항목이 포함되어 있는지 여부에 관계없이 Excel에서 목록 을 무작위로 정렬합니다.

    =SORTBY(A2:A13, RANDARRAY(ROWS(A2:A13)))

    또한 데이터를 섞지 않고 행 섞기:

    =SORTBY(A2:B10, RANDARRAY(ROWS(A2:B10)))

    Excel에서 무작위 선택을 얻는 방법

    무작위 추출하기 목록에서 샘플을 사용하려면 다음과 같은 일반 수식이 있습니다.

    INDEX( data, RANDARRAY( n, 1, 1, ROWS( data), TRUE))

    여기서 n 는 추출하려는 임의 항목 수입니다.

    예를 들어 A2:A10의 목록에서 3개의 이름을 임의로 선택하려면 다음 공식을 사용합니다. :

    =INDEX(A2:A10, RANDARRAY(3, 1, 1, ROWS(A2:A10), TRUE))

    또는 C2와 같은 일부 셀에 원하는 샘플 크기를 입력하고 해당 셀을 참조합니다.

    =INDEX(A2:A10, RANDARRAY(C2, 1, 1, ROWS(A2:A10), TRUE))

    이 공식의 작동 방식:

    이 공식의 핵심은 생성할 값의 수를 정의하는 C2의 값과 함께 임의의 정수 배열을 생성하는 RANDARRAY 함수입니다. . 최소 수는 하드코딩(1)되고 최대 수는 ROWS 함수에서 반환되는 데이터 세트의 행 수에 해당합니다.

    무작위 정수 배열은 row_num 반환할 항목의 위치를 ​​지정하는 INDEX 함수의 인수. 위 스크린샷의 샘플은

    =INDEX(A2:A10, {8;7;4})

    팁입니다. 큰 샘플을 뽑을 때데이터 세트가 작은 경우 RANDARRAY가 고유한 숫자만 생성한다는 보장이 없기 때문에 임의 선택에 동일한 항목이 두 번 이상 포함될 가능성이 있습니다. 이런 일이 발생하지 않도록 하려면 이 수식의 중복 없는 버전을 사용하십시오.

    Excel에서 임의의 행을 선택하는 방법

    데이터 세트에 둘 이상의 열이 포함된 경우 샘플에 포함할 열을 지정합니다. 이를 위해 다음과 같이 INDEX 함수의 마지막 인수( column_num )에 대한 배열 상수를 제공합니다.

    =INDEX(A2:B10, RANDARRAY(D2, 1, 1, ROWS(A2:A10), TRUE), {1,2})

    여기서 A2:B10은 소스 데이터이고 D2는 샘플 크기입니다.

    결과적으로 임의 선택에는 두 개의 데이터 열이 포함됩니다.

    팁. 이전 예의 경우와 마찬가지로 이 수식은 중복 레코드를 반환할 수 있습니다. 샘플에 반복이 없도록 하려면 중복 없이 임의 행을 선택하는 방법에 설명된 약간 다른 접근 방식을 사용합니다.

    엑셀에서 숫자와 텍스트를 임의로 지정하는 방법

    엑셀에서 임의로 지정하려면 다음과 같이 RANDBETWEEN을 CHOOSE 함수와 함께 사용하세요.

    CHOOSE(RANDARRAY(ROWS( data ), 1, 1, n , 참), 값1 , 값2 ,…)

    여기서:

    • 데이터 는 무작위 값을 할당하려는 소스 데이터의 범위입니다.
    • N 은 할당할 값의 총 개수입니다.
    • Value1 , value2 , value3 등은무작위로 할당됩니다.

    예를 들어 A2:A13에서 참가자에게 1에서 3까지의 숫자를 할당하려면 다음 수식을 사용합니다.

    =CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), 1, 2, 3)

    편의를 위해 D2에서 D4까지 별도의 셀에 할당할 값을 입력하고 수식에서 해당 셀을 참조할 수 있습니다(범위가 아닌 개별적으로):

    =CHOOSE(RANDARRAY(ROWS(A2:A13), 1, 1, 3, TRUE), D2, D3, D4)

    결과적으로 동일한 수식을 사용하여 임의의 숫자, 문자, 텍스트, 날짜 및 시간을 할당할 수 있습니다.

    참고. RANDARRAY 함수는 워크시트가 변경될 때마다 새 임의 값을 계속 생성하므로 매번 새 값이 할당됩니다. 할당된 값을 "고정"하려면 선택하여 붙여넣기 > 수식을 계산된 값으로 대체하는 값 기능입니다.

    이 공식의 작동 원리

    이 솔루션의 핵심은 사용자가 지정하는 최소 및 최대 숫자(1부터 우리의 경우 3까지). ROWS 함수는 RANDARRAY에게 생성할 난수 수를 알려줍니다. 이 배열은 CHOOSE 함수의 index_num 인수로 이동합니다. 예:

    =CHOOSE({1;2;1;2;3;2;3;3;1;3;1;2}, D2, D3, D4)

    Index_num 은 반환할 값의 위치를 ​​결정하는 인수입니다. 그리고 위치가 무작위이기 때문에 D2:D4의 값은 무작위 순서로 선택됩니다. 예, 간단합니다 :)

    그룹에 데이터를 무작위로 할당하는 방법

    작업이

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