Excel列表顶部发生的数字

我search,但还没有find一个例子,发现列表中排名前三的数字。 大多数代码是用于文本,最高得分或前三个最大值。

我有一个订单清单,在这一年中发生的零件号码和价格。

-A ——— ———乙Ç——- ——- dÈ
60470 $ 58
60470 $ 58
89038 $ 60
31859 $ 37
60470 $ 58
29079 $ 78
35568 $ 40
82677 $ 92
69172 37美元
31859 $ 37
89038 $ 60
31859 $ 37
31859 $ 37
60470 $ 58
31859 $ 37
60470 $ 58
31859 $ 37

列A有部件号,列B有价格。 在DI列中,列出了来自A列的前3个最常出现的部件号,然后列E列出了来自所有事件的总和。

在上面的例子中,D列和E列分别显示如下:

31859 $ 222.00
60470 $ 290.00
89038 $ 120.00

我真的不能sorting或添加“助手”列,所以我正在尝试使用数组公式来完成此操作。

任何援助将不胜感激。 谢谢。

D1arrays公式**

=INDEX(A$1:A$17,MATCH(LARGE(IF(FREQUENCY(A$1:A$17,A$1:A$17),FREQUENCY(A$1:A$17,A$1:A$17)+ROW(A$1:A$17)/10^6),ROWS($1:1)),FREQUENCY(A$1:A$17,A$1:A$17)+ROW(A$1:A$17)/10^6,0))

E1

=SUMIF(A$1:A$17,D1,B$1:B$17)

问候

要获得零件号码,请使用

 =INDEX($A$1:$A$17,MATCH(LARGE(COUNTIF($A$1:$A$17,$A$1:$A$17),ROWS($1:1)),COUNTIF($A$1:$A$17,$A$1:$A$17),0)) 

这是一个数组公式,因此在公式栏中input时必须使用CTRL + SHIFT + ENTER,而不仅仅是按ENTER

一旦你得到了零件编号,一个简单的SUMIF就可以得到总数