Bảng điểm THPT qui chế 40,nhờ các bạn viết giúp 1 hàm học lực?

Liên hệ QC

tuaxedo2910

Thành viên mới
Tham gia
4/9/07
Bài viết
2
Được thích
5
theo qui chế 40 thì khi hs bị điểm thành phần khống chế bị hạ xuống 2 bậc thì chỉ hạ xuống 1 bậc,ví dụ: hs A được điểm tổng kết là 7.0 nhưng có môn <=3.5 thì bị xuồng loại "trung bình" chứ không phải là kém,các cao thủ làm ơn viết giùm tui lại phần xếp loại học lực với, xin cám ơn
 

File đính kèm

  • Bangdiemtonghoptheo quiche40.xls
    95.5 KB · Đọc: 609
Bạn nói rõ quy định về xếp loại, tôi sẽ làm giùm cho (vì tôi ko thuộc ngành giáo nên ko hiểu quy chế lắm)... Chứ nhìn vào công thức của bạn thấy.. khiếp quá.. tôi nghĩ có thể rút gọn nếu như bạn nói rõ cách tính
ANH TUẤN
 
qui chế 40

đây là toàn bộ văn bản của qui chế 40 , tôi đang bị mắc ở chỗ hàm xếp loại học lực , và đang muốn phát triển nó lên thành 1 addin để tiện cho công việc nhập liệu ,xin cảm ơn bạn trước nhé
 

File đính kèm

  • Doc94.pdf
    105.2 KB · Đọc: 616
Ai chà chà... mới đọc sơ qua thấy nghẹt thở quá... Hic... Đễ từ từ tôi xem kỹ lại nhé!
 
Mình xin tóm tắt quy định về xếp loại học lực của học sinh THPT theo quy chế 40 để các bạn ngoài ngành khỏi mất công đọc văn bản:
1.LOẠI GIỎI: phải đủ 3 điều kiện:
-Điểm TB các môn: 8,0 trở lên.
-Điểm 1 trong 2 môn Văn, Toán: 8,0 trở lên.
-Không có môn nào dưới 6,5.
2.LOẠI KHÁ:
-Điểm TB các môn: 6,5 trở lên.
-Điểm 1 trong 2 môn Văn, Toán: 6,5 trở lên.
-Không có môn nào dưới 5,0.
3.LOẠI TB:
-Điểm TB các môn: 5,0 trở lên.
-Điểm 1 trong 2 môn Văn, Toán: 5,0 trở lên.
-Không có môn nào dưới 3,5.
4.LOẠI YẾU:
-Điểm TB các môn:3,5 trở lên.
-Không có môn nào dưới 2,0.
5.LOẠI KÉM: Những trường hợp còn lại.
6.Một số trường hợp cần nâng bậc:
-Nếu ĐTB loại GIỎI (8,0 trở lên), có điểm 1 môn làm cho xuống loại TB thì xếp KHÁ.
-Nếu ĐTB loại GIỎI (8,0 trở lên), có điểm 1 môn làm cho xuống loại YẾU hoặc KÉM thì xếp TB.
-Nếu ĐTB loại KHÁ, có điểm 1 môn làm cho xuống loại YẾU thì xếp TB.
-Nếu ĐTB loại KHÁ, có điểm 1 môn làm cho xuống loại KÉM thì xếp YẾU.
 
Lần chỉnh sửa cuối:
Hình như Voda là thầy giáo thì phải! Đúng ko?
ANH TUẤN
 
Cái này dùng hàm Excel thì phức tạp đấy vì khá nhiều điều kiện ràng buộc, tốt nhất là dùng VBA. Bác Voda thử ra tay xem sao ? :-=
 
trời mình có bản đánh giá xếp loại học sinh theo qui chế soo nè!
 

File đính kèm

  • MauBD.zip
    24.6 KB · Đọc: 499
Cái bảng của bạn chỉ có tác giả sử dụng thôi ....... bạn hãy chuyển cho tác giả thì hơn! Mình tải về còn mất công gỡ khỏi XLA nữa.
 
-Mời các bạn tham khảo theo đường dẫn sau đây: Bạn nvson đã viết hàm xếp loại học lực bằng VBA theo qui chế mới.
http://www.giaiphapexcel.com/forum/showthread.php?t=724
-Có cách nào dùng hàm Excel một cách ngắn gọn không? Mình tính ra, công thức này phải viết rất dài ...dài đến đáng sợ!
-MauBD của ongtrungducmx25 giới thiệu xếp theo quy chế cũ không còn dùng được nữa.
 
Có cách nào dùng hàm Excel một cách ngắn gọn không? Mình tính ra, công thức này phải viết rất dài ...dài đến đáng sợ!

Bác thử dùng mấy cái For each, Select ... Case, If ... then phối hợp trong VBA, em nghĩ là ổn thôi. :-=
 
Nguyên văn bởi PhanTuHuong
Bác thử dùng mấy cái For each, Select ... Case, If ... then phối hợp trong VBA
-Trước hết, xin cảm ơn cuốn sách bổ ích của bác. Mong bác tiếp tục viết thêm phần nâng cao để bà con được nhờ.
-Về cái vụ này, cám ơn bác hướng dẫn nhưng có anh nvson "ra tay" rồi bác à!
-Vấn đề ở đây là không dùng VBA, làm sao dùng hàm excel viết công thức cho ngắn gọn để có thể chấp nhận được. Dùng VBA cũng có những bất tiện, khi người dùng đông, không phải ai cũng rành excel, lại thêm bị đe doạ bởi những phần mềm quét virus.
-Mong bác cho thêm ý kiến.
 
Tính trung bình và xếp loại học lực theo QD40

theo qui chế 40 thì khi hs bị điểm thành phần khống chế bị hạ xuống 2 bậc thì chỉ hạ xuống 1 bậc
Hàm tính trung bình học kỳ
Trước đây, tôi cũng có viết hàm tính trung bình cho một bảng dữ liệu cụ thể bằng cách nhập các đối số vào hàm theo đúng một thứ tự quy định trước với số môn cho trước. Ví dụ hàm TBHK(Toan, Ly, Hoa, Sinh, Van, Su, Dia, Nngu, CDan) với các đối số đưa vào là điểm các môn Toán, Lý, … tại các ô tương ứng. Bạn phải đưa đối số vào đúng vị trí thì tính trung bình mới đúng theo hệ số và phải nhập đủ 8 đối số (8 môn). Nếu một trường nào đó học 9 môn, 7 môn không tính được.
Xem Quy chế Đánh giá, xếp loại học sinh theo QĐ40, số môn hệ số 2 thay đổi từ 2 đến 4 tùy theo cấp học, tùy ban (không xét Lớp Chuyên vì có môn hệ số 3). Do đó cách viết hàm có đối số cụ thể như trên không áp dụng chung được.
Tôi đã nghĩ ra cách viết mới, nó áp dụng được cho số lượng môn học >1 và số lượng môn hệ số 2 từ 0 đến 4. Nó đáp ứng được theo QĐ40 các lớp không phải là lớp chuyên.

Cú pháp: TBHK(RangeDiem, Mon1, Mon2, Mon3, Mon4)
RangeDiem: vùng chứa tất cả điểm TB của các môn, bao gồm môn hệ số 1 và hệ số 2. Bắt buộc nhập.
Mon1, Mon2, Mon3, Mon4: các môn hệ số 2. Không bắt buộc nhập. ô chứa dữ liệu các môn này phải nằm trong RangeDiem.
Ví dụ có 8 môn học trong vùng A2:H2, tính TB học kỳ tại I2:
=TBHK(A2:H2, A2, E2) với A2, E2 là điểm 2 môn hệ số 2.
=TBHK(A2:H2, A2, B2, E2) với A2, B2, E2 là điểm 3 môn hệ số 2.

Mã:
[FONT=Verdana]Function TBHK(RangeDiem As Range, Optional Mon1 = "", Optional Mon2 = "", Optional Mon3 = "", Optional Mon4 = "")[/FONT]
[FONT=Verdana]Dim Diem As Double, HeSo As Byte[/FONT]
[FONT=Verdana]mon = RangeDiem.Cells.Count[/FONT]
[FONT=Verdana]If Mon1 = "" Then[/FONT]
[FONT=Verdana]Diem = 0[/FONT]
[FONT=Verdana]HeSo = 0[/FONT]
[FONT=Verdana]ElseIf Mon2 = "" Then[/FONT]
[FONT=Verdana]Diem = Mon1[/FONT]
[FONT=Verdana]HeSo = 1[/FONT]
[FONT=Verdana]ElseIf Mon3 = "" Then[/FONT]
[FONT=Verdana]Diem = Mon1 + Mon2[/FONT]
[FONT=Verdana]HeSo = 2[/FONT]
[FONT=Verdana]ElseIf Mon4 = "" Then[/FONT]
[FONT=Verdana]Diem = Mon1 + Mon2 + Mon3[/FONT]
[FONT=Verdana]HeSo = 3[/FONT]
[FONT=Verdana]Else[/FONT]
[FONT=Verdana]Diem = Mon1 + Mon2 + Mon3 + Mon4[/FONT]
[FONT=Verdana]HeSo = 4[/FONT]
[FONT=Verdana]End If[/FONT]
[FONT=Verdana]If Application.WorksheetFunction.Count(RangeDiem) < mon Then[/FONT]
[FONT=Verdana]TBHK = "V"[/FONT]
[FONT=Verdana]Else[/FONT]
[FONT=Verdana]Diem = Diem + Application.WorksheetFunction.Sum(RangeDiem)[/FONT]
[FONT=Verdana]TBHK = Round(Diem / (mon + HeSo), 1)[/FONT]
[FONT=Verdana]End If[/FONT]
[FONT=Verdana]End Function[/FONT]

Hàm xếp loại học lực
Hàm này cách viết cũng như TBHK, nhưng tất cả các đối số bắt buộc phải nhập.
Cú pháp: XLHL(RangeDiem, Toan, Van, Tb)
RangeDiem: như TBHK.
Van, Toan: 2 môn chính xét học lực.
Tb: diểm trung bình học kỳ.
Ví dụ có 8 môn học trong vùng A2:H2, TB học kỳ tại I2, xếp loại học lực tại J2:
=XLHL(A2:H2, A2, E2, I2) với A2, E2 là điểm Văn và Toán, I2 là điểm TBHK.

Mã:
[FONT=Verdana]Function XLHL(RangeDiem As Range, Toan, Van, Tb) As String[/FONT]
[FONT=Verdana]mon = RangeDiem.Cells.Count[/FONT]
[FONT=Verdana]If Application.WorksheetFunction.Count(RangeDiem) < mon Then[/FONT]
[FONT=Verdana]XLHL = "V"[/FONT]
[FONT=Verdana]Exit Function[/FONT]
[FONT=Verdana]End If[/FONT]
[FONT=Verdana]duoi20 = Application.WorksheetFunction.CountIf(RangeDiem, "<2")[/FONT]
[FONT=Verdana]duoi35 = Application.WorksheetFunction.CountIf(RangeDiem, "<3.5")[/FONT]
[FONT=Verdana]duoi50 = Application.WorksheetFunction.CountIf(RangeDiem, "<5")[/FONT]
[FONT=Verdana]duoi65 = Application.WorksheetFunction.CountIf(RangeDiem, "<6.5")[/FONT]
[FONT=Verdana]If Tb >= 8 And (Toan >= 8 Or Van >= 8) And duoi65 = 0 Then[/FONT]
[FONT=Verdana]XLHL = "Gi" & ChrW(7887) & "i"[/FONT]
[FONT=Verdana]ElseIf Tb >= 6.5 And (Toan >= 6.5 Or Van >= 6.5) And duoi50 = 0 Then[/FONT]
[FONT=Verdana]XLHL = "Khá"[/FONT]
[FONT=Verdana]ElseIf Tb >= 5 And (Toan >= 5 Or Van2 >= 5) And duoi35 = 0 Then[/FONT]
[FONT=Verdana]XLHL = "TB"[/FONT]
[FONT=Verdana]ElseIf Tb >= 3.5 And duoi20 = 0 Then[/FONT]
[FONT=Verdana]XLHL = "Y" & ChrW(7871) & "u"[/FONT]
[FONT=Verdana]Else[/FONT]
[FONT=Verdana]XLHL = "Kém"[/FONT]
[FONT=Verdana]End If[/FONT]
[FONT=Verdana]'Xet nang bac:[/FONT]
[FONT=Verdana]If XLHL = "TB" Then[/FONT]
[FONT=Verdana]If Tb >= 8 Then[/FONT]
[FONT=Verdana]If (Toan >= 8 Or Van >= 8) And duoi50 <= 1 And duoi35 = 0 And duoi20 = 0 Then[/FONT]
[FONT=Verdana]XLHL = "Khá"[/FONT]
[FONT=Verdana]End If[/FONT]
[FONT=Verdana]End If[/FONT]
[FONT=Verdana]ElseIf XLHL = "Y" & ChrW(7871) & "u" Then[/FONT]
[FONT=Verdana]If Tb >= 8 And (Toan >= 8 Or Van >= 8) And duoi50 <= 1 Then[/FONT]
[FONT=Verdana]XLHL = "TB"[/FONT]
[FONT=Verdana]ElseIf Tb >= 6.5 And (Toan >= 6.5 Or Van >= 6.5) And duoi50 <= 1 And duoi20 = 0 Then[/FONT]
[FONT=Verdana]XLHL = "TB"[/FONT]
[FONT=Verdana]End If[/FONT]
[FONT=Verdana]ElseIf XLHL = "Kém" Then[/FONT]
[FONT=Verdana]If Tb >= 8 And (Toan >= 8 Or Van >= 8) And duoi50 <= 1 Then[/FONT]
[FONT=Verdana]XLHL = "TB"[/FONT]
[FONT=Verdana]ElseIf Tb >= 6.5 And (Toan >= 6.5 Or Van >= 6.5) And duoi50 <= 1 Then[/FONT]
[FONT=Verdana]XLHL = "Y" & ChrW(7871) & "u"[/FONT]
[FONT=Verdana]End If[/FONT]
[FONT=Verdana]End If[/FONT]
[FONT=Verdana]End Function[/FONT]

Chú ý: Cả 2 hàm cho kết quả “V” (vắng) nếu trong vùng RangeDiem ó ô trống.
Viết xong nhưng khâu kiểm tra lại thực tế chưa nhiều. Các bạn kiểm tra giúp. Có sai mình chỉnh lại.
 

File đính kèm

  • TB_XL_QD40.zip
    9.6 KB · Đọc: 169
Lần chỉnh sửa cuối:
nếu xếp loại như thế thì có liên quang gì đến hạnh kiểm không nế học lực loại giỏi mà hạnh kiểm loại TB thì bị hạ một bật thì sau nhỉ!
 
Tôi thử làm = công thức xếp lọai học lực, tạm tính 5 môn, môn 1 và 2 là môn chính. Trong file có sheet của Nvson đã làm = công thức.
Do tôi không trong ngành nên o biết test. Các bạn test thử, nếu OK sẽ HD sau.
Giải pháp là dùng hàm index(match()).
Các tiêu thức phụ trợ sẽ là +/- hạng DTB.
 

File đính kèm

  • diem tong ket.rar
    13.6 KB · Đọc: 102
Thu Nghi mến!
-Cám ơn bạn đã nhiệt tình giúp các nhà giáo.
-Mình đã test công thức của bạn và thấy trường hợp này, bạn xem lại thử.
Môn 01...... Môn 02...... Môn 03....... Môn 04....... Môn 05
8.0 .............8.0.............. 10.0 .............7.0................ 3.4
-Với điểm số thế này, học lực loại TB chứ không phải loại yếu.( Trường hợp nâng bậc).
-Ở bậc PTTH, số môn học là 12-13 môn. Điểm TB được làm tròn 1 số lẻ.
-Làm thế nào để bớt dùng cột phụ.
 
Lần chỉnh sửa cuối:
Môn 01...... Môn 02...... Môn 03....... Môn 04....... Môn 05
8.0 .............8.0.............. 10.0 .............7.0................ 3.4
=>DTB: 7.3, max điểm môn 1 or 2>=8 => Hạng khá
Môn 5: 3.4: Kém <3.5 => hạ bậc =Yếu
-Nếu ĐTB loại KHÁ, có điểm 1 môn làm cho xuống loại KÉM thì xếp YẾU
-Nếu ĐTB loại KHÁ, có điểm 1 môn làm cho xuống loại KÉM thì xếp YẾU ????.
Do tiêu thức này em chưa hiểu lắm, Thầy cho lại tiêu thức này. Các môn em chỉ tính hệ số 1.
Sau đó em sẽ dùng name define dể bỏ cột phụ.
 
Phân tích trường hợp này, ta thấy:
-ĐTB: 7.3, nếu không có môn 05, xếp loại KHÁ.
-Vì môn 05 (3.4) nên bị xếp xuống YẾU.
Tiêu chuẩn loại YẾU:
-Có điểm TB: 3.5 trở lên.
-Không có môn nào dưới 2.0
- Dựa vào điều kiện nâng bậc, ta xếp lên TB.
Có lẽ ThuNghi nhầm ở chỗ: 1 môn dưới 3.5 chưa đủ để xếp KÉM. ĐTB dưới 3.5 mới bị xếp KÉM.
 
Lần chỉnh sửa cuối:
Các bạn xem dùm công thức xếp loại học lực học sinh THPT theo quy chế 40 sau. Có thể rút gọn được không?
=IF(Q9="","",IF(AND(Q9>=80,COUNTIF(D9:p9,">64")=COUNT(D9:p9),OR(D9>=80,I9>=80)),"GIỎI",IF(OR(AND(Q9>=80,COUNTIF(D9:p9,">34")=COUNT(D9:p9),OR(D9>=80,I9>=80),COUNT(D9:p9)-COUNTIF(D9:p9,">64")=1,COUNT(D9:p9)-COUNTIF(D9:p9,">49")=1),AND(Q9>=65,COUNTIF(D9:p9,">49")=COUNT(D9:p9),OR(D9>=65,I9>=65))),"KHÁ",IF(OR(AND(Q9>64,COUNTIF(D9:p9,">19")=COUNT(D9:p9),OR(D9>64,I9>64),COUNT(D9:p9)-COUNTIF(D9:p9,">49")=1,COUNT(D9:p9)-COUNTIF(D9:p9,">34")=1),AND(Q9>=80,OR(D9>=80,I9>=80),COUNT(D9:p9)-COUNTIF(D9:p9,">64")=1,COUNT(D9:p9)-COUNTIF(D9:p9,">34")=1),AND(Q9>=50,COUNTIF(D9:p9,">34")=COUNT(D9:p9),OR(D9>=50,I9>=50))),"TB",IF(OR(AND(Q9>=80,OR(D9>=80,I9>=80),COUNT(D9:p9)-COUNTIF(D9:p9,">=5")=2,COUNTIF(D9:p9,">19")=COUNT(D9:p9)),AND(Q9>64,OR(D9>64,I9>64),COUNT(D9:p9)-COUNTIF(D9:p9,">=50")=1,COUNT(D9:p9)-COUNTIF(D9:p9,">19")=1),AND(Q9>34,COUNTIF(D9:p9,">19")=COUNT(D9:p9))),"YẾU","KÉM")))))
Diễn giải:
-Ô Q9 : ĐTB các môn.
-Ô D9 đến P9 : điểm tb của 13 môn học.
-Ô D9 : điểm tb môn Toán.
-Ô I9: điểm tb môn Văn.
-Điểm nhập theo số hàng chục: vd: 8.0 ---> 80 ; 5.7 ---> 57...
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom