Excel-根据条件查找第n个最大值

Excel-根据条件查找第n个最大值,excel,Excel,这是对该问题的一种扩展: 我有一张这样的桌子: Country Region Code Name of product Year Value Sweden Stockholm 52 Apple 1995 1000 Sweden Malmö 25 Pancake 1991 1500 Sweden Malmö 52 Apple 1992 2470 Finland Helsinki

这是对该问题的一种扩展:

我有一张这样的桌子:

Country Region    Code  Name of product Year   Value
Sweden  Stockholm 52    Apple           1995   1000
Sweden  Malmö     25    Pancake         1991   1500
Sweden  Malmö     52    Apple           1992   2470
Finland Helsinki  21    Candy           1987   2500
Denmark Copenhagen 52   Apple           1987   2571
我想做的是制作一个代码,它可以给我在特定国家销售的产品的第n个最大价值的总和

也就是说,如果我想获得在
瑞典
销售的
产品的最高
,它应该返回
Apple
和已销售苹果的总和,
3470

编辑:故障的解决方案\u医生:


首先,对于值:

两个公式都是数组公式,请在公式栏中按住Ctrl+Shift+Enter键确认公式

=MAX(SUMIFS($F$2:$F$6,$A$2:$A$6,$I2,$D$2:$D$6,$D$2:$D$6))

这将在单元格
$I2
中为国家/地区构建一个
SUMIFS()
结果数组,然后每个产品名称获取
MAX()
结果

以及产品名称:

=指数($D$2:$D$6,小型(如果(SUMIFS($F$2:$F$6,$A$2:$A$6,$I2,$D$2:$D$6)=$K2,世界其他地区($D$2:$D$6)-1))

现在使用max
SUMIFS()
结果,我们引用
SUMIFS()
结果列表,获取产品的行(偏移到
INDEX()
的开头),并检索最小的行号


您可以将第一个公式中的
MAX()
调整为
LARGE(,n)
,其中n是第n个最大的结果。

解决方案为我提供了J2-J4中的苹果,无论是国家还是数值。查看我的编辑。听起来好像它没有作为数组应用,你确定它是Ctrl+Shift+Enter'ed吗?在公式栏中,如果so@KGB91而cell
K2
也是一个数组公式?一旦它们被设置好,你应该能够将它们向下拖动。。。单元格
J2
依靠来自
K2
的信息正常工作。。。如果我们能让K2先工作,那将是起点K2现在是一个数组,但它给我的值是0<代码>=MAX(SUMIFS($F$2:$F$6;$A$2:$A$6;$I2;$D$2:$D$6;$D$6))
@KGB91好吧,我认为
SUMIFS()
对所有结果返回0,导致每行0匹配,对单元格
J2
返回苹果,这可能是因为
A:A
列中的文本与“瑞典”不完全匹配。可能有一些尾随空格字符。编辑:无法将
CLEAN(TRIM())
放在公式中,它会破坏它。。。所以我们将使用通配符:
=MAX(SUMIFS($F$2:$F$6;$a$2:$a$6;$I2&“*”;$D$2:$D$6;$D$2:$D$6))