Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 7166|回复: 14

[已解决]求助:为什么SUMPRODUCT函数也要用三键结束?

[复制链接]
发表于 2010-1-31 15:42 | 显示全部楼层 |阅读模式

=SUMPRODUCT((MATCH(IF(F6:F16="",,$B6:$B16),IF(F6:F16="",,$B6:$B16),0)=ROW(1:11))*(F6:F16<>""))

上面这个公式一定要三键结束,否则会出错,这是为什么呢?SUMPRODUCT函数也要用三键结束?在什么情况下SUMPRODUCT函数要三键结束呢?

期待老师们解答,谢谢!

详见附件!

orpwgb1W.rar (11.51 KB, 下载次数: 11)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2010-1-31 15:48 | 显示全部楼层

十分关注这个问题,设了个“回帖通知”为“邮件通知”,期待答案!!!
回复

使用道具 举报

发表于 2010-1-31 15:54 | 显示全部楼层
回复

使用道具 举报

发表于 2010-1-31 15:58 | 显示全部楼层

我用公式求值看到,如果不用三键结束,在第一步IF(F6:F16="",,$B6:$B16)就出错了
回复

使用道具 举报

发表于 2010-1-31 16:00 | 显示全部楼层    本楼为最佳答案   

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必定不用隐含交叉的,那样就是一个正常的数组运算

[此贴子已经被作者于2010-1-31 16:00:35编辑过]
回复

使用道具 举报

发表于 2010-1-31 16:06 | 显示全部楼层

并不是所有用SUM()+数组公式(如公式内部加入IF来判断的)都可以用SUMPRODUCT()函数来代替的。
回复

使用道具 举报

发表于 2010-1-31 16:19 | 显示全部楼层

=SUMPRODUCT((MATCH(IF(F6:F16="",,$B6:$B16),IF(F6:F16="",,$B6:$B16),0)=ROW(1:11))*(F6:F16<>""))

SUMPRODUCT  这个函数不用三键回车

但其中  MATCH  if 函数  是用三键回车的

在一个公式中  如果有一个求数组的函数 需要三键回车

这个公式整体  就要三键回车

回复

使用道具 举报

 楼主| 发表于 2010-1-31 16:30 | 显示全部楼层

QUOTE:
以下是引用笨得很呀2007在2010-1-31 16:00:00的发言:

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必定不用隐含交叉的,那样就是一个正常的数组运算


多谢指教!但还是似懂非懂,以后从实践中慢慢体会吧,谢谢了!!

回复

使用道具 举报

发表于 2010-1-31 17:45 | 显示全部楼层

在这里得到一个宝箱,谢谢楼主

恭喜!您打开了这个宝箱!您的经验值+2,并获得了宝箱中的金币 2 个

回复

使用道具 举报

发表于 2010-1-31 19:57 | 显示全部楼层

学习中
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-7 17:51 , Processed in 0.300888 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表