解说IF函数希望有网友能为我解说
这应该是一个数组公式。
公式分普通公式和数组公式两种,普通公式输入公式后直接按ENTER键,数组公式是输入公式后同时按CTRL+SHIFT+ENTER,因此又称为"三键公式",从公式编辑框中,数组公式的两边会显示一个花括号。
IF的语法并不复杂,即IF(条件,值1,值2),当"条件"为真时,表达式的值为"值1",否则为"值2"。你的理解难点估计不应是IF,而是对数组公式不熟悉,数组公式细说起来内容太多,你可以看一下帮助或者搜一下网上。 下面帮你解释一下这个具体公式:
我们一层层往里看:
令A=SUM(IF(生產日?蟊?$A$4:$A$31=$A5,IF(MONTH(生產日?蟊?$C$...全部
这应该是一个数组公式。
公式分普通公式和数组公式两种,普通公式输入公式后直接按ENTER键,数组公式是输入公式后同时按CTRL+SHIFT+ENTER,因此又称为"三键公式",从公式编辑框中,数组公式的两边会显示一个花括号。
IF的语法并不复杂,即IF(条件,值1,值2),当"条件"为真时,表达式的值为"值1",否则为"值2"。你的理解难点估计不应是IF,而是对数组公式不熟悉,数组公式细说起来内容太多,你可以看一下帮助或者搜一下网上。
下面帮你解释一下这个具体公式:
我们一层层往里看:
令A=SUM(IF(生產日?蟊?$A$4:$A$31=$A5,IF(MONTH(生產日?蟊?$C$4:$C$31)=C$3,生產日?蟊?$D$4:$D$31)))
公式变为=IF($A5="",0,A)
这个公式肯定不用解释,所以我们来看分解出来的A。
进一步,令B=IF(生產日?蟊?$A$4:$A$31=$A5,IF(MONTH(生產日?蟊?$C$4:$C$31)=C$3,生產日?蟊?$D$4:$D$31))
A变为=SUM(B)
SUM是对一组数进行求和的,下面我们来看B:
令C=生產日?蟊?$A$4:$A$31=$A5
D=IF(MONTH(生產日?蟊?$C$4:$C$31)=C$3,生產日?蟊?$D$4:$D$31)
这样,B就变成了=IF(C,D),这个形式是=IF(C,D,0)的简写,C是条件,当C为真时,值为D,否则为0。
现在先来看条件C,即"生產日?蟊?$A$4:$A$31=$A5",这就是数组公式,它的条件不是一个,而是一组,这里是28个,相当于:生產日?蟊?$A$4=$A5,生產日?蟊?$A$5=$A5,生產日?蟊?$A$6=$A5。
。。。生產日?蟊?$A$30=$A5,生產日?蟊?$A$31=$A5的集合,每一条件都对应一个返回结果,第一个条件为真,则对应D的第一个值,否则对应第二个条件返回0。类推,C的第二个条件如为真则对应D的第二个条件。
说一下,数组公式的条件数和其对应的结果数必须一致,否则会出错,这就是说C有28个条件,D也一定是28个数的集合,常数表示和每个条件都按相同的值去对应,这里IF(C,D,0)的0就是。
现在来看D表达式,令E=MONTH(生產日?蟊?$C$4:$C$31)=C$3,F=生產日?蟊?$D$4:$D$31,则D=IF(E,F),它是=IF(E,F,0),的简写
条件相当于MONTH(生產日?蟊?$C$4)=C$3,MONTH(生產日?蟊?$C$5)=C$3,。
。。。MONTH(生產日?蟊?$C$31)=C$3,的集合。
到这儿,关键的地方都说完了,综合起来递推上去,最后B会产生28个数,SUM对这28个数求和即得到表达式A的值。
对从未接触过数组公式的人,初次理解会有些困难,一旦理解了就简单了。
祝你进步!
。收起