显示最大的' n' Excel中数据集中的项目

时间:2015-07-24 02:53:30

标签: excel excel-formula

Sample Problem

我有一个包含销售代表,客户名称和销售额信息的数据表。并且有2个汇总表,如上图所示。

哪个公式可用于更新每个销售代表的前3个客户名称和金额?目标是在给定时间段内获得最大的三个销售额,并如上所示显示它们。理想的解决方案适用于Excel 2013,不需要VBA,数据透视表或附加插件,即基于公式。

谢谢!

2 个答案:

答案 0 :(得分:1)

您需要按两个公式 CTRL + SHIFT + ENTER

此外,首先输入金额表的公式,因为此表在customers表的公式中引用。

为单元格I3中的金额输入此公式,并向上和向下复制:

=IFERROR(LARGE(IF($A$3:$A$29=$H3,$C$3:$C$29),COLUMNS($A:A)),"")

然后在单元格E3中为客户提供此公式并进行上下复制:

=IFERROR(LOOKUP(SMALL(IF($D3=$A$3:$A$29,IF(I3=$C$3:$C$29,ROW($A$3:$A$29)-ROW($A$3)+1)),COUNTIF($I3:I3,I3)),ROW($A$3:$A$29)-ROW($A$3)+1,$B$3:$B$29),"")

要指出两点:

  1. 客户表的公式考虑了关系(这就是它需要引用Amount表的原因)。如果存在第三个并列,则将首先选择列表中显示的客户。

  2. 我使用IFERROR函数包装了两个公式,以考虑销售代表可能只有两个客户(请参阅下面的示例中的Janice)。如果是这种情况,他们的#3客户的单元格将返回“”。

  3. 使用此图片来帮助排列公式:

    enter image description here

答案 1 :(得分:0)

这些公式将返回Janice的前3个金额(假设名称位于A1:A7且金额位于B1:B7

=LARGE(IF(A1:A7="Janice",B1:B7,0),1)
=LARGE(IF(A1:A7="Janice",B1:B7,0),2)
=LARGE(IF(A1:A7="Janice",B1:B7,0),3)

您需要将它们作为数组公式输入,这意味着您输入它们并按Ctrl+Enter