Tạo chương trình xét công nhận tốt nghiệp THCS

Liên hệ QC

khaothibaclieu

Thành viên hoạt động
Tham gia
10/4/08
Bài viết
113
Được thích
14
Nhờ các bạn giúp mình tạo ra chương trình xét công nhận tốt nghiệp THCS theo yêu cầu sau:

1. Dữ liệu đầu vào: Theo file gửi kèm. Chỉ xét đối tượng đang học lớp 9 tại các trường THCS.
Nếu tạo được form nhập dữ liệu thì càng tốt.
2. Yêu cầu xử lý:
2.1 Công nhận tốt nghiệp học sinh:
- Xếp loại hạnh kiểm cả năm lớp 9 từ trung bình trở lên.
- Xếp loại học lực cả năm lớp 9 từ trung bình trở lên. Nếu thuộc đối tượng được hưởng ưu tiên, khuyến khích thì học sinh học lực yếu nhưng các môn học tính điểm trung bình đạt từ 3,5 điểm trở lên, trong đó môn toán hoặc môn ngữ văn đạt từ 5,0 điểm trở lên.
2.2 Xếp loại tốt nghiệp:
a. Loại giỏi: Hạnh kiểm loại tốt, học lực loại giỏi.
b. Loại khá: Hạnh kiểm loại khá, học lực loại khá hoặc hạnh kiểm loại khá, học lực loại giỏi.
c. Loại trung bình: Các trường hợp còn lại.
3. Yêu cầu xuất ra:
- Bảng ghi điểm (xếp tên theo qui tắc xếp chữ cái ABC).
- Danh sách học sinh được công nhận tốt nghiệp (xếp tên theo qui tắc xếp chữ cái ABC).
- Giấy chứng nhận tạm thời.
Mong các cao thủ giúp đỡ. Cám ơn rất nhiều.
 
Gửi file đính kèm cho xét tốt nghiệp THCS

Xin lỗi. Vì là newbee nên mình chưa biết cách gửi kèm file.
 

File đính kèm

  • XET TOT NGHIEP.xls
    20 KB · Đọc: 899
khaothibaclieu yêu cầu nhiều nhưng không gởi mẫu làm sao giúp được ? Xét tốt nghiệp có nhiều cách viết (hàm, VBA) nhưng mẫu thì không thể tự chế được !
 
Việc xét tốt nghiệp THCS hoàn toàn có thể làm trên Excel bằng công thức (Tôi sẽ post quy chế lên để các bạn cùng tham gia xây dựng).
Đôi điều tham gia với khaothibaclieu: Tại sao phải tách họ đệm và tên riêng? Nên tách ƯT và KK (Điều này rất cần thiết khi dữ liệu này dùng cho thi hoặc xét tuyển vào THPT).
...
 
To chibi
Tách cột họ tên ra để dể dàng trong việc sắp xếp họ tên. Còn nếu bạn chibi nghĩ không cần tách cột họ tên để sau này dùng hàm/VBA để tách ra rồi sắp xếp thì cũng được. Nhớ chỉ cho mình cách đó. Cám ơn lắm lắm.
Mình nghĩ không cần thiết phải để rõ diện ưu tiên, khuyến khích vì chỉ cần có điều này là thí sinh chỉ cần có học lực yếu nhưng trung bình môn từ 3,5 trở lên và Văn hoặc Toán 5,0 trở lên là được. Vì chương trình chỉ dùng cho các trường THCS nên không cần thiết phục vụ cho chuyện xét/ thi tuyển sinh của các trường THPT.
To PhamDuyLong:
Mình sẽ gửi mẫu. Cám ơn.
 
Lần chỉnh sửa cuối:
Các yêu cầu cụ thể để tạo chương trình xét tốt nghiệp THCS

Mình đã tạo mẫu cụ thể (gửi kèm) và nhờ các bạn giúp:
- Ở sheet Nhap DS:
+ Các bạn xem xét và cải tiến giùm mình công thức từ hai cột [Tốt nghiệp] và Cột [TN diện ƯT,KK]. Có cách nào chỉ lập công thức xét tốt nghiệp ở một cột duy nhất không? Nếu tạo hàm Xét tốt nghiệp thì càng tốt (để chương trình thêm chuyên nghiệp í mà).
+ Có cách nào để từ khi người dùng nhập vào cột [Hạnh kiểm] = "Trung bình" và cột [Học lực] = "Yếu" và cột Diện ƯT,KK = "X" thì hiện ra thông báo "Bạn hãy nhập điểm TBM và điểm Văn, Toán" hay đại loại là đổi màu, tô màu dòng dữ liệu đó để nhắc nhở người dùng không nhập thiếu dữ liệu?
- Tạo Hàm "Sắp xếp họ tên" để sắp xếp dữ liệu ở danh sách trên theo abc.
- Từ sheet Nhap DS có thể dùng Advanced Filter để lọc ra 2 danh sách tốt nghiệp: Một là sheet DSTN1 (dành cho các đối tượng tốt nghiệp không phải diện ưu tiên, khuyến khích) và sheet DSTN2 (dành cho các đối tượng tốt nghiệp diện ưu tiên, khuyến khích). Có thể tạo dùm mình các hàm:
- Hàm "Tạo danh sách tốt nghiệp": Trích lọc ra 2 sheet dữ liệu DSTN1 và DSTN2.
- Hàm "Xếp loại tốt nghiệp". Xếp loại theo điều kiện có ở mục lần trước mình đã đề cập.
- Hàm "Đếm số lượng": Tốt nghiệp loại Giỏi, Khá, Trung bình. (Tương đương với dùng công thức countif hoặc sumif).
Cám ơn trước.
 

File đính kèm

  • XET TOT NGHIEP.xls
    30 KB · Đọc: 389
Lần chỉnh sửa cuối:
Mình đã tạo mẫu cụ thể (gửi kèm) và nhờ các bạn giúp:
- Ở sheet Nhap DS:
+ Các bạn xem xét và cải tiến giùm mình công thức từ hai cột [Tốt nghiệp] và Cột [TN diện ƯT,KK]. Có cách nào chỉ lập công thức xét tốt nghiệp ở một cột duy nhất không? Nếu tạo hàm Xét tốt nghiệp thì càng tốt (để chương trình thêm chuyên nghiệp í mà).
+ Có cách nào để từ khi người dùng nhập vào cột [Hạnh kiểm] = "Trung bình" và cột [Học lực] = "Yếu" và cột Diện ƯT,KK = "X" thì hiện ra thông báo "Bạn hãy nhập điểm TBM và điểm Văn, Toán" hay đại loại là đổi màu, tô màu dòng dữ liệu đó để nhắc nhở người dùng không nhập thiếu dữ liệu?
- Tạo Hàm "Sắp xếp họ tên" để sắp xếp dữ liệu ở danh sách trên theo abc.
- Từ sheet Nhap DS có thể dùng Advanced Filter để lọc ra 2 danh sách tốt nghiệp: Một là sheet DSTN1 (dành cho các đối tượng tốt nghiệp không phải diện ưu tiên, khuyến khích) và sheet DSTN2 (dành cho các đối tượng tốt nghiệp diện ưu tiên, khuyến khích). Có thể tạo dùm mình các hàm:
- Hàm "Tạo danh sách tốt nghiệp": Trích lọc ra 2 sheet dữ liệu DSTN1 và DSTN2.
- Hàm "Xếp loại tốt nghiệp". Xếp loại theo điều kiện có ở mục lần trước mình đã đề cập.
- Hàm "Đếm số lượng": Tốt nghiệp loại Giỏi, Khá, Trung bình. (Tương đương với dùng công thức countif hoặc sumif).
Cám ơn trước.

Tập tin đính kèm đã sửa và đưa xuống bài #11
 
Lần chỉnh sửa cuối:
Cám ơn bạn boyxin rất nhiều. Nếu được, các bạn cải tiến giùm mình công thức xét tốt nghiệp ở Sheet Nhap DS. Mình phải dùng đến 2 cột để xét tốt nghiệp (cho riêng 2 đối tượng được hưởng ưu tiên, khuyến khích và không được hưởng ưu tiên, khuyến khích). Mình muốn chỉ cần dùng 1 cột để xét tốt nghiệp cho cả hai đối tượng trên.
Nếu ra kết quả như ở hai cột trên là đúng yêu cầu.
Ngoài ra, mình đã chỉnh sửa một số công thức cho đúng qui định (Một số chổ mình tô màu đỏ để bạn boyxin chỉnh cho đúng).
Cám ơn.
 

File đính kèm

  • XET TOT NGHIEP.xls
    49.5 KB · Đọc: 216
Lần chỉnh sửa cuối:
Cám ơn bạn boyxin rất nhiều. Nếu được, các bạn cải tiến giùm mình công thức xét tốt nghiệp ở Sheet Nhap DS. Mình phải dùng đến 2 cột để xét tốt nghiệp (cho riêng 2 đối tượng được hưởng ưu tiên, khuyến khích và không được hưởng ưu tiên, khuyến khích). Mình muốn chỉ cần dùng 1 cột để xét tốt nghiệp cho cả hai đối tượng trên.
Nếu ra kết quả như ở hai cột trên là đúng yêu cầu.
Ngoài ra, mình đã chỉnh sửa một số công thức cho đúng qui định (Một số chổ mình tô màu đỏ để bạn boyxin chỉnh cho đúng).
Cám ơn.

Không phải chuyên môn nên không rõ vụ này lắm, không biết thế này đã được chưa?
Tập tin đính kèm đã sửa lỗi VLOOKUP, dùng INDEX và đưa xuống bài #11
 
Lần chỉnh sửa cuối:
Cám ơn rất nhiều.
Các hàm XetTN và XetUT chạy rất tốt. Nhưng ở sheet DSTN2 vẫn còn trục trặc. Khi dùng VLookup dữ liệu không chính xác (tôi đã bôi màu đỏ các dòng không chính xác.
Bạn kiểm tra lại dùm.
Cám ơn.
 

File đính kèm

  • XET TOT NGHIEP.xls
    53.5 KB · Đọc: 306
Hi
VLOOKUP tìm và thay thế sai: đó là do bạn tách < ho-lot | tên > nên phần tên có hiện tượng trùng lặp
--------------------
SỬA SAI:
THAY HÀM VLOOKUP BẰNG HÀM INDEX SẼ HẾT NGAY

Xem tập tin đính kèm
 

File đính kèm

  • boyxin XetTN.xls
    63 KB · Đọc: 187
Lần chỉnh sửa cuối:
Nhờ các bạn giúp mình tạo ra chương trình xét công nhận tốt nghiệp THCS theo yêu cầu sau:
...
3. Yêu cầu xuất ra:
- Bảng ghi điểm (xếp tên theo qui tắc xếp chữ cái ABC).
- Danh sách học sinh được công nhận tốt nghiệp (xếp tên theo qui tắc xếp chữ cái ABC).
- Giấy chứng nhận tạm thời.
Mong các cao thủ giúp đỡ. Cám ơn rất nhiều.
Do số dòng trong danh sách tốt nghiệp không cố định vì số ts tốt nghiệp thay đổi nên viết bằng công thức rất khó. Từ mẫu của khaothibaclieu, tôi viết thủ tục rút danh sách tốt nghiệp sang 2 sheet DSTN1 và DSTN2. Nó sẽ tự động chèn đủ số dòng theo số ts tốt nghiệp và xếp tên theo ABC chuẩn Unicode.
Bạn chạy sub LapDanhSach hoặc nhấn Ctrl+Shft+P.
Trong module1:

- Xét tốt nghiệp
Mã:
Function TotNghiep(hk, hl) As String
If (hk = "T" & ChrW(7889) & "t" Or hk = "Khá" Or hk = "Trung bình") And (hl = "Gi" & ChrW(7887) & "i" Or hl = "Khá" Or hl = "Trung bình") Then
  TotNghiep = ChrW(272)
Else
  TotNghiep = ""
End If
End Function
- Xét tốt nghiệp thí sinh ưu tiên
Mã:
Function TotNghiepUT(hk, hl, ut, dtb, van, toan) As String
If (hk = "T" & ChrW(7889) & "t" Or hk = "Khá" Or hk = "Trung bình") And (hl = "Gi" & ChrW(7887) & "i" Or hl = "Khá" Or hl = "Trung bình") Then
  TotNghiepUT = ""
ElseIf ut <> "" And (hk = "T" & ChrW(7889) & "t" Or hk = "Khá" Or hk = "Trung bình" Or hk = "Y" & ChrW(7871)) And dtb >= 3.5 And (toan >= 5 Or van >= 5) Then
    TotNghiepUT = ChrW(272)
Else
  TotNghiepUT = ""
End If
End Function

- Thủ tục lập 2 danh sách in
Mã:
Sub LapDanhSach()
'
' LapDanhSach Macro
' Macro recorded 17/04/2008 by Pham Duy Long
'
' Keyboard Shortcut: Ctrl+Shift+P
'
Application.ScreenUpdating = False
Set ds = Sheets("Nhap DS")
Set ds1 = Sheets("DSTN1")
Set ds2 = Sheets("DSTN2")
ds1.Select
r = 4
Do
  If Cells(r, 2) = "Ng" & ChrW(432) & ChrW(7901) & "i l" & ChrW(7853) & "p b" & ChrW(7843) & "ng" Then Exit Do
  r = r + 1
Loop
If r > 7 Then
  Range(Cells(6, 1), Cells(r - 2, 1)).EntireRow.Delete
End If
r = 7
rds = 5
Do While ds.Cells(r, 1) <> ""
  If ds.Cells(r, 14) = ChrW(272) Then
    Rows(rds).EntireRow.Insert
    b = 0
    Cells(rds, 1) = rds - 4
    Cells(rds, 2) = ds.Cells(r, 2)
    Cells(rds, 3) = ds.Cells(r, 3)
    Cells(rds, 4) = ds.Cells(r, 4)
    Cells(rds, 5) = ds.Cells(r, 5)
    Cells(rds, 6) = ds.Cells(r, 6)
    Cells(rds, 7) = ds.Cells(r, 7)
    Cells(rds, 8) = ds.Cells(r, 8)
    Cells(rds, 9) = ds.Cells(r, 9)
    If Cells(rds, 8) = "T" & ChrW(7889) & "t" And Cells(rds, 9) = "Gi" & ChrW(7887) & "i" Then
      Cells(rds, 10) = "Gi" & ChrW(7887) & "i"
      gioi = gioi + 1
    ElseIf Cells(rds, 8) = "Khá" And (Cells(rds, 9) = "Gi" & ChrW(7887) & "i" Or Cells(rds, 9) = "Khá") Then
      Cells(rds, 10) = "khá"
      kha = kha + 1
    Else
      Cells(rds, 10) = "Trung bình"
      tb = tb + 1
    End If
    Cells(rds, 11) = SortUni(Cells(rds, 3))
    rds = rds + 1
  End If
  r = r + 1
Loop
Range(Cells(5, 2), Cells(rds, 11)).Sort Key1:=Range("C11"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Cells(rds, 1).EntireRow.Delete
Columns("K").ClearContents
Cells(rds + 1, 6) = Left(Cells(rds + 1, 6), 24) & rds - 5
Cells(rds + 2, 6) = Left(Cells(rds + 2, 6), 11) & gioi
Cells(rds + 3, 6) = Left(Cells(rds + 3, 6), 10) & kha
Cells(rds + 4, 6) = Left(Cells(rds + 4, 6), 17) & tb
ds2.Select
r = 4
Do
  If Cells(r, 2) = "Ng" & ChrW(432) & ChrW(7901) & "i l" & ChrW(7853) & "p b" & ChrW(7843) & "ng" Then Exit Do
  r = r + 1
Loop
If r > 7 Then
  Range(Cells(6, 1), Cells(r - 2, 1)).EntireRow.Delete
End If
r = 7
rds = 5
Do While ds.Cells(r, 1) <> ""
  If ds.Cells(r, 15) = ChrW(272) Then
    Rows(rds).EntireRow.Insert
    b = 0
    Cells(rds, 1) = rds - 4
    Cells(rds, 2) = ds.Cells(r, 2)
    Cells(rds, 3) = ds.Cells(r, 3)
    Cells(rds, 4) = ds.Cells(r, 4)
    Cells(rds, 5) = ds.Cells(r, 5)
    Cells(rds, 6) = ds.Cells(r, 6)
    Cells(rds, 7) = ds.Cells(r, 7)
    Cells(rds, 8) = ds.Cells(r, 8)
    Cells(rds, 9) = ds.Cells(r, 9)
    Cells(rds, 10) = ds.Cells(r, 11)
    Cells(rds, 11) = ds.Cells(r, 12)
    Cells(rds, 12) = ds.Cells(r, 13)
    Cells(rds, 13) = ds.Cells(r, 10)
    Cells(rds, 14) = SortUni(Cells(rds, 3))
    rds = rds + 1
  End If
  r = r + 1
Loop
Range(Cells(5, 2), Cells(rds, 14)).Sort Key1:=Range("C5"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Cells(rds, 1).EntireRow.Delete
Columns("N").ClearContents
Cells(rds + 1, 6) = Left(Cells(rds + 1, 6), 24) & rds - 5
End Sub
 

File đính kèm

  • XET TOT NGHIEP.zip
    28.9 KB · Đọc: 218
Chương trình của bác rất xuất sắc.
Tuy nhiên, bác kiểm tra dùm xem khi tôi xóa dữ liệu, nhập lại thì công thức của bác bị lỗi. Bác xem file đính kèm.

Ngoài ra, xin các bác chỉ giáo cách: Ở sheet Nhap DS, khi nhập vào một thí sinh Hạnh kiểm: "Trung bình", Học lực: "Yếu"; Diện ƯT,KK: "X" thì xuất ra thông báo: "Nhập điểm Trung bình môn, Điểm Toán và Điểm Văn" hoặc đỗi màu dòng đó cũng được.
 

File đính kèm

  • XET TOT NGHIEP.xls
    80.5 KB · Đọc: 41
Lần chỉnh sửa cuối:
Chương trình của bác rất xuất sắc.
Tuy nhiên, bác kiểm tra dùm xem khi tôi xóa dữ liệu, nhập lại thì công thức của bác bị lỗi. Bác xem file đính kèm.
Nguyên nhân lỗi là trong Module 1 và Module 2 có tên các hàm trùng nhau.
Còn việc chú ý người nhập khi gặp diện học sinh yếu thì dùng Format > Conditinal Formatting.
 

File đính kèm

  • XET TOT NGHIEP.zip
    23.6 KB · Đọc: 115
Cải tiến chương trình xét tốt nghiệp

Nhờ các bác giúp em với.
Từ các hàm "TotNghiep" và "TotNghiepUT" của thầy Long, em gộp chung lại, có chỉnh sửa đôi chút để có hàm "Totnghiep" chung.
Tuy nhiên, em làm hoài hàm "XepLoai" mà không được. Các bác xem code và giúp đỡ em nhé.
Ngoài ra, vì gộp hai hàm lại nên khi tạo DSTN1 và DSTN2 bị trùng lắp, em chưa biết cách khắc phục để tạo 2 danh sách riêng biệt (DSTN1 = Diện thường; DSTN2 = Diện ƯT,KK).
Nếu đã có hàm "XepLoai" ở sheet NhapDS rồi thì không cần phải có đoạn code xếp loại ở ds1 và ds2 (Đúng không?). Nhờ các bác lưu ý luôn.
 

File đính kèm

  • XET TOT NGHIEP 2.0.xls
    80.5 KB · Đọc: 95
Chương trình xét tốt nghiệp THCS (khá hoàn chỉnh)

Các bạn vào trang http://www.echip.com.vn, mục Download, Phần mềm tự biên tải về phần mềm của thầy Trần Xuân Hùng, giáo viên tỉnh Daklak. Chương trình viết bằng excel, khá hoàn chỉnh.
Tuy nhiên, chúng tôi kiến nghị tác giả bổ sung thêm 1 số yêu cầu của chúng tôi, như sau:
- Chương trình chỉ giới hạn ở mức 325 học sinh. Ở tỉnh chúng tôi, có một số trường có qui mô rất lớn, có khi đến 500 - 600 học sinh lớp 9. Mong anh có cách đừng giới hạn số lượng được không?
- Theo Quy chế Xét tốt nghiệp - Quyết định số 11, cần phải lập danh sách đỗ tốt nghiệp, trong đó tách riêng các danh sách học sinh diện ưu tiên, khuyến khích và tốt nghiệp theo các trường hợp khác (Điều 7). Chương trình của anh còn thiếu điều này.
- Ngoài ra, ở tỉnh chúng tôi, không đòi hỏi phải nhập điểm của tất cả các môn (vì đã có các chương trình tính điểm bộ môn) - Nếu kết hợp được thì tốt. Tuy nhiên, để tiết kiệm thời gian cho các trường, chúng tôi đề nghị anh tiếp tục cho phép các trường có tùy chọn nhập điểm tất cả các môn hay không nhập điểm tất cả các môn, chỉ nhập điểm TBM và môn Văn, Toán (để xét đối tượng ưu tiên, khuyến khích).
Mong các bạn cùng chia sẽ ý kiến.
 
Chương trình xét tốt nghiệp THCS v3.1

Đây là chương trình xét tốt nghiệp THCS được hoàn chỉnh bởi thầy Phạm Duy Long. Mọi người có thể down về nghiên cứu và sử dụng. Có gì thì góp ý với.
 

File đính kèm

  • XET TOT NGHIEP 3.1.xls.zip
    37.9 KB · Đọc: 418
Lần chỉnh sửa cuối:
Cần điều chỉnh chương trình xét tốt nghiệp THCS

Chương trình xét tốt nghiệp này chưa xét đúng qui chế vì chỉ mới đưa vào dữ liệu điểm trung bình môn Văn, Toán mà chưa xét đủ các môn khác. Do đó, nếu thí sinh có điểm trung bình môn Văn hoặc Toán chuơng trình dưới 3,5 cũng cho đỗ tốt nghiệp luôn.
Cần phải nghiên cứu và chỉnh sửa thêm.
 
Về xét tốt nghiệp THCS

Từ ý tưởng của khaothibaclieu;
Xin được dùng code của Thầy Phạm Duy Long;
Học tập từ bạn Tedaynui,

Mình có lập CT xét tốt nghiệp THCS, các bạn xem thử.

Hic! Hơi "củ chuối". Xin đừng cười.
 
Lần chỉnh sửa cuối:
Chương trình xét tốt nghiệp này chưa xét đúng qui chế vì chỉ mới đưa vào dữ liệu điểm trung bình môn Văn, Toán mà chưa xét đủ các môn khác. Do đó, nếu thí sinh có điểm trung bình môn Văn hoặc Toán chuơng trình dưới 3,5 cũng cho đỗ tốt nghiệp luôn.
Cần phải nghiên cứu và chỉnh sửa thêm.
To khaothibaclieu: rút kinh nghiệm trường hợp này. Sau này em phải gởi dữ liệu tổng quát hơn chứ có 2 môn văn, toán dễ hiểu lầm là xhỉ xét có 2 môn đó !
 
Web KT
Back
Top Bottom