如圖展示了一份某公司秋季運動會的比賽成績明細表,下面的公式將實現根據比賽成績進行部門排名。
●RANK函數化零為整排序法
H3單元格部門列表數組公式如下:
{=INDEX($A:$A,RIGHT(SMALL(RANK($E$3:$E$8,$E$3:$E$8)*100000+ROW($E$3:$E$8),ROW()-ROW($2:$2)),5))}
I3單元格積分公式如下:
=VLOOKUP($H3,$A:$E,5,)
其中,部門列表公式主要利用RANK函數與ROW函數重新生成內存數姐,再利用SMALL函數從小到大進行提取,最后利用INDEX函數生成部門名稱。
利用RANK函數將數值化零為整地轉換為數值排名,在帶有小數的數值排名應用中非常有用,可以免受Excel有效位數最多為15位的限制。
●SMALL函數和LARGE函數排名法
L3單元格積分提取公式如下:
{=INDEX($A:$A,SMALL(IF($E$3:$E$8=$L3,ROW($E$3:$E$8)),COUNTIF($L$2:$L3,$L3)))}
K3單元格提取部門名稱的數組公式如下:
=LARGE($E:$E,ROW()-ROW($2:$2))
公式中最關鍵的是利用了COUNTIF函數混合引用的動態統計的技巧,便于提取出相同積分的部門名稱。