当前位置: 主页 > Office办公 > Excel专区 > Excel函数 > excel对多个相同数值返回平均排位的公式

excel对多个相同数值返回平均排位的公式

  • 2022-12-09
  • 来源/作者: Wps Office教程网/ 菜鸟图库
  • 148 次浏览

在Excel中对区域中的数值进行排位时要用到RANK函数,RANK函数对于并列排位的处理方法是取其最小位次。例如对于一列数值“9,2,1,2,6,2,7,3,7”中有两个“7”,按照从大到小的顺序排位时这两个数都返回“2”,即并列第二位,同时第三大的数字“6”返回“4”。有时可能不需要对多个相同数值进行这样的排位,而是要取其平均排位。例如上列数值中的“7”所占的位次为“2”和“3”(因为比“7”小的最大数“6”的位次为“4”),取其平均值为“(2+3)/2=2.5”,即两个相同的数值“7”的排位都为“2.5”。又如该数列中包含3个“2”,其所占的位次为“6”、“7”和“8”,则数值“2”的排位为“(6+7+8)/3=7”。要实现这样的排位,可以用下面的一些公式,假如上列数值在A2:A10区域中。

方法一:添加修正因素

按从大到小的顺序排位时,在B2单元格中输入公式,然后向下拖动填充柄填充公式:

=RANK(A2,$A$2:$A$10)+(COUNT($A$2:$A$10)+1-RANK($A2,$A$2:$A$10,0)-RANK($A2,$A$2:$A$10,1))/2

如果按照从小到大的顺序排位,则上述公式改为:

=RANK(A2,$A$2:$A$10,1)+(COUNT($A$2:$A$10)+1-RANK($A2,$A$2:$A$10,0)-RANK($A2,$A$2:$A$10,1))/2

其中公式的后面部分:

(COUNT($A$2:$A$10)+1-RANK($A2,$A$2:$A$10,0)-RANK($A2,$A$2:$A$10,1))/2

即为修正因素。无论是按从大到小的顺序排位还是按从小到大的顺序排位,都无需修改该修正因素。

方法二:数组公式

按从大到小的顺序排位时,在C2单元格中输入数组公式:

=SUM(–(A2<=$A$2:$A$10))-(SUM(–(A2=$A$2:$A$10))-1)/2

按从小到大的顺序排位时,则上述公式改为:

=SUM(–(A2>=$A$2:$A$10))-(SUM(–(A2=$A$2:$A$10))-1)/2

上述两个公式为数组公式,公式输入完毕后按Ctrl+Shift+Enter结束。

方法三:RANK.AVG函数

RANK.AVG函数是Excel 2010中新增的排位函数,用该函数可以对多个相同数值返回其平均排位。在Excel 2010中与早期版本中的RANK函数等价的是RANK.EQ函数,而RANK函数则被归入到兼容性函数类别,保留该函数是为了保持与Excel早期版本的兼容性。

RANK.AVG函数的语法与RANK函数类似,按从大到小的顺序(降序)排位时,在D2单元格中输入公式:

=RANK.AVG(A2,$A$2:$A$10,0)

其最后的参数“0”可省略。

按从小到大的顺序(升序)排位时,则上述公式改为:

=RANK.AVG(A2,$A$2:$A$10,1)