Excel에서 데이터 목록에서 값을 무작위로 채우려면 어떻게 해야 하나요?
Excel에서 미리 정의된 목록에서 값을 무작위로 선택하는 것은 데이터 분석, 시뮬레이션, 무작위 할당, 샘플링, 테스트 시나리오 등에 응용할 수 있는 일반적인 작업입니다. 예를 들어, 경품 추첨을 시뮬레이션하거나 품질 보증을 위해 무작위 테스트 케이스를 할당하거나 팀원 간에 작업을 무작위로 배분하고 싶을 수 있습니다. 이를 Excel에서 수행하면 수동 선택에 비해 워크플로가 훨씬 효율적이며 오류 발생 가능성이 줄어듭니다.
이 포괄적인 가이드에서는 모든 사용자에게 적합한 간단한 수식 기반 접근 방식부터 VBA를 통한 고급 자동화, 그리고 Kutools for Excel과 같은 전문화되고 사용자 친화적인 도구를 활용한 방법까지 다양한 방법으로 이 목표를 달성하는 방법을 안내합니다. 각 방법은 자체적인 장점과 이상적인 사용 시나리오를 가지고 있으며, 아래에서 분석하여 귀하의 필요에 맞는 최상의 솔루션을 선택하는 데 도움을 드립니다.
수식을 사용하여 데이터 목록에서 값을 무작위로 채우기
이 섹션에서는 지정된 목록에서 값을 무작위로 채우기 위한 여러 실용적인 수식 기반 방법을 안내합니다. 이러한 솔루션은 추가 설치가 필요 없으며 대부분의 최신 Excel 버전에서 빠르게 구현할 수 있습니다.
✅ 수식1: INDEX + RANDBETWEEN 함수
INDEX와 RANDBETWEEN 함수의 조합은 목록에서 값을 무작위로 선택하는 클래식하고 버전 호환 가능한 방법입니다. 중복 선택이 허용되는 경우, 즉 무작위 샘플링이나 모의 데이터 생성에서 단일 또는 다중 무작위 값을 빠르게 생성하는 데 적합합니다.
이 방법을 사용하려면 다음 수식을 빈 셀(예: B2)에 복사하거나 입력한 후, 필요한 만큼 많은 무작위 값을 채우기 위해 채우기 핸들을 아래로 드래그하세요. 수식에는 휘발성 함수(예: RANDBETWEEN)가 포함되어 있으므로 시트가 다시 계산될 때마다 결과가 변경됩니다.
=INDEX($A$2:$A$15, RANDBETWEEN(1, COUNTA($A$2:$A$15)))
- A2:A15: 무작위로 선택할 값 목록을 나타냅니다.
- COUNTA($A$2:$A$15): 목록의 항목 수를 동적으로 계산하여 목록 길이가 변경되더라도 수식이 강력하게 유지되도록 합니다.
- RANDBETWEEN(1, n): 목록의 항목 수(n) 사이에서 임의의 정수를 생성합니다.
- INDEX(range, number): 목록에서 무작위로 선택된 위치에 해당하는 항목을 검색합니다.
주의 사항: 워크시트에서 어떤 변경이 있더라도 값이 새로고침되므로, 결과를 고정해야 하는 경우 채워진 셀을 복사하여 값으로 붙여넣으세요. 또한, 이 전략은 중복을 제외하지 않으므로 고유성을 요구하는 경우 후속 섹션에서 설명된 방법을 사용하거나 후처리를 수행하세요.
✅ 수식2: INDEX + RANDARRAY 함수 (Excel 365 / 2021+)
INDEX와 RANDARRAY 함수의 조합은 Excel 365 및 Excel 2021 사용자에게 적합합니다. 이 접근 방식은 동적 배열을 활용하여 한 번에 무작위 선택 배치를 출력하여 많은 양의 무작위 선택을 단일 단계로 처리하는 워크플로를 간소화합니다. 특히 특정 수량의 무작위 선택이 빠르게 필요한 경우 유용합니다. 그러나 이전 수식과 마찬가지로 이 방법도 배치 내 결과의 고유성을 보장하지 않습니다.
이 솔루션을 사용하려면 공백 셀(예: B2)에 수식을 입력하고 Enter를 누릅니다. Excel은 자동으로 생성된 무작위 값을 후속 행에 “스필”합니다. 예를 들어, 다음 수식은 목록에서 5개의 무작위 값을 출력합니다:
=INDEX(A2:A15, RANDARRAY(5, 1, 1, COUNTA(A2:A15), TRUE))
- A2:A15: 무작위 선택을 위한 지정된 데이터 목록.
- COUNTA(A2:A15): 대상 목록의 항목을 계산합니다.
- RANDARRAY(5,1,1, COUNTA(...), TRUE): 목록의 첫 번째 위치와 마지막 위치 사이에서 5개의 무작위 정수를 생성하여 수직 배열(1열)을 생성합니다.
- INDEX(A2:A15, …): 각 무작위 숫자를 목록의 값에 매핑합니다.
팁: 다른 수량의 무작위 값이 필요한 경우 RANDARRAY(5,1, ...)
의 5를 적절히 조정하세요. 결과를 고정해야 하는 경우 항상 값을 붙여넣으세요. 수식 기반 출력은 시트 변경과 함께 업데이트됩니다.
VBA를 사용하여 목록에서 값을 무작위로 채우기 (고급 & 맞춤형 솔루션)
대규모 무작위 값 할당을 자동화하거나 중복을 방지하거나 선택 중에 복잡한 논리를 적용해야 하는 경우 VBA(Visual Basic for Applications) 접근 방식이 이상적입니다. VBA를 사용하면 진정으로 고유한 무작위 선택을 생성하고 맞춤형 분포 논리를 적용하며 단일 명령으로 작업을 반복할 수 있어 고급 시뮬레이션, 자동 무작위 할당 또는 광범위한 데이터 세트 작업에 유용합니다.
이 솔루션은 매크로에 익숙한 사용자 또는 Excel 워크플로를 자동화하려는 사용자에게 적합합니다.
1. 개발 도구 > Visual Basic(또는 Alt + F11)을 클릭하여 VBA 편집기를 엽니다. 그러면 Microsoft Visual Basic for Applications 창이 열립니다. 그런 다음 삽입 > 모듈로 이동하여 아래 코드를 모듈 창에 붙여넣습니다:
Sub RandomFillFromList_NoDuplicates()
Dim srcRange As Range
Dim destRange As Range
Dim srcValues As Variant
Dim destCount As Integer
Dim usedIndexes As Object
Dim i As Integer
Dim randIndex As Integer
On Error Resume Next
Set srcRange = Application.InputBox("Select source list", "KutoolsforExcel", Type:=8)
If srcRange Is Nothing Then Exit Sub
Set destRange = Application.InputBox("Select destination range (number of random values to fill)", "KutoolsforExcel", Type:=8)
If destRange Is Nothing Then Exit Sub
srcValues = Application.Transpose(srcRange.Value)
destCount = destRange.Cells.Count
Set usedIndexes = CreateObject("Scripting.Dictionary")
If UBound(srcValues) < destCount Then
MsgBox "Not enough unique items in the source list to fill destination without duplicates.", vbExclamation, "KutoolsforExcel"
Exit Sub
End If
Randomize
For i = 1 To destCount
Do
randIndex = Int(Rnd() * UBound(srcValues)) + 1
Loop While usedIndexes.Exists(randIndex)
usedIndexes(randIndex) = True
destRange.Cells(i).Value = srcValues(randIndex)
Next
End Sub
2. VBA 도구 모음의 버튼을 클릭하여 매크로를 실행합니다. 매크로는 (a) 소스 목록(선택할 값 범위)과 (b) 출력 범위(추출할 무작위 값의 수만큼 셀을 선택)를 선택하라는 메시지를 표시합니다. 코드는 소스 목록이 충분히 크면 출력에 중복 값이 없도록 보장합니다. 그렇지 않으면 경고가 표시됩니다.
이 VBA 방법은 다음과 같은 장점과 고려 사항을 제공합니다:
- 장점: 무작위이며 중복되지 않는 선택을 보장합니다. 매우 큰 목록 및 배치를 처리할 수 있으며, 반복 작업을 쉽게 자동화할 수 있습니다.
- 단점: 매크로 활성화된 Excel 파일이 필요합니다. 워크북에서 매크로를 제한하는 경우 이 접근 방식이 적합하지 않을 수 있습니다. 대상 수가 소스 항목 수를 초과하면 오류가 발생할 수 있습니다.
- 오류 알림: 요청에 대해 소스 목록에 충분한 고유한 값이 없는 경우 매크로가 알림을 표시합니다.
- 맞춤 팁: 고유성 확인을 제거하거나 가중치 또는 필터링 논리를 구현하여 코드를 더 맞춤 설정하여 중복을 허용하거나 더 전문화된 시나리오를 처리할 수 있습니다.
Kutools for Excel을 사용하여 데이터 목록에서 값을 무작위로 선택하고 채우기 (모든 버전)
Kutools for Excel은 목록에서 값을 무작위로 선택하고 채우는 간편하고 대화형 솔루션을 제공합니다. 수식이나 코드를 작성하지 않고 무작위 할당을 처리하거나 최소한의 수동 입력으로 대량의 선택을 신속하게 처리하려는 사용자에게 이상적입니다. Kutools는 선택할 값의 수와 같은 출력 옵션을 제어할 수 있도록 직관적인 대화 상자 인터페이스를 제공합니다.
Kutools for Excel을 설치한 후 내장된 무작위 선택 기능을 사용하려면 다음 단계를 따르세요:
- 무작위로 선택하려는 값이 포함된 범위를 선택합니다.
- 클릭 Kutools > 범위 > 정렬/범위 무작위 선택아래 스크린샷을 참조하세요:
- 다음 정렬/범위 무작위 선택 대화 상자에서 선택 탭으로 이동하여 다음을 수행합니다:
- 무작위로 선택할 셀 수를 지정합니다.
- 선택 유형 내에서 무작위 셀 선택 옵션을 선택했는지 확인합니다.
- 마지막으로 확인 버튼을 클릭합니다.
- 지정된 수의 무작위 셀이 강조 표시되거나 선택됩니다. 그런 다음 필요에 따라 이러한 셀을 다른 곳에 복사하여 붙여넣을 수 있습니다.
Kutools 방법은 단순함 외에도 수동 무작위화로 인한 일반적인 실수를 방지하며 Excel 수식이나 매크로 설정에 대한 지식이 필요하지 않습니다. 선택에서 고유한 값을 원하는 경우 소스 목록이 선택하려는 항목 수보다 크고 중복 없이 선택할 수 있는 옵션이 있는지 대화 상자에서 확인하세요.
🔚결론
미리 정의된 목록에서 값을 무작위로 채우는 것은 다양한 지식 수준과 시나리오에 적합한 다양한 기술을 사용하여 효율적으로 관리할 수 있습니다:
- 모든 Excel 버전에서 INDEX와 RANDBETWEEN 수식은 중복을 허용하는 목록에서 무작위 선택을 생성하는 데 빠르고 신뢰할 수 있습니다.
- Excel 365 또는 2021을 사용하는 경우 RANDARRAY + INDEX 솔루션은 많은 출력이 한 번에 필요할 때 프로세스를 가속화하는 동적 배치 선택을 제공합니다.
- 고도로 맞춤화된 요구 사항—예를 들어 중복 방지, 대규모 무작위 할당 자동화 또는 복잡한 선택 논리 처리—VBA 방법은 최대한의 유연성을 제공하지만 사용자는 매크로 실행에 익숙해야 합니다.
- 코드를 사용하지 않고 사용자 친화적인 접근 방식을 선호하는 경우 Kutools for Excel은 그래픽 인터페이스를 통해 무작위 선택을 생성할 수 있어 초보자와 고급 사용자 모두가 빠른 결과를 얻기에 적합합니다.
고유한 선택이 필요한지 중복을 허용할 수 있는지, 몇 개의 무작위 선택이 필요한지, 그리고 Excel 수식이나 매크로에 대한 익숙함 정도를 고려하는 것이 중요합니다. 무작위 결과를 공유하거나 저장하기 전에 실수로 재계산을 방지하기 위해 값으로 붙여넣기 기능을 사용하세요. 추가 Excel 솔루션에 관심이 있는 사용자는 더 많은 실용적인 가이드와 팁을 위해 Excel 튜토리얼 섹션을 방문하세요.
문제 해결 제안: 목록 범위의 정확성을 다시 확인하고, 휘발성 함수로 인한 재계산에 주의하며, 코드 기반 솔루션을 사용할 때 VBA 실행을 허용하도록 매크로 보안 설정을 확인하세요. VBA 사용 중 오류가 발생하면(예: 소스 목록 크기가 충분하지 않음) 메시지를 따르고 범위를 재고하세요.
관련 기사:
Excel에서 셀에 무작위로 배경/채우기 색상 적용하기
최고의 오피스 생산성 도구
🤖 | Kutools AI 도우미: 데이터 분석에 혁신을 가져옵니다. 방법: 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림(수식 없이) ... | |
슈퍼 LOOKUP: 다중 조건 VLOOKUP | 다중 값 VLOOKUP | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 드롭다운 목록 빠르게 생성 | 종속 드롭다운 목록 | 다중 선택 드롭다운 목록 .... | |
열 관리자: 지정한 수의 열 추가 | 열 이동 | 숨겨진 열의 표시 상태 전환 | 범위 및 열 비교 ... | |
추천 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리자 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터(굵게/이탤릭/취소선 필터 등) ... | |
15대 주요 도구 세트: 12 가지 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 종류의 차트(간트 차트, ...) | 40+ 실용적 수식(생일을 기반으로 나이 계산, ...) | 19 가지 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12 가지 변환 도구(단어로 변환하기, 통화 변환, ...) | 7 가지 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 등 다양 |
Kutools for Excel과 함께 엑셀 능력을 한 단계 끌어 올리고, 이전에 없던 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능으로 생산성을 높이고 저장 시간을 단축합니다. 가장 필요한 기능을 바로 확인하려면 여기를 클릭하세요...
Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 더욱 간편하게 만듭니다
- Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화합니다.
- 새 창 대신 같은 창의 새로운 탭에서 여러 파일을 열고 생성할 수 있습니다.
- 생산성이50% 증가하며, 매일 수백 번의 마우스 클릭을 줄여줍니다!
모든 Kutools 추가 기능. 한 번에 설치
Kutools for Office 제품군은 Excel, Word, Outlook, PowerPoint용 추가 기능과 Office Tab Pro를 한 번에 제공하여 Office 앱을 활용하는 팀에 최적입니다.





- 올인원 제품군 — Excel, Word, Outlook, PowerPoint 추가 기능 + Office Tab Pro
- 설치 한 번, 라이선스 한 번 — 몇 분 만에 손쉽게 설정(MSI 지원)
- 함께 사용할 때 더욱 효율적 — Office 앱 간 생산성 향상
- 30일 모든 기능 사용 가능 — 회원가입/카드 불필요
- 최고의 가성비 — 개별 추가 기능 구매 대비 절약