Excel 에서 데이터 목록에 대해 무작위 그룹을 빠르게 생성하기
일상 업무나 학습·교육 세션 준비 중 이름, 학번, 프로젝트 과제와 같은 데이터 목록을 무작위로 그룹으로 나눠야 할 때가 있습니다。 예를 들어,스크린샷1과 같이 데이터 항목이 무작위로 그룹에 배정되거나,스크린샷2와 같이 활동이나 그룹 과제를 위해 이름이 무작위 팀으로 나뉘는 경우입니다. 이 작업을 효율적으로 수행하면 공정성을 보장하고 수작업 배정보다 상당한 시간을 절약할 수 있습니다. 다행히도 Excel 은 수식, VBA 자동화 및 PivotTable 분석을 포함한 여러 가지 신뢰할 수 있는 방법을 제공하여 무작위 그룹 배정을 빠르고 유연하게 처리할 수 있도록 도와줍니다。
| 스크린샷1 | 스크린샷2 |
![]() | ![]() |
목록 데이터를 지정된 수의 그룹으로 무작위 배분해야 하고 각 그룹 크기가 달라도 괜찮은 경우, Excel 의 CHOOSE 및 RANDBETWEEN 함수를 통해 이를 빠르게 구현할 수 있습니다。 일반적인 활용 사례로는 게임 참가자 구성이나 회의용 임시 팀 구성이 있습니다。
목록 옆의 빈 셀(예: 목록이 A 열에 있으면 B2 셀)을 선택한 다음 다음 수식을 입력하세요:
=CHOOSE(RANDBETWEEN(1,3),「Group A」,「Group B」,「Group C 」)
이 수식에서:
- RANDBETWEEN(1,3)는 1 부터 3 까지의 난수를 생성하여 3 개의 그룹을 나타냅니다。
- 그룹 A, 그룹 B 및 그룹 C는 데이터 옆에 표시될 그룹 이름입니다。
그런 다음 채우기 핸들을 아래로 드래그하여 다른 행에도 이 수식을 적용하고 모든 항목을 무작위로 그룹에 배정하세요。
이 단계 후 각 데이터 항목이 무작위로 그룹에 배정됩니다. RANDBETWEEN 은 변동 함수이므로 셀을 편집하거나 파일을 다시 열 때와 같이 워크시트가 다시 계산될 때마다 결과가 변경될 수 있음에 유의하세요。
실용 팁:이러한 배정이 변경되지 않도록 하려면 수식 결과를 복사한 후특수 붙여넣기 > 값을 사용하여 배정을 고정하세요。
적용 가능한 시나리오:이 방법은 유연성이 뛰어나고 빠르고 일반적인 그룹화 요구사항에 이상적입니다。 그러나 각 그룹의 크기가 달라질 수 있으므로 엄격한 균등 분배가 필요한 상황에는 적합하지 않을 수 있습니다。
주의사항:대규모 데이터셋을 다루거나 정확한 그룹 크기가 필요한 경우 더 많은 제어가 가능한 다른 방법을 고려하세요。

KUTOOLS AI 와 함께 엑셀의 마법을 경험하세요
- 스마트 실행: 간단한 명령어로 셀 작업을 수행하고, 데이터를 분석하며, 차트를 생성하세요。
- 사용자 지정 수식: 워크플로우를 간소화할 맞춤형 수식을 생성하세요。
- VBA 코딩: VBA 코드를 손쉽게 작성하고 적용하세요。
- 수식 해석: 복잡한 수식도 쉽게 이해하세요。
- 텍스트 번역: 스프레드시트 내에서 언어 장벽을 허물어 보세요。
각 그룹에 고정된 수의 항목(예: 모든 그룹에 4 명)을 무작위로 배분해야 하는 경우, Excel 의 ROUNDUP 과 RANK 함수 조합이 효과적인 해결책을 제공합니다。 이는 특히 교실 과제 배정, 균형 잡힌 팀 구성 또는 균일한 그룹 크기가 필요한 모든 시나리오에 유용합니다。
이 방법을 수행하려면:
1. 먼저 데이터 옆에 보조 열(예: E 열)을 추가하고 E2 셀에 다음을 입력하세요:
=RAND()
이 수식을 목록의 모든 필요한 셀로 아래로 드래그하세요。 RAND 함수는 각 항목에 무작위 값을 할당합니다。
2. 다음 열(예: F2)에 다음 수식을 입력하세요:
=ROUNDUP(RANK(E2,$E$2:$E$13)/4,0)
여기서:
- E2:E13: 이 범위를 데이터에 맞게 변경하세요。 =RAND() 함수가 포함된 모든 행을 포함해야 합니다。
- 4: 각 그룹의 크기입니다。 다른 그룹 크기가 필요하면 이 숫자를 변경하세요。
채우기 핸들을 아래로 드래그하여 모든 행에 이 수식을 적용하세요. 이제 데이터가 약 4 개 항목씩 그룹으로 정렬됩니다。
추가 안내:
- 항목 총 수가 그룹 크기로 나누어떨어지지 않으면 마지막 그룹의 항목 수가 더 적을 수 있습니다。
- 무작위 배정 후 그룹을 고정하고 다시 계산 시 변경되지 않도록 하려면특수 붙여넣기 > 값을 사용하세요。
- RAND()를 새로 고치면 그룹이 다시 무작위로 배정됩니다。 초기 배정을 조정해야 할 때 유용합니다。
제한 사항:이 방법은 직접적으로 그룹 이름을 지정할 수 없으며(그룹 번호를 생성함), 대규모 데이터셋의 경우 수식이 다시 계산되는 속도를 늦출 수 있습니다。
구성원이 둘 이상의 그룹에 중복 배정되지 않도록 하거나, 그룹 크기를 정밀하게 균형 있게 조정하거나, 특정 제약 조건에 따라 재배정해야 하는 등 고급 요구사항이 있는 사용자의 경우 VBA 가 더 큰 유연성을 제공합니다。 이 접근 방식은 대규모 목록이나 반복적인 배정 작업에 유용합니다。 대부분의 경우 VBA 코드가 데이터를 직접 변경하므로 진행 전 반드시 파일을 저장해 두세요。
1.개발자 도구>Visual Basic를 클릭하여 VBA 편집기를 연 다음,삽입>모듈을 클릭하세요。 새 모듈에 다음 코드를 복사하여 붙여넣으세요:
Sub AssignRandomGroups()
Dim GroupCount As Integer
Dim GroupSize As Integer
Dim rng As Range, cell As Range
Dim i As Long, j As Long, idx As Long
Dim arr() As Variant, groupArr() As Variant, grpNum As Integer
Dim ws As Worksheet
Dim totalRows As Integer, remaining As Integer
On Error Resume Next
Set ws = Application.ActiveSheet
Set rng = Application.InputBox("Select the range of data to group", "KutoolsforExcel", Type:=8)
GroupCount = Application.InputBox("Enter the number of groups:", "KutoolsforExcel", 3, Type:=1)
If rng Is Nothing Or GroupCount <= 0 Then Exit Sub
arr = rng.Value
totalRows = UBound(arr, 1)
GroupSize = Int(totalRows / GroupCount)
remaining = totalRows - GroupSize * GroupCount
ReDim groupArr(1 To totalRows)
Dim used() As Boolean
ReDim used(1 To totalRows)
Randomize
For i = 1 To totalRows
Do
idx = Int(Rnd() * totalRows) + 1
Loop While used(idx)
used(idx) = True
groupArr(i) = idx
Next i
For i = 1 To totalRows
grpNum = Int((i - 1) / GroupSize) + 1
If grpNum > GroupCount Then grpNum = GroupCount
rng.Cells(groupArr(i), 1).Offset(0, 1).Value = "Group " & grpNum
Next i
MsgBox "Groups assigned randomly and as evenly as possible.", vbInformation
End Sub 2。 다음으로
버튼을 클릭하여 코드를 실행하세요. 데이터 범위(예: 이름이나 ID 가 포함된 열)를 선택하라는 메시지가 표시된 후 생성할 그룹 수를 입력하세요. 그러면 VBA 가 각 데이터 행을 하나의 그룹에 배정하고 바로 오른쪽 열에 그룹 번호를 입력합니다。
- 중복 입력 방지 배정: 각 구성원은 하나의 그룹에만 배정됩니다。
- 균형 잡힌 그룹: 가능한 한 균등하게 배분합니다。 데이터를 정확히 균등하게 나눌 수 없는 경우 마지막 그룹(들)은 구성원이 한 명 더 많거나 적을 수 있습니다。
- 사용자 정의: 출력 텍스트, 시작 열을 변경하거나 추가 배정 규칙을 적용하도록 VBA 코드를 조정할 수 있습니다。
주의사항:VBA 는 워크시트 데이터를 직접 변경하므로 실행 전 반드시 백업을 저장하세요。 예상보다 더 많은 열을 선택하는 등의 오류가 발생하면 선택 범위와 그룹 수 입력을 다시 확인하세요。
문제 해결:개발자 탭이 표시되지 않으면파일 > 옵션 > 리본 사용자 지정 > 개발자를 통해 활성화하세요。 오류 발생 시 매크로 설정이 활성화되어 있는지 확인하세요(파일 > 옵션 > 신뢰 센터)。
사용 사례 장점:VBA 는 엄격한 제어, 대규모 데이터셋 또는 반복 작업 자동화가 필요한 고급 사용자에게 적합합니다。 매크로를 활성화하고 코드를 작성/수정해야 하므로 간단하고 기본적인 작업에는 덜 이상적입니다。
최고의 Office 생산성 도구
| 🤖 | KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행 | 코드 생성| 사용자 지정 수식 생성 | 데이터 분석 및 차트 생성| 향상된 함수 호출… |
| 인기 기능:찾기, 강조 표시 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 결합 또는 셀 제거 | 공식을 사용하지 않는 반올림... | |
| 슈퍼 LOOKUP:다중 조건 VLookup | 다중 값 VLookup | 여러 시트에서 VLookup | 퍼지 매치.... | |
| 고급 드롭다운 목록:드롭다운 목록 빠르게 생성 | 종속형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
| 열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교... | |
| 주요 기능:그리드 포커스 | 디자인 보기 |향상된 수식 표시줄 | 워크북 및 시트 관리자 | 자원 라이브러리(자동 텍스트)| 날짜 선택기 | 워크시트 병합 | 암호화/셀 해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。 | |
| 상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)| 50+차트유형(간트 차트, ...)| 40+ 실용적인수식(생일을 기준으로 나이 계산, ...)| 19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)| 12 변환도구(단어로 변환하기,환율 변환, ...)| 7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능 |
Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。
Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다
- Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
- 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
- 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!
모든 Kutools 애드인。 하나의 설치 프로그램
Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。
- 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
- 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
- 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
- 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
- 최고의 가성비— 개별 애드인 구매 대비 절약

