排名,将负数视为零

时间:2017-11-10 12:18:55

标签: excel excel-formula ranking rank

排名时将Excel中的数字视为零是否有一种方法?

我有以下内容,但如果我有多个零或负数,我最终会得到重复的排名,这是我无法做到的。我最终得到了:

1 2 3 4 5 6 7 8 8 8 9 10 11 12 13 14 15 16 ... 55

但我需要

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 55

=IF($S79<0,RANK(0,$S$68:$S$121,0)+COUNTIF($S$68:$S79,0)-1,RANK($S79,$S$68:$S$121,0)+COUNTIF($S$68:$S79,$S79)-1)

编辑以澄清:

目前我有55行。第1-20行通常具有正数,其余为零。当我有一个负数,而不是它被放置在点21(在所有正数下面),它被放置在点55(因为它小于零)。

所以而不是

1 - 43%
2 - 35%
3 - 22%
4 - 0%
5 - 0%
6 - -20%

我在追求

1 - 43%
2 - 35%
3 - 22%
4 - 0%
5 - 0%
6 - 0% (treating the negative as zero, but visually still displaying the negative number)

它是一个加权百分比排行榜。我找到了一个解决方法,只需添加一个百分比检查,就像“如果%&lt; 0然后0其他%。不完全是我所追求的,但它会做。它阻止负面的人被放置在列表的底部即现货55。

我得到了:

1. Person 1 - 100%
2. Person 2 - 90%
3. Person 3 - 90%
4. Person 4 - 0%
5. Empty Slot - 0%
6. Empty Slot - 0%
7. Empty Slot - 0%
8. Person 5 - -50%

我想:

1. Person 1 - 100%
2. Person 2 - 90%
3. Person 3 - 90%
4. Person 4 - 0%
5. Person 5 - -50%
6. Empty Slot - 0%
7. Empty Slot - 0%
8. Empty Slot - 0%

结算(通过添加检查生成%的位置):

1. Person 1 - 100%
2. Person 2 - 90%
3. Person 3 - 90%
4. Person 4 - 0%
5. Person 5 - 0%
6. Empty Slot - 0%
7. Empty Slot - 0%
8. Empty Slot - 0%

1 个答案:

答案 0 :(得分:0)

我认为您可能只需要LARGE功能。您可以使用以下公式:

= MAX(LARGE($A$2:$A$10,ROW()-ROW($A$2)+1),0)

(但只需将这些范围更改为您的范围)

请参阅下面的示例。列A包含数据,列B对顶部最大的数据进行排序,并将任何负数视为0

enter image description here