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))
现在使用maxSUMIFS()
结果,我们引用SUMIFS()
结果列表,获取产品的行(偏移到INDEX()
的开头),并检索最小的行号
您可以将第一个公式中的MAX()
调整为LARGE(,n)
,其中n是第n个最大的结果。解决方案为我提供了J2-J4中的苹果,无论是国家还是数值。查看我的编辑。听起来好像它没有作为数组应用,你确定它是Ctrl+Shift+Enter'ed吗?在公式栏中,如果so@KGB91而cellK2
也是一个数组公式?一旦它们被设置好,你应该能够将它们向下拖动。。。单元格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))