Chia nhóm ngẫu nhiên online — Random group từ danh sách tên

Chia nhóm ngẫu nhiên từ danh sách tên. Chọn số nhóm hoặc số người mỗi nhóm. Fisher-Yates shuffle, tự bỏ trùng.

Máy tính

Paste danh sách tên (1 dòng/tên hoặc cách nhau dấu phẩy), chọn cách chia, kết quả phân ngẫu nhiên không trùng lặp.

Công thức & ví dụ

Công cụ chia nhóm ngẫu nhiên áp dụng thuật toán xáo trộn Fisher-Yates (Knuth shuffle) — thuật toán xáo trộn mảng chuẩn được dùng rộng rãi trong khoa học máy tính.

Nguyên lý:

  1. Lấy danh sách n tên người ban đầu.
  2. Duyệt từ phần tử cuối về đầu, mỗi vị trí i hoán đổi với 1 vị trí ngẫu nhiên j (0 ≤ j ≤ i).
  3. Sau khi xáo trộn xong, chia mảng kết quả thành k nhóm theo thứ tự.

Số cách chia n người vào k nhóm bằng nhau:

Số tổ hợp = n! / ((n/k)!)ᵏ / k! (nếu k nhóm không phân biệt thứ tự)

Ví dụ: Chia 12 học sinh thành 3 nhóm 4 người. Số cách chia = 12!/((4!)³·3!) = 5 775 cách. Mỗi lần bấm “Chia nhóm” là chọn ngẫu nhiên đều 1 trong 5 775 cách đó.

Đảm bảo phân bố đồng đều: Khi n không chia hết cho k, công cụ phân bố dư đều cho các nhóm đầu (chênh tối đa 1 người). Ví dụ chia 10 người vào 3 nhóm: nhóm 1-2 có 4 người, nhóm 3 có 3 người (4-4-3).

Hướng dẫn sử dụng

  1. Nhập danh sách tên, mỗi tên 1 dòng. Hỗ trợ tiếng Việt có dấu, số, ký tự đặc biệt.
  2. Chọn số nhóm cần chia (vd: 2, 3, 4…). Hoặc chọn “số người mỗi nhóm” để công cụ tự tính số nhóm.
  3. Tuỳ chọn nâng cao: nếu có 2 đội cố định không được cùng nhóm (vd ghép cặp đối kháng), bật chế độ “tránh trùng” và nhập danh sách kèm.
  4. Bấm “Chia nhóm”. Kết quả hiện ngay bảng nhóm 1, nhóm 2, … với tên người đã xáo trộn.
  5. Bấm “Chia lại” để xáo trộn mới mà không cần nhập lại danh sách. Mỗi lần chia là 1 kết quả ngẫu nhiên độc lập.
  6. Sao chép kết quả bằng nút “Copy” để dán vào Excel, Word hoặc gửi qua Zalo/Messenger.

Tìm hiểu thêm

Chia nhóm ngẫu nhiên là tác vụ quen thuộc trong dạy học, làm việc nhóm, tổ chức sự kiện hay các trò chơi tập thể. Cách làm thủ công (bốc thăm, đếm số) tốn thời gian và dễ thiên vị — công cụ tự động hoá đảm bảo công bằng tuyệt đối.

Ứng dụng thường gặp:

  • Lớp học: Chia học sinh thành nhóm thảo luận, nhóm thực hành, nhóm dự án.
  • Công ty: Chia team workshop, ghép cặp pair programming, phân ca trực.
  • Trò chơi: Bốc thăm đội bóng, chia phe trò chơi điện tử, tổ chức tournament.
  • Khảo sát: Phân nhóm A/B trong thí nghiệm khoa học, chia mẫu trong nghiên cứu giáo dục.

Khi nào KHÔNG nên dùng: Nếu cần chia nhóm có tính đến năng lực (cân bằng học lực, cân bằng giới tính, ghép theo sở thích), thuật toán random thuần không đủ — bạn cần thuật toán “stratified sampling” có ràng buộc. Công cụ này phù hợp cho chia nhóm cơ học, không phân biệt thuộc tính.

Mẹo lưu trữ: Sau khi chia xong, sao chép kết quả lưu file để có lịch sử. Lần sau cần chia lại cùng nhóm có thể dùng lại danh sách nguồn mà không cần gõ.

Câu hỏi thường gặp

Mỗi lần chia có ra kết quả khác nhau không?

Có. Mỗi lần bấm "Chia nhóm" hoặc "Chia lại" là 1 phép xáo trộn độc lập với hàm random của trình duyệt. Với số người lớn, khả năng 2 lần chia ra trùng kết quả là cực kỳ nhỏ (n! cách sắp xếp với n = số người).

Số người không chia hết cho số nhóm thì sao?

Công cụ phân bố dư đều cho các nhóm đầu, chênh lệch tối đa 1 người. Ví dụ 10 người chia 3 nhóm → nhóm 1: 4 người, nhóm 2: 4 người, nhóm 3: 2 người. Cách phân bố này đảm bảo công bằng nhất có thể.

Có thể chia theo tiêu chí cụ thể (giới tính, lớp) không?

Phiên bản hiện tại chỉ chia ngẫu nhiên thuần. Nếu cần cân bằng giới tính/lớp, bạn có thể chia trước theo nhóm (vd: nam và nữ riêng), sau đó dùng công cụ chia từng phần — rồi gộp lại để được nhóm cân bằng.

Tối đa nhập được bao nhiêu tên?

Không giới hạn cứng từ phía công cụ, nhưng để duyệt và hiển thị mượt, khuyến nghị dưới 500 tên. Nếu cần chia danh sách lớn hơn (vd vài nghìn người trong khảo sát), nên export ra file CSV và xử lý bằng Excel hoặc Python pandas.

Kết quả có lưu lại khi tải lại trang không?

Không. Công cụ chạy hoàn toàn ở phía trình duyệt (client-side), không gửi data lên server và không lưu trữ. Khi tải lại trang, danh sách và kết quả mất hết. Nếu cần lưu, bấm "Copy" để dán ra Word/Excel trước khi đóng tab.