PDA

View Full Version : Xếp thứ hạng học sinh theo điểm trung bình!



phonglantim10112007
03-12-07, 11:05 PM
mình có một bảng điểm của học sinh, trong cột xếp thứ hạng được sẽ căn cứ vào điểm trung bình của học sinh, nếu điểm trung bình cao nhất thì ở cột xếp hạng ghi là 1, điểm trung bình cao thứ nhì xếp hạng là 2, ...., điểm trung bình thấp nhất thì xếp hạng là số thứ tự cuối cùng của lớp (công việc xếp hạng giống như ở bậc tiểu học, xếp thứ hạng cho học sinh). có ai bít cách làm chỉ giúp mình với. cảm ơn các bạn nhìu lém.%#^#$%#^#$

viendo
04-12-07, 12:03 AM
Chào bạn
Bạn dùng hàm RANK để xếp hạng, các học sinh có điểm trung bình bằng nhau thì bằng hạng nhau.

tedaynui
04-12-07, 12:09 AM
Theo mình bạn nên dùng thêm 1 cột phụ thì việc xếp hạng mới chính xác được. Vì tránh trường hợp học sinh Khá nhưng ĐTB vẫn có thể cao hơn học sinh giỏi.

VD : Ở cột phụ này, nếu Giỏi thì ĐTB*30, nếu Khá thì ĐTB*20, nếu Yếu thì ĐTB*10 và Kém thì giữ nguyên. Sau đó dùng hàm RANK() để xếp hạng.

TDN

viendo
04-12-07, 12:15 AM
Chào bạn Tedaynui, theo mình nghỉ bạn ấy chỉ cần xếp hạng dựa trên điểm trung bình thôi mà, chứ đâu cần phân hạng Giỏi Khá Yếu, có phải không bạn?

phonglantim10112007
04-12-07, 12:42 AM
cảm ơn các bạn nhìu lém, mình đã xếp hạng được học sinh theo sự hướng dẫn của các bạn, nhưng mình thấy trong cột xếp hạng chỉ có hạng 1, 3, 5, 7 và 9 (g/s có 10 học sinh) các thứ hạng 2, 4, 6 sao không có nhỉ. ở đây một số điểm trung bình là trùng nhau.

tedaynui
04-12-07, 12:59 AM
cảm ơn các bạn nhìu lém, mình đã xếp hạng được học sinh theo sự hướng dẫn của các bạn, nhưng mình thấy trong cột xếp hạng chỉ có hạng 1, 3, 5, 7 và 9 (g/s có 10 học sinh) các thứ hạng 2, 4, 6 sao không có nhỉ. ở đây một số điểm trung bình là trùng nhau.
Về nguyên tắc xếp hạng như sau :
+ Xếp hạng 1, 2, 3, 4, 5, 6, 7, 8, 9, ... : không có trùng hạng
+ Xếp hạng 1, 2 (trùng hai hạng 2), 4, 5, 6... : sẽ không có hạng 3 vì trùng hai hạng 2
+ Xếp hạng 1, 2, 3, 4 (trùng ba hạng 4), 7, 8, 9, ... : sẽ không có hạng 5 và 6 vì trùng ba lần hạng 4
Vậy bạn xem lại có phải trường hợp của bạn bị trùng 2 hạng 1, 2 hạng 3, 2 hạng 5,... không nhé ???

TDN

ThuNghi
04-12-07, 08:58 AM
Về nguyên tắc xếp hạng như sau :
+ Xếp hạng 1, 2, 3, 4, 5, 6, 7, 8, 9, ... : không có trùng hạng
+ Xếp hạng 1, 2 (trùng hai hạng 2), 4, 5, 6... : sẽ không có hạng 3 vì trùng hai hạng 2
+ Xếp hạng 1, 2, 3, 4 (trùng ba hạng 4), 7, 8, 9, ... : sẽ không có hạng 5 và 6 vì trùng ba lần hạng 4
Vậy bạn xem lại có phải trường hợp của bạn bị trùng 2 hạng 1, 2 hạng 3, 2 hạng 5,... không nhé ???

TDN
Xin bổ sung thêm 1 cách
Nếu trong 10 em mà có 4 em điểm 10, 4 em điểm 9, 2 em điểm 3 thì chỉ có hạng 1,2,3. Bạn chọn cái gì.

tklshb
23-01-08, 09:37 PM
Khi xếp hạng học sinh dựa theo điểm TB nhưng nếu hai học sinh cùng có DTB là 5.2 (ví dụ thế) nhưng học sinh A vì có một môn dưới 3.5 nên bị xếp loại yếu (còn học sinh B xếp loại TB). Các bác có biết hàm RANK phải sửa như nào để học sinh A phải xếp sau học sinh B không? Bảo tôi với!

tedaynui
23-01-08, 11:33 PM
Khi xếp hạng học sinh dựa theo điểm TB nhưng nếu hai học sinh cùng có DTB là 5.2 (ví dụ thế) nhưng học sinh A vì có một môn dưới 3.5 nên bị xếp loại yếu (còn học sinh B xếp loại TB). Các bác có biết hàm RANK phải sửa như nào để học sinh A phải xếp sau học sinh B không? Bảo tôi với!
Bạn đọc lại bài #3 có lẽ đúng yêu cầu của bạn đấy

TDN

tklshb
24-01-08, 10:33 PM
Không còn cách nào khác nữa à bạn?

anhtuan1066
25-01-08, 08:03 AM
Bạn muốn biết có cách nào khác hay ko thì post file lên đi, chúng ta cùng nghiên cứu... Tôi nghĩ rằng tôi có thể làm dc mà ko cần dùng cột phụ nào
ANH TUẤN

longtran159
25-01-08, 05:31 PM
Các bác ạ, ở bài này chúng ta có thể tham khảo cách xếp hạng (vị thứ) đã có sẵn trong chương trình của thầy Văn không?

tklshb
25-01-08, 05:36 PM
Tôi cũng có bản của thầy Văn nhưng chưa nghiên cứu hết. Tôi sẽ thử xem. Nhưng hình như cũng phải dùng cột phụ hay sao ấy.

tklshb
29-01-08, 09:51 PM
Chào bạn Tedaynui, theo mình nghỉ bạn ấy chỉ cần xếp hạng dựa trên điểm trung bình thôi mà, chứ đâu cần phân hạng Giỏi Khá Yếu, có phải không bạn? Tôi không nghĩ như bạn viendo vì nếu hai học sinh có cùng DTB nhưng học sinh A có học lực Yếu (vì cả Văn và Toán đều dưới TB), trong khi đó học sinh B được xếp loại TB. Vì vậy, không thể xếp học sinh A cùng hạng với học sinh B được. Cách tốt nhất là dùng cột phụ>

hungmotiensinh
14-08-09, 10:36 PM
Hãy vào đ/c này nhé
http://www.giaiphapexcel.com/forum/showthread.php?t=8787&page=2


:type:
[COLOR="Magenta"][I]Đường đi khó,không khó vì ngăn sông cách núi mà khó vì lòng người ngại núi e

phihndhsp
04-11-11, 12:37 PM
Làm sao xếp hạng dựa vào Xếp loại trước và không dùng cột phụ để làm, mong được sự giúp đỡ của các cao thủ

ptm0412
04-11-11, 04:41 PM
Có hai vấn đề:
1. Tại sao không dùng cột phụ?
Nếu không dùng cột phụ thì phải làm 1 trong các cách sau:
- Đưa công thức cột phụ vào công thức chính (cách này không phải lúc nào cũng làm được)
- Dùng Name tạo mảng phụ bằng công thức của cột phụ (cũng là công thức cần phải tính toán), và cũng không phải lúc nào cũng làm được
- Nếu 2 cách trên không được, sẽ phải xoay sở tìm thuật toán khác, mà chắc chắn là sẽ phức tạp hơn cột phụ, công thức phức tạp thì một là suy nghĩ nặng đầu, hai là máy tính sẽ tính toán chậm hơn. Công thức phức tạp đó, dù có đưa vào Name, Excel cũng vẫn phải tính trong Name, dù rằng công thức chính rất gọn gàng.

Đừng nghĩ rằng người thông minh mới có thể nghĩ ra cách không dùng cột phụ, hoặc đừng nghĩ rằng không dùng cột phụ là cao thủ. Vì:
- Thông minh đặt không đúng chỗ, hại mình, và hại máy
- Cao thủ viết công thức là để cho bất cứ ai đọc công thức cũng có thể hiểu và có thể tự làm, chứ không phải cao thủ viết, chỉ cao thủ hiểu với nhau.

2. Vấn đề số liệu mẫu:

Điểm trung bình mẫu trong file, chưa được làm tròn, nó dài lê thê cả chục số thập phân.
Tôi cho rằng với số liệu này rất khó để có 2 điểm trung bình bằng nhau chính xác 100%. Và tiêu chí tốt, khá, chả ảnh hưởng gì đến kết quả. Cứ thử dùng Rank với cột điển TB, không quan tâm gì đế tốt với khá, cũng đã ra kết quả rồi.

Như vậy, với các cách tính thông thường (không phải cao thủ) không thể loại bỏ hết các trường hợp sai sót.
Thí dụ tôi dùng cột phụ như sau:
F2 =ROUND(B2;2)+(D2="Tốt")/1000
Fill xuống
Sau đó dùng hàm rank trên cột này. Rất đơn giản và ai cũng làm được, ai đọc cũng hiểu được. Nhưng với thí dụ sau:

Thí dụ có 2 điểm gần bằng nhau:
học sinh A: 8.05525 (tốt) và
học sinh B: 8.05666 (khá)
Về nguyên tắc xếp hạng học sinh B dù khá vẫn phải trên học sinh A (tốt).

Nhưng với công thức đơn giản của 1 kẻ không phải cao thủ như tôi, sẽ bị sai:
Sau khi làm tròn, cả 2 sẽ bằng nhau và bằng 8.06. Sau khi xét tốt khá, học sinh A sẽ nằm thứ hạng trên!

Nếu đúng ra, và theo cả quy chế giáo dục, điểm trung bình phải làm tròn, lúc đó 2 học sinh này sẽ bằng nhau theo quy chế, và hơn kém bằng "tốt" và "khá". Lúc đó mới xếp hạng theo quy chế. Và cái công thức đơn giản của kẻ thấp thủ mới đúng được.

phihndhsp
04-11-11, 05:11 PM
DẠ em cảm ơn thầy, em làm được và cũng đã làm tròn số và nhân cho 1000, 100, 10, 1 cho từng loại như những ý tuởng của topic này, và làm thêm cột phụ thì sẽ ra yêu cầu, nhưng em muốn suy nghĩ thử có cách nào làm mà không cần cột phụ không? mà suy nghĩ không ra nên em mới đưa lên diễn đàn,để có gì học hỏi thêm dạ em chào thầy chúc thầy buổi tối vui vẻ và ăn cơm ngon miệng

ptm0412
04-11-11, 06:19 PM
Cột XLoại: Tốt nhân 1000, khá nhân 100, trung bình nhân 10, ... trong trường hợp này là sai bét.
Thí dụ (sau khi làm tròn):
8.1 (khá) *100 = 810
7.2 (tốt) * 1000 = 7200

Chả lẽ 7.2 hạng cao hơn 8.1?

Cụ thể trong file:
Nguyễn Tấn Sang: 6.38, Tốt, và
Liang Cảnh Siêu: 6.18, Tốt

Thứ hạng cao hơn

Huỳnh Minh Thắng: 6.63, Khá

trong khi cột E xếp hạng bằng tay để làm mẫu, 6.63 thứ hạng cao hơn 2 người kia.