VBA 고유 난수 생성기

Excel에서 난수를 생성하고 모든 번호가 고유해야하는 경우 (반복 없음) Excel Rand 함수를 사용하여 난수를 생성 할 수 있습니다.

이 기사에서는 고유 한 난수 목록을 빠르게 만드는 방법에 대해 알아 봅니다. 아래 단계를 따라야합니다.

개발자 탭을 클릭하십시오. 코드 그룹에서 Visual Basic을 선택하십시오

image

  • 워크 시트 모듈에 다음 코드를 입력하세요

Function DistinctRandomNumbers(NumCount As Long, LLimit As Long, ULimit As Long) As Variant

Dim RandColl As Collection, i As Long, varTemp() As Long

DistinctRandomNumbers = False

If NumCount< 1 Then Exit Function

If LLimit>ULimit Then Exit Function

If NumCount> (ULimit - LLimit + 1) Then Exit Function

Set RandColl = New Collection

Randomize

Do

On Error Resume Next

i = CLng(Rnd * (ULimit - LLimit) + LLimit)

RandColl.Addi, CStr(i)

On Error GoTo 0

Loop Until RandColl.Count = NumCount

ReDimvarTemp(1 To NumCount)

For i = 1 ToNumCount

varTemp(i) = RandColl(i)

Next i

Set RandColl = Nothing

DistinctRandomNumbers = varTemp

Erase varTemp

End Function



Sub Test()

Dim varrRandomNumberList As Variant

varrRandomNumberList = DistinctRandomNumbers(50, 1, 100)

Range(Cells(3, 1), Cells(50 + 2, 1)).Value = _

Application.Transpose(varrRandomNumberList)

End Sub

image

  • 코드를 복사 한 후 셀에 수식을 입력해야합니다

* = DistinctRandomNumbers (50, 1, 100)

image

이런 식으로 Excel 2013에서 반복하지 않고 고유 한 난수 목록을 만들 수 있습니다.

Excel 2016의 또 다른 방법

RANDBETWEEN 함수는 두 숫자 사이의 난수를 나타냅니다.

동일하게하려면 아래 단계를 따르십시오.

RANDBETWEEN 함수는 두 숫자 사이의 난수를 반환합니다.

구문 :

=RANDBETWEEN

( bottom, top )

하단 : 두 숫자 중 작은 숫자입니다.

위 : 두 숫자 중 큰 숫자입니다.

우리가 알고 있듯이 전화 번호는 다음과 같은 조건을 갖습니다.

  1. 10 자리 숫자입니다. 0으로 시작할 수 없습니다. 따라서 가능한 가장 작은 숫자는 1000000000이되고 가장 큰 숫자는 9999999999가됩니다. 따라서 아래에 표시된 공식을 사용하여 전화 번호를 생성하십시오

공식 사용 :

=

RANDBETWEEN

( 1000000000 , 9999999999 )

1000000000 : 작은 것 9999999999 : 큰 것

image

위의 스냅 샷과 같이 수식을 한 번만 입력하고 Excel에서 드래그 다운 옵션을 사용하여 결과를 반복합니다.

보시다시피 Excel에서 임의의 전화 번호를 얻을 수 있습니다.

주어진 목록에서 임의의 값을 선택하는 또 다른 방법

이를 위해 아래에 언급 된 두 가지 방법 중 하나를 선택할 수 있습니다. 한 가지 방법은`link : / lookup-formulas-how-to-use-the-choose-function-in-excel [CHOOSE function]`을 사용하는 것입니다. 여기서는 목록의 모든 개별 값을 함수에 입력해야합니다. 목록의 숫자 값이 더 적을 때이 공식을 사용할 수 있습니다.

CHOOSE 함수를 사용하는 수식 :

=

CHOOSE

(

RANDBETWEEN

( 1 , n) , “value1” , “value2” , “value3″,,,”value n” )

n : 목록 value1, value2, value3의 값 수, 값 n까지 : 목록의 개별 값. 이러한 값은 셀 참조를 사용하거나 따옴표와 함께 직접 사용하거나 셀 참조를 사용하여 입력 할 수 있습니다.

또 다른 방법은`link : / lookup-formulas-excel-index-function [INDEX function]`을 사용하는 것입니다. 여기서 임의의 숫자를 색인으로 제공하여 색인에서 해당 값을 생성합니다.

INDEX 함수를 사용하는 수식 :

=INDEX(data,

RANDBETWEEN

(1,ROWS

(data)),col_index)

data : 데이터 배열은 목록 또는 테이블 일 수 있습니다.

1 : 시작 인덱스 col_index : 테이블의 목록을 가리키는 열 인덱스.

참고 :

  1. 첫 번째 숫자 인수 (bottom)

두 번째 숫자 인수 (top)보다 큽니다.

  1. 함수에 대한 인수가 숫자가 아닌 경우 함수는 오류를 반환합니다.

Microsoft Excel에서 VBA를 사용하여 반복 번호가없는 난수 생성기에 대한이 기사가 설명되기를 바랍니다. 여기에서 난수 또는 날짜 값 생성에 대한 더 많은 기사를 찾아보십시오. 저희 블로그가 마음에 드 셨다면 Facebook에서 fristarts와 공유하세요. 또한 Twitter와 Facebook에서 우리를 팔로우 할 수 있습니다. 우리는 여러분의 의견을 듣고 싶습니다. 우리가 작업을 개선, 보완 또는 혁신하고 여러분을 위해 개선 할 수있는 방법을 알려주십시오. [email protected]로 문의 해주세요

image

`link : /wp-content-uploads-2015-05-Download-Random-Number-Generator-without-Repeat-Numbers-xlsm.xls [다운로드-반복 번호가없는 난수 생성기 -xlsm]

관련 기사 :

link : / excel-range-name-all-about-excel-named-ranges-excel-range-name [All About Excel Named Ranges]: 이름 태그가 지정된 Excel 범위는 Excel 수식에서 사용하기 쉽습니다. 여기에서 모두 알아보세요.

link : / excel-generals-relative-and-absolute-reference-in-excel [Excel의 상대 및 절대 참조]: Excel에서 상대 및 절대 참조를 이해하는 것은 Excel에서 효과적으로 작업하기 위해 매우 중요합니다. 셀과 범위의 상대 및 절대 참조.

link : / tips-random-phone-numbers-in-microsoft-excel [Generate Random Phone Numbers]: Excel에서 RANDBETWEEN 수식을 사용하여 임의의 10 자리 숫자 생성`link : / mathematical-functions-get-random-number- from-fixed-options [고정 옵션에서 난수 가져 오기]`: Excel에서 기준이있는 목록에서 난수를 생성합니다.

link : / excel-formula-and-function-excel-randbetween-function [Get Random numbers between two numbers]: Excel에서 주어진 두 숫자 사이의 RANDBETWEEN 함수 생성기 번호.

link : / excel-formula-and-function-excel-random-selection [Excel Random Selection : How to Get Random Sample From a Dataset]: 여기에 설명 된 예제는 Excel의 임의 샘플을 사용합니다.

link : / excel-formula-and-function-excel-randbetween-function-2 [Excel에서 RANDBETWEEN 함수 사용 방법]: Excel RANDBETWEEN 함수는 Excel에서 주어진 두 숫자 사이의 숫자를 반환합니다.

인기 기사 :

link : / keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [50 Excel 단축키로 생산성 향상]: 작업 속도를 높이세요. 이 50 개의 바로 가기를 사용하면 Excel에서 더 빠르게 작업 할 수 있습니다.

link : / tips-if-condition-in-excel [Excel에서 IF 함수 사용 방법]: Excel의 IF 문은 조건을 확인하고 조건이 TRUE 인 경우 특정 값을 반환하거나 FALSE 인 경우 다른 특정 값을 반환합니다. .

link : / formulas-and-functions-introduction-of-vlookup-function [Excel에서 VLOOKUP 함수 사용 방법]: 다양한 범위의 값을 조회하는 데 사용되는 Excel에서 가장 많이 사용되는 인기 함수 중 하나입니다. 및 시트.

link : / excel-formula-and-function-excel-sumif-function [Excel에서 SUMIF 함수 사용 방법]: 대시 보드의 또 다른 필수 기능입니다. 이를 통해 특정 조건에 대한 값을 합산 할 수 있습니다.

link : / tips-countif-in-microsoft-excel [Excel에서 COUNTIF 함수 사용 방법]:이 놀라운 함수를 사용하여 조건으로 값을 계산합니다. 특정 값을 계산하기 위해 데이터를 필터링 할 필요가 없습니다. Countif 기능은 대시 보드를 준비하는 데 필수적입니다.