2014-09-26 72 views
2

我使用以下公式来实现真正独特的值排序:How to Rank Duplicate Values Sequentially真正独特的排名(虽然忽略空单元格)

(正如您可能会或可能不知道其他选项(参见##)可以产生错误的结果!)

然而,有一个问题:我想忽略空白单元格!目前,空单元被计数为零。

如何更改1中的公式以忽略空单元格并根本不返回任何值?这甚至可以用数组公式吗?

我避免VBA,因为我需要保持这种动态。

预先感谢您的任何提示!

帕斯卡

(##):= RANK(A2,$ A $ 2:$ A $ 10)+ COUNTIF($ A $ 2:A2,A2)-1

+0

有你的链接多个公式 - 这是一个你正在使用?我不知道RANK/COUNTIF公式会在什么情况下产生“错误的结果”? – 2014-09-26 18:58:08

+0

嗨巴里。我发现导致错误的怪胎。现在我不明白这个怪事。 :( http://i.imgur.com/FqhoquN.png 相同的(!)值有时会返回不同的等级!!(我重新计算表格) – pascal 2014-11-07 17:47:49

回答

2

最终结果:

enter image description here

方法(A1是左上):

Data2: =IF(ISBLANK($A2),"",VALUE($A2&"."&(ROW()-ROW($B$1)))) 

Sorted: =SMALL($B$2:$B$8,ROW()-ROW($C$1)) 

Rank: =IFERROR(MATCH($B2,$C$2:$C$8,0),"") 
+0

巧妙 - 没有数组公式+1。 – pnuts 2014-09-26 18:17:46

0

我认为这个公式应该工作正常,打造 “独特的行列”并返回毛坯毛坯

=IF(A2="","",RANK(A2,$A$2:$A$10)+COUNTIF($A$2:A2,A2)-1)

我期望计算正确假设A2:A10包含数字(不是文本格式),并在数不超过15个显著数字....但如果你想避免COUNTIF那么这个公式与SUMPRODUCT也应该这样做:

=IF(A2="","",SUMPRODUCT((A$2:A$10>A2)*(A$2:A$10<>""))+SUMPRODUCT((A$2:A2=A2)*1))

+0

我认为上面的第一个公式非常整齐,应该可以很好地处理非整数,我发现我不得不稍微修改它以将更高的等级分配给更大的数字: - = IF(A2 =“” ,“”,RANK(A2,$ A $ 2:$ A $ 10,1)+ COUNTIF($ A $ 2:A2,A2)-1) – 2014-09-27 10:20:42

+0

第二个公式的工作原理除了必须更改第一个“>” ((A $ 2:A = 2)*(A $ 2:A $ 10 <>“”))+ SUMPRODUCT((A $ 2:A2 = A2)* 1)) – 2014-09-27 14:45:43