我有一个我制作的电子表格,我将它设置为从1-9排名9个商店。例如:
24-#5
-1-#8
18-#6
40-#4
81-#1
65-#3
16-#7
73-#2
我想要的是一个仍然排名的公式,但我想要一个特定的范围排在超过25的人之前,但负面仍然是最差的。对于上面的数字,它看起来像这样:
24-#1
-1-#8
18-#2
40-#4
81-#7
65-#5
16-#3
73-#6
你知道我怎么做吗?
答案 0 :(得分:2)
假设A2:A9
中的数据,那么您可以通过在B2中复制使用此公式来避免帮助列
=IF(A2<0,RANK(A2,A$2:A$9),IF(A2<=25,COUNTIFS(A$2:A$9,"<=25",A$2:A$9,">"&A2)+1,COUNTIFS(A$2:A$9,">=0",A$2:A$9,"<"&A2)+1))
答案 1 :(得分:1)
我能想到的唯一方法就是在进行排名之前操纵值。
在隐藏列中,您可以添加以下公式
A B
24 =IF(A1<0,A1*-MAX($A$1:$A$8),ABS(A1-25))
-1
18
40
-5
65
16
73
这为您提供以下值
A B
24 1
-1 81
18 7
40 15
81 56
65 40
16 9
73 48
这将为您提供新值,这些值将按照所需的相同顺序在C列中排名(即您可以隐藏B列,从RANK
返回的值将与A列中的原始值对齐)< / p>
A B C
24 1 =RANK(B1,$B$1:$B$8,1)
-1 81
18 7
40 15
81 56
65 40
16 9
73 48
答案 2 :(得分:0)
试试这个:
在单元格G2
中输入并复制:
=IF(AND(D2>=$B$1,D2<=$B$2),MAX($D$2:$D$9)+D2,IF(D2<0,-MAX($D$2:$D$9)+D2,-D2))
在单元格H2
中输入并复制:
=RANK.AVG(G2,$G$2:$G$9)
我们的想法是根据您的数据的MIN
,MAX
和special range
更新您的号码,然后使用排名。如果需要单细胞解决方案,您可以将上述2个公式放在一起。