Excel 中多条件求最大值和最小值

在Excel中,输入“MAX((A!B$5:A!B$4044=A6)*(A!L$5:A!L$4044))”,能按照要求的条件正确求出最大值,把上面公式中的MAX换成MIN,却又求不出最小值(求出的值显示为0,按ctrl+shift+enter 也不行。),把公式改为“MIN(IF((A!B$5:A!B$4044=A6),(A!L$5:A!L$4044)))”,又能正确求出最小值,不知为什么?

因为A!B$5:A!B$4044=A6返回的是逻辑值(TRUE FALSE)
当它对应与(A!L$5:A!L$4044)相乘的时候,就变成1,0去相乘
你用max,自然是求出最大值
如果你用MIN,那自然是求得最小的值0(A!L$5:A!L$4044应该没有负数)

换成IF((A!B$5:A!B$4044=A6),(A!L$5:A!L$4044)),得到的是数字与逻辑值的数组
此时min就只求数字,忽略逻辑值FALSE。就能求出最小的答案

EXCEL在公式那里有个“公式求值”的功能,当你需要写数组公式,这个功能很有用,可以显示出所有的计算步骤,
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-15
Min((A!B$5:A!B$4044=A6)*(A!L$5:A!L$4044))

公式中的*号会对逻辑值进行乘法计算。不符合条件的逻辑值FALSE经过计算会变成0,而min函数可以忽略逻辑值,但不能忽略0,最小值就是0,所以结果不对,

MIN(IF(A!B$5:A!B$4044=A6,A!L$5:A!L$4044))
用if判断,不符合条件的是FALSE,min函数可以忽略逻辑值,所以可以求出最小值
相似回答