我想对 Excel 中的一列数据进行排序。我需要根据此排序对其他一些列进行排序,因此我想根据列中每个成员的值对其进行排序,这样我就可以使用该排序对其他所有列进行排序。
最初我使用了 RANK(),但这不能解决重复值的问题,它们看起来会一样,而我需要唯一的值才能达到我的目的。经过一番搜索,我找到了这个公式,可以将其添加到之前使用过的每个排名中:
=RANK(A1,$A$1:$A$100,1)+COUNTIF($A$1:A1,A1)-1
网上有几个网站声称可以给我我想要的排名,但最终我得到的排名有些未使用,还有些重复值。以下是此问题的一个示例,A 列是原始数据,B 列在 B1 中有上述公式,并被拖到 B100。
1 1
2 2
3 4
4 6
5 10
6 11
7 14
8 15
9 18
10 21
10.95210824 23
11.90421647 24
12.85632471 28
13.80843294 29
14.76054118 31
15.71264941 34
16.66475765 37
17.61686588 38
18.56897412 41
19.52108235 42
20.338495 46
21.15590765 48
2 3
4 7
6 12
8 16
10 22
12 25
14 30
16 35
18 39
20 44
21.90421647 49
23.80843294 50
25.71264941 54
27.61686588 56
29.52108235 58
31.42529882 61
33.3295153 64
35.23373177 66
37.13794824 69
39.04216471 71
40.67699 74
42.3118153 76
3 5
6 13
9 19
12 26
15 33
18 40
21 47
24 51
27 55
30 60
32.85632471 63
35.71264941 67
38.56897412 70
41.42529882 75
44.28162353 78
47.13794824 80
49.99427294 82
52.85059765 85
55.70692236 88
58.56324706 89
61.015485 92
63.46772295 94
4 8
8 17
12 27
16 36
20 45
24 52
28 57
32 62
36 68
40 73
43.80843294 77
47.61686588 81
51.42529882 84
55.23373177 87
59.04216471 90
62.85059765 93
66.65903059 95
70.46746353 96
74.27589647 97
78.08432942 98
81.35398001 99
84.62363059 100
5 10
10 22
15 33
20 45
25 53
30 60
35 65
40 73
45 79
50 83
54.76054118 86
59.52108235 91
未出现的排名:9、20、32、43、59、72
出现两次的排名:10,22,33,45,60,73
有谁知道为什么会发生这种情况或有更好的排名方程式吗?
答案1
答案2
尝试在 B 列中使用它,粘贴到B1
,输入公式并向下拖动。
=IF(A1=0,"",RANK(A1,IF(A:A>0,A:A,1),0)+COUNTIF($A$1:$A1,$A1)-2)
不太确定它是如何工作的,但它对我的数据集有用。