excel 这个公式sum和if求和公式为什么出错?

=SUM(IF((E3:E10="张三")*(VALUE(SEARCH("机",D3:D10))=1),F3:F10))出错,其实还有个公式=SUM(IF((E3:E10="张三")*(isnumber(SEARCH("机",D3:D10))),F3:F10)),
第一个公式本意是求条件为张三,并且d3:d10 中包含"机" 且 "机" 为第一个, 即等同于 sumif( , "机*", ) ,也就是模糊条件求和,并且通配符在后面, sumif()只能单条件求和; 第二个公式是正确的,但是, 求和条件变成了 " * 机* " , 所以,怎么解决这个 多条件 包含求和并且 通配符是在一边?
哪位高手不吝赐教

第一个公式错误出在*(VALUE(SEARCH("机",D3:D10))=1),如果单元格不包含“机”,就会给出#value的值,用这个和前面相乘就会出错。第二个用isnumber做了兼容处理就不会出这个错误。
把那一段公式改成:
left(D3:D10)="机"

补充:
试了一下,如果一定要用SEARCH可以
ISNUMBER(SEARCH("机?",D3:D10))

或者
SEARCH("机",D3:D10&"机")*(D3:D10<>"")=1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-07
没有具体数据,很难回答。
数组公式,录完后应按Ctrl+Shift+Enter结束编辑,这时公式两头出现一对花括号。
或者把公式中的SUM换成SUMPRODUCT。
第2个回答  2010-12-07
E3:E10="张三" 个人看法这里表述不对 你想这是什么意思 E3:E10这是个区域不是说区域等于张三 至少看来这方面少一个公式有个公式是可以得到E3:E10="张三"你这个意思的不过我记不起公式名了,不好意思实在找不到答案的话在百度I找我吧,给你找找。
第3个回答  2010-12-07
建议使用07版的,然后用sumifs,
相似回答