ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何让SUMPRODUCT函数不用三键结束也能返回正确值?

如何让SUMPRODUCT函数不用三键结束也能返回正确值?

作者:绿色风 分类: 时间:2022-08-17 浏览:104
楼主
悟空师弟
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函数必须用数组公式才能实现数组运算。
草版这句点睛了。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap