ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6148|回复: 36

[求助] 关于sumproduct函数内套IF函数是否使用三键输入的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-8-25 19:05 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请各位大神下载附件看看,为什么再求6月工资1时,if函数引用了1列,不需要加三键输出,而在工资1和2总和(或者所有工资总和)时if函数引用两列却需要三键输入,有人说是因为 ‘隐形交叉引用“,但是如果有这种影响,那么if函数不管应用几列数据都应该是三键输入,可偏偏是只有引用1列的时候不需要三键输入,并且如果真是受函数隐形交叉影响,那么month函数也会受到这样的影响,但是'=SUMPRODUCT((MONTH(A2:A10)=6)*(B2:B10="张三"))却不需要三键输入,搞不懂?
(也就是说if函数输出是一列的时候不用三键,大于1列的时候需要三键)

456.zip

7.67 KB, 下载次数: 25

TA的精华主题

TA的得分主题

发表于 2016-8-25 19:40 | 显示全部楼层
IF(ISNUMBER(C2:E10),C2:E10)返回的是一组数组,所以必须是三键回车。

TA的精华主题

TA的得分主题

发表于 2016-8-25 19:45 | 显示全部楼层
本帖最后由 新农夫 于 2016-8-25 21:24 编辑

不错:直接这样就可以不需三键
=SUMPRODUCT((MONTH(A2:A10)=6)*(B2:B10="张三")*{100,300,200;600,150,300;500,68,500;200,98,200;600,38,35;59,100,FALSE;80,160,160;60,120,50;90,213,FALSE})



{100,300,200;600,150,300;500,68,500;200,98,200;600,38,35;59,100,FALSE;80,160,160;60,120,50;90,213,FALSE})=IF(ISNUMBER(C2:E10),C2:E10)



不懂。

TA的精华主题

TA的得分主题

发表于 2016-8-25 20:38 | 显示全部楼层
楼主搞错了,sumproduct函数内套IF函数,都需要使用三键输入

TA的精华主题

TA的得分主题

发表于 2016-8-25 21:00 | 显示全部楼层
2、求张三6月工资1    试了一下,还是要三键

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-25 21:03 | 显示全部楼层
baksy 发表于 2016-8-25 19:40
IF(ISNUMBER(C2:E10),C2:E10)返回的是一组数组,所以必须是三键回车。

但是()MONTH(A2:A10)=6)*(B2:B10="张三)"也是数组,单独用sumproduct内套这个函数  结果不需要三键

TA的精华主题

TA的得分主题

发表于 2016-8-25 21:10 | 显示全部楼层
malatangol 发表于 2016-8-25 21:03
但是()MONTH(A2:A10)=6)*(B2:B10="张三)"也是数组,单独用sumproduct内套这个函数  结果不需要三键

只要里面有一组数组,就必须三键回车。

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-25 21:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
dgerwin 发表于 2016-8-25 21:00
2、求张三6月工资1    试了一下,还是要三键

你再试下  不需要的

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-25 21:17 | 显示全部楼层
ZhouFfett 发表于 2016-8-25 20:38
楼主搞错了,sumproduct函数内套IF函数,都需要使用三键输入

求张三6月工资1,是sumproduct内套if函数 却不需要三键

TA的精华主题

TA的得分主题

发表于 2016-8-25 21:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个问题可以从函数参数所需数值类型的理解。

公式 =SUMPRODUCT(A2:A3*B2:B3) 不用按三键,这是因为Excel能按公式所需自动转换数值类型。SUMPRODUCT函数的参数要求是数组,Excel能自动对里面的乘法式子进行数组运算,并返回数组。

公式 =SUMPRODUCT(IF(ISERR(-A1:A3),,--A1:A3)) 需要按三键,这是因为SUMPRODUCT函数所需数组需要经IF函数计算后才可以确定,而IF函数的第一个参数在普通公式中不是数组类型,不能自动进行数组运算,所以公式需要按三键。

理解数值类型,对理解一个公式很有用处!!!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-29 13:41 , Processed in 0.052113 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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