我有一些排序数据,在excel电子表格中看起来像这样。
1.3
1.3
1.3
1.4
1.6
1.6
1.7
1.8
1.9
2
2
2.3
2.3
2.3
2.4
2.7
3.1
3.3
3.3
3.4
3.4
4
4.2
4.5
4.7
4.9
5.8
6.1
6.7
我想为Mann-Whitney U型测试制作一个计算器,为此我需要对这些样本进行排名,使用Excel中的=rank()函数非常简单,但我需要为测试确定排名中的关系。Mann-Whitney方法包括取等级的平均值。例如,我的前3个值是1.3,所以我需要excel为所有3个值分配(1+2+3)/3(=2)的秩。目前,=RANK()函数只将所有3列为1。
我在这里看到了一些使用IF命令解决的类似问题,但在将它们应用于我的数据时遇到了问题。
任何帮助都将不胜感激。
谢谢,
Sam
您使用的是哪个版本的Excel?如果您有Excel 2010
或更高版本,则有一个特定的函数RANK.AVG
,例如,如果您的数据在A2:A30
中,则使用B2中的此公式向下复制以按要求排列
=RANK.AVG(A2,A$2:A$30,1)
在早期版本的Excel中,您可以使用此公式来获得相同的结果
=RANK(A2,A$2:A$30,1)+(COUNTIF(A$2:A$30,A2)-1)/2
您可以通过作弊获得不同等级的重复。您将需要一个辅助列
我假设号码列表从A1…开始
在B1中,输入公式=A1+ROW()/10000
-这将在数字上加上一小部分-不足以将其放入下一个值,但足以区分值
在C1中,输入公式=RANK(B1,$B$1:$B$29,1)
以获得新的排名,不重复。
然后复制B1&C1向下完成表格。如果不希望中间单元格显示