除重复之外的系列中N个最高数的总和


3

我已经完成了这个主题 总结系列的N最高值 而这并不是我需要的。例如

=SUM(LARGE(Range;1); LARGE(Range;2); …; LARGE(Range;N))

问题是数据集是否有5个数字,我对最高的4个数字感兴趣。为此,我通过线程查看了 求和列的前N个元素

=SUM(OFFSET(AK$1,1,0,AZ1,1))

如果所有五个条目都不同,则不会有任何问题。但是如果有任何2个条目具有相同的值,那么我希望将一个这样的条目用于求和。

换句话说,如果5个数字是 0,1,2,3,4和5,最高5的总和为15。

对于2,3,4,2,5,相同的代码将返回值16并且我希望值为14(通过省略重复第二次的2)

怎么做到这一点?


它总是最高的4分吗?或者它是n的最高n-1?或者它是n中最高的4?
Madball73

对于目前的问题,它最高为4的5。但是,最好将其概括为m的最高n,其中n小于m。
Anil

更新了我的答案,包括列,可能能够清理一点,但它的功能。
Raystafarian

Answers:


2

好吧,我想我明白了:

 =SUM(IFERROR((LARGE((IF(FREQUENCY(A1:A5,A1:A5),A1:A5)),ROW(INDIRECT("1:5")))),0))

INDIRECT("1:X") 指定 X 最大的数字。

它是CSE的数组公式 按Ctrl SHFT ENTR


如果您正在使用公式,则需要更改(转置)公式 而不是来自 -

 =SUM(IFERROR((LARGE((IF(FREQUENCY(TRANSPOSE(A1:E1),TRANSPOSE(A1:E1)),TRANSPOSE(A1:E1))),ROW(INDIRECT("1:5")))),0))

我获得最高5分(或更多值)。应间接使用1:4吗? (今天OP增加了额外的清晰度)?否则,似乎工作得很好!
Madball73

@ Madball73将其更改为1:x(对于前x)或更改总范围A1:Ax应该仍然能够正确执行, 我认为
Raystafarian

我错过了你的第二行告诉我们这个,对不起!很好。这个让我烦恼。使用底片和零,但不是空白,但我认为没关系。
Madball73

@Raystafarian我已经将我的XLS的公式编辑为SUM(IFERROR((大((IF(频率(F2:J2,F2:J2),F2:J2)),COLUMN(间接(“0:5”))) ),0))并返回值0.我的值范围从0到5,包括分数。
Anil

@Anil无需更改行或列或包含0,它正在使用数组
Raystafarian

1

如果您的值在“范围”中,那么这应该有效:

   =SUMPRODUCT(LARGE(range,{1,2,3,4,5})/COUNTIF(range,LARGE(range,{1,2,3,4,5})))

它不是只计算一次倍数,而是将每次出现计为Value / TotalOccurences,它具有相同的净效果。


1
我不清楚范围是否可以包含 更多 超过5个值? - 如果是这样,如果在截止点处存在重复,则可能不起作用,例如,如果你有一个包含这些值的范围 - 7,7,7,7,7,7,7 - 然后上面的公式返回5
barry houdini

@ Madball73如果我拿3,2.5,4,4和3,它返回值9.5。我期待14。
Anil

它为什么会返回14? 4和3重复并计数一次,因此top 5 = 4 + 3 + 2.5 = 9.5。无论如何,它确实存在Barry提到的问题,因此我建议使用Raystafarian的方法。
Madball73
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.