ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 困挠了很久了,sumproduct,请大神们指教。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-4-19 23:43 | 显示全部楼层 |阅读模式
请各位大神多多指点。。。

求助.rar

10.3 KB, 下载次数: 30

TA的精华主题

TA的得分主题

发表于 2024-4-20 09:40 | 显示全部楼层
供参考。

87511100_sumproduct.rar

13.38 KB, 下载次数: 17

TA的精华主题

TA的得分主题

发表于 2024-4-20 11:26 | 显示全部楼层
问题1:
MATCH(B$2:B$25,{2012,2022,1052},)  返回的是位置:B$2:B$25区域中的每个值在{2012,2022,1052}范围中的位置,就是三个位置1 or 2 or 3;即返回值还是一个B$2:B$25大小的区域,此时区域中的值是位置1 or 2 or 3 or #N/A。
至于范围{2012,2022,1052}可以理解为一行三列,对应位置是第1、2、3列;{2012;2022;1052}可以理解为一列三行,对应位置是第1、2、3行。两个写法都是可以的,只要有或能返回位置即可,甚至用分号在写公式时更方便些。
问题2 :
(B$2:B$25={2012,2022,1052}) 返回一个24行*3列的值区域
(E$2:E$25={"纯商业","公积金组合"}) 返回一个24行*2列的值区域
区域大小不匹配,返回错误值;
即使匹配,算法也不对,不会返回想要的值。

TA的精华主题

TA的得分主题

发表于 2024-4-20 14:17 | 显示全部楼层
=SUMPRODUCT(COUNTIF(J4:J6,B2:B25)*COUNTIF(K4:K5,E2:E25)*COUNTIF(L4:L7,G2:G25)*C2:C25)

TA的精华主题

TA的得分主题

发表于 2024-4-20 22:09 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-20 22:26 | 显示全部楼层

非常非常感谢老师的详细指点,受教了。重要的是学到了分析的方法。再次感谢。

=SUMPRODUCT(ISNUMBER(MATCH(B$2:B$25,J4:J7,)*MATCH(E$2:E$25,K4:K7,)*MATCH(G$2:G$25,L4:L7,))*C$2:C$25)

以及第二个问题的详解。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-20 22:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
chenzicheng 发表于 2024-4-20 11:26
问题1:
MATCH(B$2:B$25,{2012,2022,1052},)  返回的是位置:B$2:B$25区域中的每个值在{2012,2022,1052}范 ...

感谢老师的指点。解答内容很详细,学到了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-20 22:30 | 显示全部楼层
浮生若梦~~~ 发表于 2024-4-20 14:17
=SUMPRODUCT(COUNTIF(J4:J6,B2:B25)*COUNTIF(K4:K5,E2:E25)*COUNTIF(L4:L7,G2:G25)*C2:C25)

感谢新思路。谢谢。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-21 18:43 | 显示全部楼层
浮生若梦~~~ 发表于 2024-4-20 14:17
=SUMPRODUCT(COUNTIF(J4:J6,B2:B25)*COUNTIF(K4:K5,E2:E25)*COUNTIF(L4:L7,G2:G25)*C2:C25)

=SUMPRODUCT(COUNTIF(J4:J6,B2:B25)*COUNTIF(K4:K5,E2:E25)*COUNTIF(L4:L7,G2:G25)*C2:C25)用计数结果替代逻辑值转换的1和0,这个思路真的太赞了。。。很佩服。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 20:47 , Processed in 0.038921 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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