3

我制作了一个电子表格,并将其设置为从 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

你知道我该怎么做吗?

4

3 回答 3

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))

于 2013-11-01T22:03:07.873 回答
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 列中的原始值对齐)

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
于 2013-11-01T21:01:09.023 回答
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)

这个想法是根据您的数据更新您的数字MINMAX然后special range使用排名。如果需要单细胞解决方案,您可以将以上 2 个公式放在一起。

于 2013-11-01T21:18:57.523 回答