무작위 테스트 데이터 생성 (Microsoft Excel)
다른 사람이 사용할 워크 시트를 개발할 때 해당 워크 시트를 테스트하여 예상대로 작동하는지 확인해야합니다.
복잡한 수식이 포함되어 있거나 중요한 목적으로 사용될 워크 시트의 경우 특히 그렇습니다. 워크 시트 테스트의 개념은 워크 시트 테스트에 사용할 일종의 데이터를 생성해야 함을 의미합니다.
전체 책은 소프트웨어 테스트 스위트를 모으는 것에 대해 작성되었습니다. 테스트 데이터를 얼마나 엄격하게 컴파일하는지는 대부분 청중의 요구 사항과 워크 시트의 특성에 따라 다릅니다.
불행히도 필요한 것을 자동으로 파악하고 데이터를 생성하는 빠른 치료법은 없습니다. 그러나 Excel에는이를 위해 사용할 수있는 도구가 있습니다.
첫째, 임의의 숫자 값을 생성해야하는 경우 RAND 또는 RANDBETWEEN 워크 시트 함수를 사용할 수 있습니다. 차이점은 RAND는 0과 1 사이의 값을 생성하고 RANDBETWEEN은 사용자가 설정 한 경계 사이의 정수 값을 생성한다는 것입니다.
그러나 임의 데이터는 테스트 요구에 적합하지 않을 수 있습니다. 공식의 경계를 테스트 할 때 특히 그렇습니다.
예를 들어 큰 값, 작은 값 또는 큰 값과 작은 값의 조합으로 테스트합니다. 마찬가지로 숫자가 아닌 텍스트를 입력으로 사용하거나 그 반대로 사용하는 것과 같이 부적절한 값을 테스트 할 수 있습니다. 고려할 필요가있는 조건의 전체 조건이 있으며 필요에 맞는 데이터 유형을 선택하십시오.
원하는 경우 매크로를 사용하여 테스트 데이터를 생성 할 수 있습니다. 다음 매크로는 설정 한 경계 (최소 및 최대) 사이의 임의의 숫자 값으로 선택한 셀 범위를 채 웁니다.
Sub RandNums() Dim MyRange As Range Dim lMin As Long, lMax As Long Dim dRand As Double ' If selection is not Excel Range If TypeName(Selection) <> "Range" Then Exit Sub Set MyRange = Selection ' Get Min and Max value lMin = CLng(InputBox("Minimum?")) lMax = CLng(InputBox("Maximum?")) Randomize Application.ScreenUpdating = False For Each c In MyRange.Cells ' Calculate random value, where ' Value >= Min And Value <= Max dRand = Rnd * (lMax - lMin) + lMin ' Use the following line only if the random ' value should be an integer ' dRand = Int(dRand) c.Value = dRand Next c Application.ScreenUpdating = True End Sub
매크로를 사용하려면 임의의 숫자 값을 포함 할 셀 범위를 선택한 다음 매크로를 실행하면됩니다. 셀에 정수 값을 사용해야하는 경우 매크로 내에서 표시된 줄의 “주석을 제거”할 수 있습니다.
임의의 날짜로 셀 범위를 채우려면 RandNums 매크로를 약간 수정하면 다음과 같은 결과가 나타납니다.
Sub RandDates() Dim MyRange As Range Dim dtMin As Date, dtMax As Date Dim dtRand As Date ' If selection is not Excel Range If TypeName(Selection) <> "Range" Then Exit Sub Set MyRange = Selection ' Get Min and Max value ' From: 1/1/1990 (put your start Date) dtMin = #1/1/1990# ' To: Today dtMax = Date Randomize Application.ScreenUpdating = False For Each c In MyRange.Cells ' Calculate random value, where ' Value >= Min And Value <= Max dtRand = Rnd * (dtMax - dtMin) + dtMin dtRand = Int(dtRand) c.Value = dtRand ' Change format for cell, below, as desired c.NumberFormat = "m/d/yyyy" Next c Application.ScreenUpdating = True End Sub
다시 말하지만 범위를 선택한 다음 매크로를 실행하면됩니다. 원하는 날짜의 경계를 지정하기 위해 dtMin 및 dtMax 변수에 설정된 초기 값을 수정할 수 있습니다. 원하는 경우 임의의 날짜가 셀에 저장된 후 셀에 적용된 서식을 변경할 수도 있습니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶으면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (2077)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.
link : / excelribbon-Generating_Random_Testing_Data [임의 테스트 데이터 생성]
.