Excel公式查找数组中的最大值

时间:2015-03-19 16:03:14

标签: excel excel-formula

我使用以下公式查找数据集中的最大收入(作为数组输入):

 {=MAX((DATA!$B$2:$B$10000=1)*(DATA!$M$2:$M$10000=MAXINCOME!$D6)*(DATA!$A$2:$A$10000))}

B列是产品,M是代理,A是值的范围。但是,任何负值都会返回0.对于某些代理,它们的所有值都是负数,但我很难调整此公式,因此如果出现这种情况,则会返回最接近0的数字。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

通过将条件与值相乘,当条件不适用于任何行时,您会得到零,因此您始终得到的最小值为MAX - 尝试使用嵌套的IF s所以没有发生,即

=MAX(IF(DATA!$B$2:$B$10000=1,IF(DATA!$M$2:$M$10000=MAXINCOME!$D6,DATA!$A$2:$A$10000)))

使用 CTRL + SHIFT + ENTER确认

该版本可以给你一个负面结果

如果没有满足条件的行,

.... MAX也将返回零。如果MAX值可以包含负数(并且可能为零),那么这可能会令人困惑,所以在这里使用LARGE函数可能更好 - 如果没有匹配的行会产生错误(但是相同的结果否则),所以你可以然后"错误陷阱"错误并返回适当的文本值,例如

=IFERROR(LARGE(IF(DATA!$B$2:$B$10000=1,IF(DATA!$M$2:$M$10000=MAXINCOME!$D6,DATA!$A$2:$A$10000)),1),"No matches")