Bảng Xếp loại HS theo QĐ51, dành cho GVCN chỉ cần biết gõ chữ và số (2 người xem)

  • Thread starter Thread starter Ba Tê
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Ba Tê

Cạo Rồi Khỏi Gội
Tham gia
5/5/09
Bài viết
12,124
Được thích
17,588
Giới tính
Nam
Tôi có Bảng Xếp loại HS theo QĐ51, môn TD, Nhạc, Mỹ thuật đánh giá bằng XL, tôi đã thử nghiệm đạt yêu cầu nhưng các công thức còn quá rườm rà, quá nhiều cột phụ, mong được các bạn góp ý.
Các Bạn nào cảm thấy sử dụng được xin cứ dùng, chỉ cần biết gõ tiếng Việt và biết nhập điểm (từ bàn phím số) .
---------------------
Password : 30122008
 
Lần chỉnh sửa cuối:
Tôi có Bảng Xếp loại HS theo QĐ51, môn TD, Nhạc, Mỹ thuật đánh giá bằng XL, tôi đã thử nghiệm đạt yêu cầu nhưng các công thức còn quá rườm rà, quá nhiều cột phụ, mong được các bạn góp ý.
Các Bạn nào cảm thấy sử dụng được xin cứ dùng, chỉ cần biết gõ tiếng Việt và biết nhập điểm (từ bàn phím số) .
---------------------
Password : 30122008


bạn vào đây tham khảo nhé!http://www.giaiphapexcel.com/forum/showthread.php?p=212737#post212737
 
Qua hơn nửa năm học hỏi trên GPE, đã cải tiến được ít nhiều, mong được góp ý tiếp.
--------
Cảm ơn ý kiến của Bạn Hữu Thắng. Tôi đã chỉnh lại trong File này sau khi Bạn rút gọn lại Code xếp loại như ở bài #4.
Rất mong được các Bạn góp ý thêm.
-----------
 
Lần chỉnh sửa cuối:
Qua hơn nửa năm học hỏi trên GPE, đã cải tiến được ít nhiều, mong được góp ý tiếp.
Rút gọn Function XepLoai() lại một tí
PHP:
Public Function XepLoai(DiemCacMon As Range, DiemTB, Toan, Van As Double, MonXL As Range) As String
With Application.WorksheetFunction
If .Min(DiemTB, .Max(Toan, Van)) >= 8 And .Min(DiemCacMon, MonXL) >= 6.5 Then
    XepLoai = "G"

ElseIf (.Min(DiemTB, .Max(Toan, Van)) >= 8 And .Min(DiemCacMon) >= 3.5 And .Min(MonXL) >= 6.5 And .CountIf(DiemCacMon, "<6,5") = 1) _
    Or (.Min(DiemTB, .Max(Toan, Van)) >= 6.5 And .Min(DiemCacMon, MonXL) >= 5) Then
    XepLoai = "K"

ElseIf (.Min(DiemTB, .Max(Toan, Van)) >= 8 And ((.Min(DiemCacMon) >= 6.5 And .CountIf(MonXL, "<5") = 1) _
        Or (.Min(DiemCacMon) < 3.5 And .Min(MonXL) >= 6.5 And .CountIf(DiemCacMon, "<6,5") = 1))) _
    Or (.Min(DiemTB, .Max(Toan, Van)) >= 6.5 And ((.Min(DiemCacMon) >= 5 And .Min(MonXL) = 3.5 And .CountIf(MonXL, "<5") = 1) _
        Or (.Min(DiemCacMon) >= 2 And .Min(MonXL) >= 5 And .CountIf(DiemCacMon, "<5") = 1))) _
    Or (.Min(DiemTB, MonXL, .Max(Toan, Van)) >= 5 And .Min(DiemCacMon) >= 3.5) Then
    XepLoai = "TB"

ElseIf .Min(DiemTB, .Max(Toan, Van)) >= 6.5 And ((.Min(DiemCacMon) >= 5 And .Min(MonXL) = 2 And .CountIf(MonXL, "<5") = 1) _
        Or (.Min(DiemCacMon) < 2 And .Min(MonXL) >= 5 And .CountIf(DiemCacMon, "<5") = 1)) _
    Or (.Min(DiemTB, MonXL) >= 3.5 And .Min(DiemCacMon) >= 2) Then
    XepLoai = "Y"

Else
    XepLoai = "Kém"
End If
End With
End Function
 
Gửi Bạn Ba Tê

View attachment 39527Bảng tổng hợp của bạn có một số cải tiến khá hay. Mình xin góp một số ý kiến như sau:
1) Công thức của bạn dài quá, không nên viết dưới dạng (sum()+sum())/(count()+count()) mà nên dùng công thức dạng round(average();1), sẽ gọn và dễ kiểm soát hơn nhiều.
2) Đúng như bạn nói, chương trình của bạn có nhiều cột phụ quá. Nên tìm một giải pháp khác giảm bớt cột phụ đi.
3) Hàm xếp vị thứ của bạn có trục trặc ở đâu đó, bạn xem lại. Chẳng hạn STT 39 và STT 41 cùng có ĐTB: 7,7 - XLHL: K - XLHK: T - đều là HSTT nhưng STT 39 xếp VT 4 còn STT 41 xếp VT 7
Mình đã chỉnh sửa lại chương trình cho gọn hơn, tất cả dữ liệu của bạn mình vẫn giữ nguyên, chỉ thêm vào những dữ liệu phụ theo cách của mình. Tất cả dữ liệu phụ cần thiết theo cách của mình chỉ là 3 khối ô màu tím (riêng công việc thống kê thông tin của HS Nữ mình không bàn đến). Bạn tham khảo và chúng mình cùng trao đổi thêm nhé!
Chào bạn!
 

File đính kèm

Lần chỉnh sửa cuối:
View attachment 39527Bảng tổng hợp của bạn có một số cải tiến khá hay. Mình xin góp một số ý kiến như sau:
1) Công thức của bạn dài quá, không nên viết dưới dạng (sum()+sum())/(count()+count()) mà nên dùng công thức dạng round(average();1), sẽ gọn và dễ kiểm soát hơn nhiều.
2) Đúng như bạn nói, chương trình của bạn có nhiều cột phụ quá. Nên tìm một giải pháp khác giảm bớt cột phụ đi.
3) Hàm xếp vị thứ của bạn có trục trặc ở đâu đó, bạn xem lại. Chẳng hạn STT 39 và STT 41 cùng có ĐTB: 7,7 - XLHL: K - XLHK: T - đều là HSTT nhưng STT 39 xếp VT 4 còn STT 41 xếp VT 7
Mình đã chỉnh sửa lại chương trình cho gọn hơn, tất cả dữ liệu của bạn mình vẫn giữ nguyên, chỉ thêm vào những dữ liệu phụ theo cách của mình. Tất cả dữ liệu phụ cần thiết theo cách của mình chỉ là 3 khối ô màu tím (riêng công việc thống kê thông tin của HS Nữ mình không bàn đến). Bạn tham khảo và chúng mình cùng trao đổi thêm nhé!
Chào bạn!
Bạn xem hình đính kèm xem 2 HS này phát thưởng đồng hạng có hơi bị "kỳ" không. Tôi đã chỉnh lại trong bài #3. Nhưng ở trường tôi thì không phát thưởng đồng hạng Nhất.
 
Bạn xem hình đính kèm xem 2 HS này phát thưởng đồng hạng có hơi bị "kỳ" không. Tôi đã chỉnh lại trong bài #3. Nhưng ở trường tôi thì không phát thưởng đồng hạng Nhất.

Chào bạn Ba Tê! Sau khi tôi gởi bài xong thì mới thấy bài #3 của bạn. Tôi đã tải file kèm theo #3 về xem. Bạn đã lập được hàm xếp loại hay quá. Xin chúc mừng bạn!
Mà bạn Ba Tê này, nếu quả thật có kết quả như trường hợp trong hình bạn gởi thì xử lí thế nào nhỉ? Biết khen em nào, bỏ em nào? Nếu là ở trường tôi thì phải khen cả 2 thôi, chọn khen em này thì không ổn với phụ huynh của em kia liền.
Tạm biệt bạn, chúc bạn vui!
 
Web KT

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

Back
Top Bottom