[算表] Excel根據各自班級各自排名

作者: x70026 (蝦咪)   2018-02-23 19:31:05
之前上網有查到一個
公式=SUMPRODUCT((班級=A2)*(成績>=C2))-SUMPRODUCT((班級=A2)*(成績=C2))+1
會排出【班排名(錯誤)】,希望能排出【班排名(正確)】,如何利用原公式改,
或是有其他公式??
PS.各自班級各自排名,但同分並列名次,且名次不跳過。謝謝
PS1.因班級眾多,且每班人數都不一致,希望公式能簡易一些。
班級 座號 成績 班排名(錯誤) 班排名(正確)
A 01 10 4 3
A 02 10 4 3
A 03 20 3 2
A 04 50 1 1
A 05 50 1 1
B 11 10 5 3
B 12 50 3 2
B 13 50 3 2
B 14 60 1 1
B 15 60 1 1
作者: soyoso (我是耀宗)   2018-02-23 19:41:00
作者: x70026 (蝦咪)   2018-02-23 20:42:00
謝謝,目前是可以了,但人數約1200人的話,感覺電腦跑起來快當掉了。
作者: Iories (無法克制)   2018-02-24 09:20:00
數量大又需要快速運算就要用巨集(VBA)了
作者: soyoso (我是耀宗)   2018-02-24 09:50:00
https://i.imgur.com/YOnklzs.jpg 類似這樣,班級排序,範圍以動態連結內為測試2097筆資料,每次重新運算時會花費不到2秒時間;班級設為46班,每班為40~50位情況下。如每次的重新運算還是會覺得操作上不順的話,可將排名以選擇性貼上值的方式保留或以 https://i.imgur.com/bm9maaQ.jpg 班級排序歸類,成績以大到小;同樣回文筆數,可無感覺運算時間如要改回以班級,座號排序時,請先將排名選擇性貼上值
作者: x70026 (蝦咪)   2018-02-24 10:57:00
S大您好,若是有成績是空白,跑出來是會錯誤,以09:50那個程式來說,應該要在如何修改?謝謝
作者: soyoso (我是耀宗)   2018-02-24 11:16:00
https://i.imgur.com/pMwXS86.jpg 類似這樣,另外回文的部分,提供的是"公式",並不是"程式"如空白儲存格不顯示排名的話,可加上if判斷回傳空字串""補充,班級排序歸類,成績以大到小方面,如班級最高分為上個班級最低分,這情況如可能發生的話,則調整為https://i.imgur.com/44PJTig.jpg
作者: azteckcc ( )   2018-02-24 13:53:00
如果是2010版,樞紐分析某功能也可以參考https://imgur.com/a/f8vDr2個空白處是我把該生成績移除,樞紐分析結果會跳過由大到小 作出來是你要的 不跳過名次,如果還有其他需求,這個方法大概就不合用了
作者: x70026 (蝦咪)   2018-02-24 15:11:00
S大感謝喔,目前我的需求都可以做到了,謝謝!另A大也謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com