我使用以下公式查找数据集中的最大收入(作为数组输入):
{=MAX((DATA!$B$2:$B$10000=1)*(DATA!$M$2:$M$10000=MAXINCOME!$D6)*(DATA!$A$2:$A$10000))}
B列是产品,M是代理,A是值的范围。但是,任何负值都会返回0.对于某些代理,它们的所有值都是负数,但我很难调整此公式,因此如果出现这种情况,则会返回最接近0的数字。有人可以帮忙吗?
答案 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")