求教excel函数if的嵌套是否正确

=SUM(IF(AND(出库明细表!$D$3:$D$1000=B3,(出库明细表!$A$3:$A$1000="11"),出库明细表!$F$3:$F$1000,0))
我这样写之后,在对应的单元格输不出值,全部为0

  这样设计的公式是数组公式,即同时按住Ctrl+Shift+Enter三键结束公式编辑,会自动生成一对{}。但是数组公式中不能用AND、OR这种逻辑函数,因为这种函数只返回一个值,不会返回数组值,必须要这样用时用“*”、“+”来做:=SUM(IF((出库明细表!$D$3:$D$1000=B3)*(出库明细表!$A$3:$A$1000="11"),出库明细表!$F$3:$F$1000,0)),前提是A列是文本格式,否则数字不能加引号。另外,原公式括号不匹配,AND函数中多了一个左括号。
  其实这种条件求和,可以用:
  =SUMPRODUCT((出库明细表!$D$3:$D$1000=B3)*(出库明细表!$A$3:$A$1000="11")*出库明细表!$F$3:$F$1000),SUMPRODUCT函数是乘积和函数,本身就是数组函数,只要按普通公式输入,不需要三键齐按。
  现在的版本,也可用SUMIFS多条件求和函数:
  =SUMIFS(出库明细表!$F$3:$F$1000,出库明细表!$D$3:$D$1000,B3,出库明细表!$A$3:$A$1000,"11")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-14
编辑完公式。要按Ctrl+Shift+回车结束
第2个回答  2016-11-14
2007以上版本直接用sumifs()搞定
相似回答