例子:数学成绩单元格为B2:B100,想知道B5格的数学成绩排第几名,函数是rank(B5,B2:B100)先排总分再排数学的话,需要知道总人数,总人数99人的话,把(总分名次x100+数学名次)排序就可以了,相当于先排千位百位再排个位十位。总人数如果在100~999人,就用(总分名次x1000+数学名次)排序。也可以排序分数,因为数学分数最多三位数,把(总分x1000+数学分)来排序即可。
若是不用VBA單純排序 就可以了1. 總分 次要 數學排序 第一個排序 總分次要排序 數學他就會按總分高的在上 再按照次要排序 數學高的在上2.總分 次要 數學 再次英文排序 第一個排序 總分次要排序 數學若是要比較第三項再新增次要排序 英文他就會按總分高的在上 再按照次要排序 數學高的在上 再按照次要排序 英文高的在上3.總分 次要 數學+英文總分 再次數學排序 第一個排序 總分次要排序 數學+英文(新增一個加總欄)他就會按總分高的在上 再按照次要排序 數學+英文高的在上再新增次要排序 數學他就會按總分高的在上 再按照次要排序 數學+英文高的在上 再按照次要排序 數學高的在上
新增一行 加權分數 = 總分 + 數學 / 101然後再用 rank 取名次如果還是同分要再多比一項(例: 英文)那就是 加權分數 = 總分 + 數學 / 101 + 英文 / (101*101)至於為什麼是 101 而不是 100,是因為避免進位如果用100去計算,總分500數學100 跟 總分501數學0分 的加權分數就會一樣除以 101 就可以避免上述情況
driftice wrote:= 總分 + 數學 / 101 + 英文 / (101*101) 大大真強...請問一下.= 總分 + 數學 / 101 + 英文 / (101*101)1.如果除以其他的數...不要偶數就可以嗎?例如..51 or 103 or 233還是一定要101呢??2.為什麼 英文是 英文 / (101*101) 而不是英文/101就好呢?謝謝
先舉個簡單的例子,如果滿分只到 99,把除數101改成100總分 333 數學 44 英文 55,那加權分數就是 333.4455總分 333 數學 66 英文 99,那加權分數就是 333.6699看出規則了嗎?基本上就是把比較的順序加上權重先比總分,一樣的話比數學,再一樣的話比英文所以把總分放整數,數學放在小數第一第二位,英文放在小數第三第四位就可以用 rank 比較出排名除以101是因為滿分100,而排名是先比總分,總分相同才比數學。也就是說 數學滿分,比不上總分多1分所以要把加權分數限制在 滿分也不大於1 ( 100 / n < 1 → n > 100 )如果滿分是 5 分,那除以 6 就可以了 ( 5 / 6 < 1 )英文權重 1 / (101*101) 也是一樣的道理,因為英文是前兩項一樣才比英文分數的高低不能影響到數學分數的比較 (英文滿分,比不上數學多1分)。數學1分的權重是 1 / 101,所以英文分數權重 (1/101) * (1/101)除以101兩次只是因為簡單方便,實際上除以 10101 即可 ( 100 / n < 1 / 101 → n > 10100 )PS: 另一種狀況是如果總分一樣,比數學加英文,一樣的話再比國文這時候因為數學加英文滿分200,所以 加權分數 = 總分 + (數學+英文) / 201 + 國文 / (101 * 201)
jjx874 wrote:总分x1000+数学分)来排序即可 1.請問(总分x1000+数学分)来排序即可那总分x100 +數學分 可以嗎??2.(总分x1000000+数学分x1000+语文分)如果改.....总分x1000+数学分x100+语文分)可以嗎??謝謝