Excel中的数组函数问题求教高手!

{=MIN(IF((成绩单!$A$2:$A$950=按班级汇总!$A2)*(成绩单!$B$2:$B$950=按班级汇总!$B2),成绩单!$D$2:$D$950))}
这个计算过程是怎样的,先不管min函数,if函数中星号是乘的意思吗?
是先判断if条件的第一个,正确的话在成绩单!$D$2:$D$950取对应值,知道至a950判断完
在判断if条件第二个,同上
然后,在if两个条件判断的对应值想乘
然后求min吗?

从公式分解开给你说,
(成绩单!$A$2:$A$950=按班级汇总!$A2)
先看这一一对括号,是第一个条件,中间有个等于号,是比较运算,要么相等,即条件成立,返回1,要么不相等,即不成立,返回0。
(成绩单!$B$2:$B$950=按班级汇总!$B2)
再看这一对括号,是第二个条件,和前面一样,要么成立返回1,要么不成立返回0。
这两个条件相乘的结果,当两个条件都成立,即两个条件都是1的时候,结果为1,当两个条件中只要有任意一个不成立、或者两个都不成立,相乘后的为0。
在这里,条件相乘,相当于AND函数的作用。
举例,
=IF(AND(条件1,条件2),结果A,结果B)
=IF((条件1)*(条件2),结果A,结果B)
这两个举例公式是一样的,只是写法不同。
额外补充说明:
前面说的是条件相乘相当于AND,另外还有条件相加,相当于OR。
举例:
=IF(OR(条件1,条件2),结果A,结果B)
=IF((条件1)+(条件2),结果A,结果B)
这两条公式效果是一样的。
条件相加,只要任意一个条件成立,结果都不会是0。
在IF函数的条件这里,只要为0,就视为FALSE,只要为非0,就视为TRUE
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-21

先判断$A$2:$A$950是不是等于按班级汇总!$A2,再判断成绩单!$B$2:$B$950是不是等于按班级汇总!$B2,之后再相乘,得到一串{0;1;1;1;0;0;0;......}这样的值。再根据它来判断是否需要取成绩单!$D$2:$D$950中的值。

可以点击”公式“选项卡中的”公式求值“来观看分步计算过程。

第2个回答  2018-08-21
不是这样子的,*在上面公式中代表的不是乘积的意思,是“与”的意思,即满足“*”左右两边的条件代表“真”,返回值“成绩单!$D$2:$D$950”,如果*两边有任何一个条件不满足,返回值是“0”,而min函数是返回“成绩单!$D$2:$D$950”和“0”两者之间较小的那个值!希望对您有帮助!
第3个回答  2018-08-21
(成绩单!$A$2:$A$950=按班级汇总!$A2)*(成绩单!$B$2:$B$950=按班级汇总!$B2)是指两个括号内的条件同时成立,条件成立为1,两个条件都成立为1*1=1,整个公式的是求出两个条件都成立时对应D列的最小值
相似回答