Chia phòng thi theo môn (3 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

khaothibaclieu

Thành viên hoạt động
Tham gia
10/4/08
Bài viết
113
Được thích
14
Lần quần cả ngày thứ 7 hôm nay mà giải hoài vấn đề này không ra nên rất mong mọi người giúp đỡ. Lên diễn đàn thì mọi người cũng bàn về chuyện chia phòng thi rất sôi nổi nhưng chủ yếu là chia phòng thi để có thể thi được nhiều môn ở nhiều buổi thi, mỗi buổi một môn. Nhưng vấn đề của mình là kiểu chia phòng thi để thi tuyển sinh trường Chuyên hoặc thi học sinh giỏi, nghĩa là có một buổi thi nhưng có nhiều môn cùng thi một lúc.
Mình muốn sử dụng công thức hoặc code VBA càng tốt để chia phòng thi theo số lượng mong muốn của mình (ở sheet Chiaphong) để gán tên phòng thi vào thí sinh tương ứng ở cột Phòng thi (Sheet DS). Nhờ các bạn nhiệt tình giúp đỡ.
Ví dụ (File SAPXEPPHONGTHITHEOMON_Dasua) mình gửi kèm. Tuy nhiên nếu được mong các bạn giải quyết một cách tổng quát dùm. Nghĩa là không chỉ có 12 phòng thi với hơn 200 thí sinh như trong ví dụ.
Ý tưởng của mình là ghép mã môn với số thứ tự môn lại. Sau đó dùng hàm If để dò nhưng vì dữ liệu ở sheet Chiaphong là một mảng nên cũng không biết xử lý ra sao.
Lưu ý: Các bạn đừng tải file SAPXEPPHONGTHITHEOMON vì mã môn ờ 2 sheet không thống nhất (do mình đổi tới đổi lui để tìm cách giải quyết mà không ra nên bị nhầm lẫn khi gửi lên, giờ lấy xuống không được)
Có gì không phải mong các bạn bỏ qua cho. Cám ơn rất nhiều.
 

File đính kèm

Lần chỉnh sửa cuối:
Vấn đề tương tự, chỉ thiếu chia theo môn thi

Mình tìm được bài của bạn tedaynui, cách làm tương tự như mình nhưng chỉ thiếu chia thành nhiều môn thi. Không lẽ phải chia ra làm nhiều lần, mỗi lần một môn. Nhìn có vẽ không chuyên nghiệp. Hơn nữa, mình thì lại muốn chia đều số thí sinh của mõi môn, không phải chia theo phòng. Các bạn có cách giải quyết nào hay thì chỉ cho mình với. Bí cả đêm hôm qua luôn rồi. Cám ơn các bạn nhiều.
http://www.giaiphapexcel.com/forum/showthread.php?2228-Đánh-số-báo-danh-chia-phòng-thi-bằng-VBA
 
Lần chỉnh sửa cuối:
Mình tìm được bài của bạn tedaynui, cách làm tương tự như mình nhưng chỉ thiếu chia thành nhiều môn thi. Không lẽ phải chia ra làm nhiều lần, mỗi lần một môn. Nhìn có vẽ không chuyên nghiệp. Hơn nữa, mình thì lại muốn chia đều số thí sinh của mõi môn, không phải chia theo phòng. Các bạn có cách giải quyết nào hay thì chỉ cho mình với. Bí cả đêm hôm qua luôn rồi. Cám ơn các bạn nhiều.
http://www.giaiphapexcel.com/forum/showthread.php?2228-Đánh-số-báo-danh-chia-phòng-thi-bằng-VBA

Có thể làm như thế này được không nhé! (Nếu không thì bạn tự chỉnh sửa theo ý mình đi)
 

File đính kèm


Mình là ngoại đạo, nên đọc danh sách HS mới hiểu được vày:

DS HS có khoảng ~250 em, thi 3 môn, có mã số A, B, C

Nhưng mình không hiểu là fòng thi cần bố trí mấy em HS; Hay cái này trong ngành đã qui định?

Nếu bố trí vô 12 fòng thi, thì mình làm thế này

Sắp xếp danh sách HS mỗi trường 1 cột, chúng liền kề nhau;

Chọn cột nào có sỉ số lớn nhất làm chuẩn; (VD có 92 em; các cột khác tương ứng là 87, 84, 79, . . . )

Kế tiếp ta làm fép ngẫu nhiên bốc (92 - 87) em ở cột 87 đem xuống các ô còn trống cuối của cột (Từ dòng 88 đến dòng 92)

Ta cũng làm vây với các cột còn lại, . . .

Sau đó ta tạo vòng lặp duyệt từ trên xuống dưới, từ trái qua fải để bốc các HS vô fòng thi thôi

Mô tả thuật toán là vậy không biết các bạn coi thử ổn không?
 
Có thể làm như thế này được không nhé! (Nếu không thì bạn tự chỉnh sửa theo ý mình đi)
Cám ơn bạn đã quan tâm và bỏ thời gian giúp mình. Mình học được thêm một hàm Indirect nữa.
Tuy nhiên, cách làm của bạn vẫn phải làm thủ công mã số học sinh, trong công thức phải khai báo cụ thể số thí sinh của phòng thi đó. Còn mình thì muốn chỉ cần dò trong khoản từ số thứ tự nhỏ nhất trong phòng đến số số thứ tự lớn nhất trong phòng thì sẽ gán được thí sinh mang số thứ tự nào ở trong phòng thi đó. Một lần nữa cám ơn bạn rất nhiều.
 
Mình là ngoại đạo, nên đọc danh sách HS mới hiểu được vày:

DS HS có khoảng ~250 em, thi 3 môn, có mã số A, B, C

Nhưng mình không hiểu là fòng thi cần bố trí mấy em HS; Hay cái này trong ngành đã qui định?

Nếu bố trí vô 12 fòng thi, thì mình làm thế này

Sắp xếp danh sách HS mỗi trường 1 cột, chúng liền kề nhau;

Chọn cột nào có sỉ số lớn nhất làm chuẩn; (VD có 92 em; các cột khác tương ứng là 87, 84, 79, . . . )

Kế tiếp ta làm fép ngẫu nhiên bốc (92 - 87) em ở cột 87 đem xuống các ô còn trống cuối của cột (Từ dòng 88 đến dòng 92)

Ta cũng làm vây với các cột còn lại, . . .

Sau đó ta tạo vòng lặp duyệt từ trên xuống dưới, từ trái qua fải để bốc các HS vô fòng thi thôi

Mô tả thuật toán là vậy không biết các bạn coi thử ổn không?

Cái vụ gán học sinh vào thì dĩ nhiên ngành giáo dục yêu cầu không quá 24 mỗi phòng. riêng phòng cuối không quá 28 (kiểu thi tốt nghiệp). Tuy nhiên ở đây mình muốn chia đều thí sinh mỗi phòng ở mỗi môn thi. Người sử dụng sẽ tự khai báo chuyện này. Cách bạn nói thì mình chưa hiểu lắm. Thứ lỗi cho mình.
Mình thì đơn giản muốn dùng hàm If để dò (ví dụ: =IF(AND(F9<=Chiaphong!G6,F9>=Chiaphong!F6),Chiaphong!B6,If...)nhưng không lẽ có bao nhiêu phòng thì phải dùng bấy nhiêu hàm If. Mà làm vậy thì chỉ giải quyết được cụ thể từng trường hợp. Nghĩa là có 12 phòng thi thì dùng 12 hàm If (hihi). Có 13 phòng thì dùng 13 hàm If. Mà hình như Excel cũng chỉ cho phép tối đa 8 lần If trong 1 công thức thôi.
Hay là dùng Vlookup nhỉ?
 
Lần chỉnh sửa cuối:
Mình tìm được bài của bạn tedaynui, cách làm tương tự như mình nhưng chỉ thiếu chia thành nhiều môn thi. Không lẽ phải chia ra làm nhiều lần, mỗi lần một môn. Nhìn có vẽ không chuyên nghiệp. Hơn nữa, mình thì lại muốn chia đều số thí sinh của mõi môn, không phải chia theo phòng. Các bạn có cách giải quyết nào hay thì chỉ cho mình với. Bí cả đêm hôm qua luôn rồi. Cám ơn các bạn nhiều.
http://www.giaiphapexcel.com/forum/showthread.php?2228-Đánh-số-báo-danh-chia-phòng-thi-bằng-VBA

Xem thử được chưa nhé!
 

File đính kèm

Lần quần cả ngày thứ 7 hôm nay mà giải hoài vấn đề này không ra nên rất mong mọi người giúp đỡ. Lên diễn đàn thì mọi người cũng bàn về chuyện chia phòng thi rất sôi nổi nhưng chủ yếu là chia phòng thi để có thể thi được nhiều môn ở nhiều buổi thi, mỗi buổi một môn. Nhưng vấn đề của mình là kiểu chia phòng thi để thi tuyển sinh trường Chuyên hoặc thi học sinh giỏi, nghĩa là có một buổi thi nhưng có nhiều môn cùng thi một lúc.
Mình muốn sử dụng công thức hoặc code VBA càng tốt để chia phòng thi theo số lượng mong muốn của mình (ở sheet Chiaphong) để gán tên phòng thi vào thí sinh tương ứng ở cột Phòng thi (Sheet DS). Nhờ các bạn nhiệt tình giúp đỡ.
Ví dụ (File SAPXEPPHONGTHITHEOMON_Dasua) mình gửi kèm. Tuy nhiên nếu được mong các bạn giải quyết một cách tổng quát dùm. Nghĩa là không chỉ có 12 phòng thi với hơn 200 thí sinh như trong ví dụ.
Ý tưởng của mình là ghép mã môn với số thứ tự môn lại. Sau đó dùng hàm If để dò nhưng vì dữ liệu ở sheet Chiaphong là một mảng nên cũng không biết xử lý ra sao.
Lưu ý: Các bạn đừng tải file SAPXEPPHONGTHITHEOMON vì mã môn ờ 2 sheet không thống nhất (do mình đổi tới đổi lui để tìm cách giải quyết mà không ra nên bị nhầm lẫn khi gửi lên, giờ lấy xuống không được)
Có gì không phải mong các bạn bỏ qua cho. Cám ơn rất nhiều.

Chào bạn

Lâu rồi, mình có làm 1 phần mềm nho nhỏ phục vụ cho thi học sinh giỏi THCS đơn giản. Chắc cũng phần nào giúp bạn cái việc xếp phòng thi theo môn thi.

Mình gửi bạn cái Link: http://www.mediafire.com/download/0rx5gnfrocqbumo/SetupHSGTHCS.rar
Cùng hướng dẫn: http://www.mediafire.com/download/ijbbbak3umyl8ig/HDSDCTHSGTHCS.doc

Bạn dùng thử xem có đúng yêu cầu của bạn không nhé!
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom