如题所述
如图展示了一份某公司秋季运动会的比赛成绩明细表,下面的公式将实现根据比赛成绩进行部门排名。
●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函数混合引用的动态统计的技巧,便于提取出相同积分的部门名称。
●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函数混合引用的动态统计的技巧,便于提取出相同积分的部门名称。
温馨提示:答案为网友推荐,仅供参考