【轉帖】在Excel中進行中國式排名
【轉帖】在Excel中進行中國式排名
【轉自】http://club.excelhome.net/thread-500420-1-8.html
所謂中國式排名,是指排名時如果出現並列的情況,並列者不佔用名次。例如有兩個並列第2名,則下一個名次還是為第3 名,而不是排到第4 名,這似乎更符合中國人的習慣。而在Excel中用RANK函數排序時,並列者將佔用名次,因而會導致後面有的名次會出現空缺。在許多情況下,我們可能要用到中國式排名。下面是幾種進行中國式排名的方法: 一、用輔助列 在能夠改變表格結構的情況下,可以先對表格按降序的方式排序,然後在輔助列中輸入公式,獲得中國式排名。 如下圖A1:D19區域中是某公司年度考核成績表,總成績在D列中,現在要對D列進行中國式排名。
1.選擇D2:D19列中的任一單元格,單擊工具欄中的「Z→A」按鈕,使總成績按降序排序。 2.在E2單元格中輸入公式: =RANK(D2,$D$2:$D$19) 然後向下拖,將公式填充到E3:E19區域。 3.在F2單元格中輸入數值「1」。然後在F3單元格中輸入公式: =IF(E3=E2,F2,F2+1) 然後向下拖,將公式填充到F3:F19區域,即可得到中國式排名。 這種方法操作簡單,無需複雜的公式,缺點是要使用輔助列。 二、使用公式 用下面的幾個公式都可以獲得中國式排名,還是以上圖為例,在單元格中輸入公式並向下拖: =SUMPRODUCT((D$2:D$19>D2)*(1/(COUNTIF(D$2:D$19,D$2:D$19))))+1 或下面的幾個數組公式,公式輸入完畢後按Ctrl+Shift+Enter結束: =SUM(IF(D$2:D$19>D2,1/COUNTIF(D$2:D$19,D$2:D$19)))+1 =SUM(--(FREQUENCY(D$2:D$19,IF(D$2:D$19>=D2,D$2:D$19))>0)) =SUM(--IF(D$2:D$19>=D2,MATCH(D$2:D$19,D$2:D$19,)=ROW($2:$19)-1))
推薦閱讀:
※中國通史49—楚漢相爭,十面埋伏
※中國智謀:應變·應對大全
※日本瓷器的發端與演變歷史——中國文博網
※我也在問——中國向何處去
※中國茶文化的形成、發展以及茶藝茶道