[Giúp đỡ] Dùng Excel phân chia lại nhóm

Liên hệ QC

tryo

Thành viên mới
Tham gia
5/4/17
Bài viết
4
Được thích
0
Chào các bác.
Em đang cần làm một công việc chia lại nhóm.

Ví dụ em hiện có 20 nhóm, mỗi nhóm có 10 người.

Em muốn chia lại số người này thành 40 nhóm ngẫu nhiên, mỗi nhóm có 5 người nhưng không có 2 người ở trong nhóm cũ vào chung 1 nhóm mới thì phải làm thế nào ạ.

Cũng tương tự như trên, nếu em muốn chia lại thành 20 nhóm ngẫu nhiên mới, mỗi nhóm 10 người và cũng không có 2 người trong nhóm cũ vào cùng một nhóm mới.


Mong các bác giúp em với, em cảm ơn
 
Công việc chia lại nhóm.

Ví dụ em hiện có 20 nhóm, mỗi nhóm có 10 người.

1./ Em muốn chia lại số người này thành 40 nhóm ngẫu nhiên, mỗi nhóm có 5 người nhưng không có 2 người ở trong nhóm cũ vào chung 1 nhóm mới thì phải làm thế nào ạ.

2./ Cũng tương tự như trên, nếu em muốn chia lại thành 20 nhóm ngẫu nhiên mới, mỗi nhóm 10 người và cũng không có 2 người trong nhóm cũ vào cùng một nhóm mới.

Với điều kiện "nhưng không có 2 người ở trong nhóm cũ vào chung 1 nhóm mới" thì không thể hoàn toàn ngẫu nhiên được. Mà chỉ chừng mực nào đó thôi;

1./ 20 nhóm có mã số từ A, B . . . . ,T; Thành viên mỗi nhóm ngẫu nhiên được gán số thứ tự từ 0 cho đến 9

Ta thực hiện trao cho các thành viên trong từng nhóm số thứ tự ngẫu nhiên

Sau đó ta xếp 200 người này theo trật tự nhóm;

Đem trật tự này phân bổ đều cho các nhóm mới
 
Chào các bác.
Em đang cần làm một công việc chia lại nhóm.

Ví dụ em hiện có 20 nhóm, mỗi nhóm có 10 người.

Em muốn chia lại số người này thành 40 nhóm ngẫu nhiên, mỗi nhóm có 5 người nhưng không có 2 người ở trong nhóm cũ vào chung 1 nhóm mới thì phải làm thế nào ạ.

Cũng tương tự như trên, nếu em muốn chia lại thành 20 nhóm ngẫu nhiên mới, mỗi nhóm 10 người và cũng không có 2 người trong nhóm cũ vào cùng một nhóm mới.


Mong các bác giúp em với, em cảm ơn
Bài này tôi thấy là cứ tạo thành từng nhóm mới theo yêu cầu, lấy người nào thì xóa người đó khỏi danh sách ban đầu rồi tiếp tục như vậy cho đến hết số nhóm mới cần tạo hoặc số người ban đầu không đủ
Khi lấy người khỏi từng nhóm sẽ sử dụng ngẫu nhiên.
Bạn gửi file đính kèm lên xem sao.
 
Ví dụ như thế này :
Nhóm 1 có 10 phần tử đều là A
Nhóm 2 có 10 phần tử đều là B
....
Nhóm 20 có 10 phần tử đều là S

Khi phân ra 20 hoặc 40 nhóm mới thì không có nhóm nào có 2 phần tử trùng nhau cả ví dụ ko có nhóm nào là : "A, A, C, M, S" nhưng nếu sau khi chia 2 nhóm có các phần tử giống nhau thì không sao.

Em ko có file excel, em đang làm một việc đòi hỏi cần một bài toán như thế mà trình excel có hạn nên ko biết phải giải quyết thế nào.
 
Chào các bác.
Em đang cần làm một công việc chia lại nhóm.

Ví dụ em hiện có 20 nhóm, mỗi nhóm có 10 người.

Em muốn chia lại số người này thành 40 nhóm ngẫu nhiên, mỗi nhóm có 5 người nhưng không có 2 người ở trong nhóm cũ vào chung 1 nhóm mới thì phải làm thế nào ạ.

Cũng tương tự như trên, nếu em muốn chia lại thành 20 nhóm ngẫu nhiên mới, mỗi nhóm 10 người và cũng không có 2 người trong nhóm cũ vào cùng một nhóm mới.


Mong các bác giúp em với, em cảm ơn

Bài này hoàn toàn khả thi. Thậm chí làm bằng tay vẫn được:
- Sắp xếp dữ liệu theo từng cột, mỗi cột là 1 nhóm
- Dùng hàm rand tạo cột phụ rồi sort từng nhóm để các phần tử trong nhóm đứng ở vị trí ngẫu nhiên
- Cũng dùng hàm rand tạo dòng phụ rồi sort dữ liệu chiều ngang theo dòng phụ
- Vậy là ta đã có ngay dữ liệu sắp xếp lại 1 cách ngẫu nhiên rồi. Giờ chỉ việc lấy ra theo từng dòng, mỗi dòng 10 phần tử để tạo ra nhóm mới, vị chi tạo được 40 nhóm và chắc chắn không có người nào trong 1 nhóm từng "quen biết" nhau
------------------------
Bài này viết code cũng không có vấn đề. Tuy nhiên không biết viết sao cho tổng quát nhất, để khi cần thay đổi số nhóm, số người trong nhóm ta chỉ việc thay đổi thông số đầu vào là xong (thay vì phải sửa số trong code)
 
Lần chỉnh sửa cuối:
Ví dụ như thế này :
Nhóm 1 có 10 phần tử đều là A
Nhóm 2 có 10 phần tử đều là B
....
Nhóm 20 có 10 phần tử đều là S

Khi phân ra 20 hoặc 40 nhóm mới thì không có nhóm nào có 2 phần tử trùng nhau cả ví dụ ko có nhóm nào là : "A, A, C, M, S" nhưng nếu sau khi chia 2 nhóm có các phần tử giống nhau thì không sao.

Em ko có file excel, em đang làm một việc đòi hỏi cần một bài toán như thế mà trình excel có hạn nên ko biết phải giải quyết thế nào.
Mỗi cột là một nhóm. Cột A: Nhóm 1, Cột B: Nhóm 2....=>20
Mỗi dòng là 1 phần tử trong nhóm. Dòng 1 là phần tử 1, dòng 2 là phần tử 2 ...=>10
Sau đó lưu file lại: Nhấn Ctrl + S. Rồi đính kèm file vào bài viết gửi lên.

"Gà" cỡ nào nhưng chắc mấy bước trên làm được chứ bạn. Nếu mà không làm được thì có lẽ tìm hiểu về phần mềm khác là vừa.
Chúc ngày lễ vui vẻ|||||:drinks:
 
À, cái ý thì ko vấn đề gì.

Cột A thì mình sẽ có toàn phần tử A
Cột B toàn phần tử B

Khi ghép nhóm lại thì các nhóm mới phải đảm bảo không có nhóm nào có cùng phần tử với nhau.

Các bác tải giúp em file có dung lượng lớn hơn ý nhé.
 

File đính kèm

  • Chia nhom.xlsx
    9.9 KB · Đọc: 42
  • Chia nhom.xlsx
    10.4 KB · Đọc: 41
Lần chỉnh sửa cuối:
Bài này hoàn toàn khả thi. Thậm chí làm bằng tay vẫn được:
- Sắp xếp dữ liệu theo từng cột, mỗi cột là 1 nhóm
- Dùng hàm rand tạo cột phụ rồi sort từng nhóm để các phần tử trong nhóm đứng ở vị trí ngẫu nhiên
- Cũng dùng hàm rand tạo dòng phụ rồi sort dữ liệu chiều ngang theo dòng phụ
- Vậy là ta đã có ngay dữ liệu sắp xếp lại 1 cách ngẫu nhiên rồi. Giờ chỉ việc lấy ra theo từng dòng, mỗi dòng 10 phần tử để tạo ra nhóm mới, vị chi tạo được 40 nhóm và chắc chắn không có người nào trong 1 nhóm từng "quen biết" nhau
------------------------
Bài này viết code cũng không có vấn đề. Tuy nhiên không biết viết sao cho tổng quát nhất, để khi cần thay đổi số nhóm, số người trong nhóm ta chỉ việc thay đổi thông số đầu vào là xong (thay vì phải sửa số trong code)

em gà cái này lắm, các hàm trong excel em ko quen mặt, bác giúp em làm thử với file đính kèm được không bác.
 

File đính kèm

  • Chia nhom.xlsx
    10.4 KB · Đọc: 20
với 40 người và chia thành 20 nhóm , nếu giới hạn 2 người trong nhóm cũ ko được gặp nhau trong nhóm mới thì tối đa chỉ chia được 39 lần thôi , 1 người sẽ bắt cặp lần lượt với 39 người lần lượt còn lại !
 
Bạn tham khảo file này xem sao:

(Hình như có thể còn rút gọn lại được nữa)
Sáng nay tỉnh táo lại rồi:
PHP:
Sub TaoNhom40_5()
 Dim J As Integer, W As Integer
 Dim StrC As String
 
 For J = 4 To 24
    Cells(2, J).Resize(10, 1).Copy Destination:=[A2]
    SXep
    For W = 2 To 11
        StrC = StrC & Cells(W, "A").Value
    Next W
 Next J
 Application.ScreenUpdating = False
 For W = 13 To 17
    For J = 4 To 44
        Cells(W, J) = Mid(StrC, 2 * J - 7, 2)
    Next J
    StrC = Mid(StrC, 81, Len(StrC))
 Next W
 Application.ScreenUpdating = True
End Sub
 

File đính kèm

  • gpeNgauSo.rar
    14.3 KB · Đọc: 43
Lần chỉnh sửa cuối:
Bài này viết code cũng không có vấn đề. Tuy nhiên không biết viết sao cho tổng quát nhất, để khi cần thay đổi số nhóm, số người trong nhóm ta chỉ việc thay đổi thông số đầu vào là xong (thay vì phải sửa số trong code)

Nếu ở đầu vào số nhóm là m và số thành viên là n thì ta có ma trận m dòng n cột.
Ta có thể đổi ma trận thành mảng 1 chiều. Nhưng thay vì chép từng dòng, ta chép từng cột.
i = 0
for cot = 1 to n
for dong = 1 to m
i = i + 1
mang(i) = matran(dong,cot)
next dong
next cot
Sau đó đổi ngược lại thành mảng 2 chiều
Nếu ở đầu ra số nhóm là m2 và số thành viên là n2
i = 0
for dong = 1 to m2
for cot = 1 to n2
i = i + 1
matran2(dong,cot) = mang(i)
next cot
next dong

Thực ra có công thức chuyển mảng và ma trận. Nhưng nó khá dì dòng và tôi lười tính quá.

Chuyện ngẫu nhiên thì bạn có thể lập hàm đổi vị trí phần tử từng dòng. Nếu muốn kỹ hơn thì đổi luôn vị trí của các dòng.

Bài này hoàn toàn khả thi. Thậm chí làm bằng tay vẫn được:

Làm tay nhì dùng cách transpose và phân đoạn lại. Tôi nghĩ nếu bỏ thì giờ thì có thể tìm ra công thức.
 
Cùng chủ đề với chủ thớt, nhờ mọi người giúp.
Mình có danh sách khoảng 10000 dòng, muốn chia thành 50 nhóm, mỗi nhóm 200 dòng thì làm cách nào nhỉ?
( Cụ thể bài toán là mình đang có danh sách 10k người, muốn chia thành 50 nhóm, mỗi nhóm có 200người và chèn vào danh sách của mỗi nhóm là 1 người phim trách). Nhờ các bạn hỗ trợ
 
Cụ thể bài toán là mình đang có danh sách 10k người, muốn chia thành 50 nhóm, mỗi nhóm có 200người và chèn vào danh sách của mỗi nhóm là 1 người phim trách). Nhờ các bạn hỗ trợ
??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ???
$$$$@
Nếu bạn đang nhập câu văn sai chính tả, thay vì phim trách sẽ là phụ trách, thì danh sách phụ trách lấy đâu ra?
 
??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ???
$$$$@
Nếu bạn đang nhập câu văn sai chính tả, thay vì phim trách sẽ là phụ trách, thì danh sách phụ trách lấy đâu ra?
xin lỗi bạn. đúng là Phụ trách nhé. Mình gõ sai

Danh sách sẽ gõ tay thôi ạ. Chỉ cần chia được ra sao nhanh nhất thôi ạ
 
Cùng chủ đề với chủ thớt, nhờ mọi người giúp.
Mình có danh sách khoảng 10000 dòng, muốn chia thành 50 nhóm, mỗi nhóm 200 dòng thì làm cách nào nhỉ?
( Cụ thể bài toán là mình đang có danh sách 10k người, muốn chia thành 50 nhóm, mỗi nhóm có 200người và chèn vào danh sách của mỗi nhóm là 1 người phim trách). Nhờ các bạn hỗ trợ
Ý của bạn như thế nào? Có phải vầy không? Mình thấy đơn giản mà ta.
Còn nếu khác, bạn nên lập 1 topic mới riêng dành cho mình á. Chủ đề này cũng lớn tuổi rồi và mình thấy khác khác bài của bạn á.
1637548776614.png
 
Ý của bạn như thế nào? Có phải vầy không? Mình thấy đơn giản mà ta.
Còn nếu khác, bạn nên lập 1 topic mới riêng dành cho mình á. Chủ đề này cũng lớn tuổi rồi và mình thấy khác khác bài của bạn á.
View attachment 269452
Đúng là như vậy nhưng mà mình cần chia nhóm ra 150-200 người cơ. tự đếm lâu nên cần hỏi mọi người cách nào chia nhanh ấy
 
Cụ thể bài toán là mình đang có danh sách 10k người, muốn chia thành 50 nhóm, mỗi nhóm có 200người và chèn vào danh sách của mỗi nhóm là 1 người phim trách
Vậy bạn gửi file minh họa 10k người lên đi, mình chia giống như kiểu mình tô đậm cho.
Còn chèn vào mỗi nhóm 1 người phụ trách bạn làm hén. :)
 
Web KT
Back
Top Bottom