楼主 悟空师弟 |
Q:为什么SUMPRODUCT函数也要用三键结束? =SUMPRODUCT((MATCH(IF(F6F16=,,$B6$B16),IF(F6F16=,,$B6$B16),0)=ROW(111))(F6F16)) 上面这个公式一定要三键结束,否则会出错,这是为什么呢?SUMPRODUCT函数也要用三键结束?在什么情况下SUMPRODUCT函数要三键结束呢? A:SUMPRODUCT和IF用的时候判断了等于空或者错误。不管你用SUM与sumproduct都要三键结束了。不能只敲回车了。 对于有些公式,当IF函数是用来屏蔽空值以及错误值时,如果你试图简化IF段,用Sumproduct()来代替Sum()可能是徒劳的,因为Sumproduct()只能忽略非数值普通数据,但是不能忽略错误值的,因此你同样还得使用IF函数,最终必须使用数组公式三键结束编辑 比如下面这样一个公式 =SUMPRODUCT(IF($B$4$F$6=A17,$C$4$G$6)*$B$10$B$12) 这样的公式必须用数组公式方式输入是因为IF的条件引用了多个单元格,如果不用数组公式方式输入excel就自动以“隐含的交叉引用”来代替多个单元格引用$B$4$F$6,而事实上公式所在格的行是不与这个区域相交的(因为区域是多行列的,在同一工作表中根本不可能交叉),那样IF的条件就是错误,IF返回的结果也是错误,最后公式的结果也是错误!如果以数组公式的方式输入,excel必定不用隐含交叉的,那样就是一个正常的数组运算。 详见附件: 如何让这个SUMPRODUCT函数不用三键结束也能返回正确值?.rar 效果如图: |
2楼 lrlxxqxa |
最后举例的这个公式=SUMPRODUCT(IF($B$4$F$6=A17,$C$4$G$6)*$B$10$B$12)所在单元格是什么?怎么就肯定和$B$4$F$6区域不相交呢? |
3楼 gouweicao78 |
讲的不错。建议把重点的地方加黑,呵呵。 另,标题也需要打造打造,无需“这个” |
4楼 悟空师弟 |
感谢草版指点,标题已改,重点内容已经加粗并添上红色! |
5楼 gouweicao78 |
呵呵,加粗“重点”错了。 此帖的重点在于: SUMPRODUCT函数是可以用普通公式实现支持数组运算的,但IF函数必须用数组公式才能实现数组运算。 这个话是不严谨的,比如: =IF(SUMPRODUCT(A1:A10*B1:B10)>=0,"盈余","亏损") 也是“SUMPRODUCT和IF用”,呵呵。 |
6楼 lrlxxqxa |
SUMPRODUCT函数是可以用普通公式实现支持数组运算的,但IF函数必须用数组公式才能实现数组运算。 草版这句点睛了。 |