Chia nhóm trong lớp học dựa theo điểm trung bình

akai

Yêu THVBA
Em có 1 file excel như trong link và em mong muốn có thể tự động chia nhóm hs trong lớp theo điểm trong bình sao cho các nhóm có điểm trung bình bằng nhau (hoặc gần bằng nhau). Xin nhờ các bro giúp đỡ
Ps: Do chưa biết cách chèn ảnh nên em chèn theo link, mong mọi người thông cảm.
Link đầu là ảnh
Linh sau là file excel



 
Sửa lần cuối:
Cái này đâu cần code. Không biết bạn đã biết Excel có chức năng sắp xếp điểm từ thấp đến cao hay chưa?
Nếu như bạn có cột ghi điểm trung bình (giả sử ghi trên cột B). Thì chỉ cần sort (sắp xếp) dữ liệu theo chiều tăng dần (hoặc giảm dần) trên cột B. Vậy là xong. Bạn muốn phân nhóm trong khoảng điểm bao nhiêu là tùy ý bạn.
 
Cách upload ảnh lên diễn đàn:

Ví dụ ban đầu điểm trung bình trên cột C là lộn xộn.
Bạn cần đăng nhập để thấy hình ảnh

Bạn select chuột từ ô C2 tới ô C9, click chuột phải và chọn Sort. Thử làm đi biết ngay.
 

snow26

Yêu THVBA
@akai Bạn thử sort dữ liệu, trên Excel có sẵn tính năng này:
Bạn cần đăng nhập để thấy hình ảnh
 

akai

Yêu THVBA
Cảm ơn sự giúp đỡ của các bro nhưng có lẽ các bro chưa hiểu ý em. Em muốn chia thành các nhóm học tập có số hs xấp xỉ nhau và số điểm trung bình các nhóm cũng xấp xỉ nhau. Em đã minh hoa bằng hình ở link đầu và có cả file excel ở link sau ạ
 
B

bvtvba

Guest
hoặc gần bằng nhau
Gần nhau là cách bao nhiêu điểm bạn? Trong tin học không có khái niệm gần nhau. Cần rõ ràng hơn thì mới làm được.
 

BGuz

VIP

Tôi nghĩ rằng tôi hiểu những gì bạn muốn, nhưng tôi có thắc mắc. Đây là một dịp hoặc muốn sử dụng nó nhiều lần. Một cơ hội có thể dễ dàng thực hiện thủ công. Để sử dụng thường xuyên, macro nên được. Bạn có viết số lượng nhóm linh hoạt, bạn quyết định ai? Về mặt toán học, không thể tạo ra một mức trung bình nhóm giống hệt nhau. Dung sai là gì? Số tiền là 395,2 trong ví dụ nếu 9 người mỗi nhóm, Nhóm 5, 5 * 79.04 Điều này sẽ được tạo. Điều này là không thể tạo ra mà không có sai lầm. Thủ công trong nửa giờ tôi kết hợp với nhau một nhóm như vậy, không phải là một công việc lớn với các lỗi 0,06. Tôi sử dụng Google dịch. Tôi nói tiếng Hungary.
 
D

Deleted member 199

Guest
Cảm ơn sự giúp đỡ của các bro nhưng có lẽ các bro chưa hiểu ý em. Em muốn chia thành các nhóm học tập có số hs xấp xỉ nhau và số điểm trung bình các nhóm cũng xấp xỉ nhau. Em đã minh hoa bằng hình ở link đầu và có cả file excel ở link sau ạ
Xin hỏi tác giả:
Nếu có 3 em học sinh đạt điểm 10.
19 em đạt điểm 8.
Thì tác giả chia nhóm như thế nào để số học sinh xấp xỉ nhau và điểm trung bình cũng xấp xỉ nhau?
 
B

bvtvba

Guest
Tôi nghĩ cần xây dựng mức ưu tiên:
1. Giáo viên fix số lượng thành viên tối thiểu trong một nhóm.
2. Chương trình sẽ đi từ điểm cao xuống thấp và nhặt ra số học viên. Nếu như số học viên không đủ số lượng tối thiểu, thì hạ điểm chuẩn, lấy tiếp học sinh cho đủ số thành viên tối thiểu để xếp vào nhóm mới.
Quá trình trên cứ lặp lại cho tới khi nào vét hết số học viên.
 

snow26

Yêu THVBA
Bạn thử:
Sheet name : Do not change (không được thay đổi tên sheet).
Min value people for group (số thành viên tối thiểu trong nhóm): Thiết định trong sheet Setting.
Bạn cần đăng nhập để thấy hình ảnh

Do not change title in sheet tuhocvba: Không thay đổi dòng tiêu đề trong sheet tuhocvba.
Không tự ý thêm số cột vào phía sau.
Bạn cần đăng nhập để thấy hình ảnh

Bạn cần đăng nhập để thấy hình ảnh
 

snow26

Yêu THVBA
Code trên, sắp xếp nhóm thì OK, nhưng điểm số trong nhóm còn hơi lộn xộn:
Code hiện tại:
x1111111 = "SELECT * FROM [tuhocvba$] WHERE diem >= " & a & " AND diem < " & x11111111
Bạn cần đăng nhập để thấy hình ảnh

Nếu muốn sắp xếp điểm theo thứ tự từ cao xuống thấp thì bạn sửa code trên thành:
Code mới:
x1111111 = "SELECT * FROM [tuhocvba$] WHERE diem >= " & a & " AND diem < " & x11111111 & " Order by Diem DESC"
Kết quả sắp xếp sẽ đẹp hơn:
Bạn cần đăng nhập để thấy hình ảnh
 

akai

Yêu THVBA
Trước hết em trân thành cảm ơn sự giúp đỡ của các anh chị. Sau em có lời xin lỗi vì lần đầu tham gia nhóm, trình bày còn chưa rõ nghĩa
Mong muốn của em là có thể chia thành các nhóm có số HS bằng nhau (ví dụ này có 45 hs thì chỉ có thể chia thành 9, 5, 3 , 15 nhóm nếu ko đc thì sẽ báo là ko chia được theo yêu cầu). Và số điểm trung bình các nhóm không lệnh quá 0.5 ạ . Em mô tả như hình ạ
em chưa up ảnh như hướng dẫn đc vì họ bắt đăng nhập mà em đăng nhập mãi ko đc
 
Sửa lần cuối:
B

bvtvba

Guest
Khi truy cập diễn đàn đã có thông báo hướng dẫn cách upload ảnh :

Trong file demo #1 không thể hiện được ý tưởng là KHÔNG CHIA ĐƯỢC . Bây giờ lại thêm ý tưởng là ra thông báo này . Tôi nghĩ ngay trong chính bản thân bạn cũng còn mơ hồ với yêu cầu của chính mình . Người khác đâu thể chạy theo bạn mãi được . Code như vậy rồi . Giờ code thêm thủ tục kiểm tra kết quả ấy đã có số thành viên bằng nhau hay chưa bla bla
 

akai

Yêu THVBA
Xin thành thật xin lỗi các bro đã giúp đỡ. Xin lỗi vì làm mất thời gian của mọi người. Em xin phép đóng chủ đề này ạ. Lỗi là của em, vì em có 1 ý niệm mặc định là đã chia nhóm thì số lượng bằng nhau nên khi mô tả em không nói điều này. Em cảm ơn các bro rất nhiều. Chúc diễn đàn ngày càng lớn mạnh ạ.
 
Top