使用条件在Excel中查找前n个求和值

时间:2017-11-23 15:31:43

标签: excel excel-formula

我有下表:

Sheet'raw':

Account  | Value
A          2
A          3
B          5
C          2
A          1
B          4
D          8
F          18
D          4

我想使用Excel公式以值的总和捕获前n个帐户:

Sheet 2中:

Top   | Account  | Sum
1       F          18
2       D          12
3       B          9
4       A          6
4       C          2 

我尝试了这种方法(考虑Excel中的A到C列): - 价值:

{=LARGE(ROUND(raw!B$2:B$65000,2)+ROW(raw!B$2:B$65000)/10000),A2)}
  • 帐户名称:

    {=INDEX(raw!$A$2:$A$65000,MATCH(A2,(ROUND(raw!B$2:B$65000,2)+ROW(raw!B$2:B$65000)/10000),0))}

我使用数组公式,但它会为我提供最高的个人值,而不是每个帐户的总和

有人可以帮我解决这个话题吗? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

使用以下数据集似乎有效:

在单元格C2中, CTRL + SHIFT + ENTER 而不仅仅是 ENTER 以下公式:

=LARGE((ROW(Sheet1!$A$2:$A$10)=MATCH(Sheet1!$A$2:$A$10,Sheet1!$A$1:$A$10,0))*SUMIF(Sheet1!$A$2:$A$10,Sheet1!$A$2:$A$10,Sheet1!$B$2:$B$10),ROWS($C$2:$C2))

在单元格B2中, CTRL + SHIFT + ENTER ,而不仅仅是 ENTER 以下公式:

=INDEX(Sheet1!$A$2:$A$10,MATCH(Sheet2!C2,(ROW(Sheet1!$A$2:$A$10)=MATCH(Sheet1!$A$2:$A$10,Sheet1!$A$1:$A$10,0))*SUMIF(Sheet1!$A$2:$A$10,Sheet1!$A$2:$A$10,Sheet1!$B$2:$B$10),0))

编辑:公式Sheet2中有拼写错误!D2应为Sheet2!C2。以上公式已更正。

注意:如果总计相关,公式可能会给出错误的结果。