ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] SUMPRODUCT函数里如何嵌套内存数组

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-6-10 08:35 | 显示全部楼层 |阅读模式
本帖最后由 干勇平 于 2024-6-11 08:34 编辑

各位,如附件表中,如何在不用辅助列的情况下,给出黄色区域的公式。

目前是自己使用了辅助列,逐个录入SUMPRODUCT函数,觉得比较差。
求助,用别的函数达到结果也是可以的。小红花酬谢。

函数如何嵌套内存数组.zip

9.81 KB, 下载次数: 32

内存数组

TA的精华主题

TA的得分主题

发表于 2024-6-10 10:06 | 显示全部楼层
  1. =SUM(L10:L13*(MMULT(--$K10:L13,ROW(INDIRECT("1:"&COLUMNS($K:L)))^0)/$D$10:$D$13>0)*(MMULT(--$K10:L13,ROW(INDIRECT("1:"&COLUMNS($K:L)))^0)/$D$10:$D$13<=$F$10:$F$13))
复制代码
  1. =SUM(L10:L13*(MMULT(--$K10:L13,ROW(INDIRECT("1:"&COLUMNS($K:L)))^0)/$D$10:$D$13>$F$10:$F$13)*(MMULT(--$K10:L13,ROW(INDIRECT("1:"&COLUMNS($K:L)))^0)/$D$10:$D$13<=$F$10:$F$13+$G$10:$G$13))
复制代码
  1. =SUM(L10:L13*(MMULT(--$K10:L13,ROW(INDIRECT("1:"&COLUMNS($K:L)))^0)/$D$10:$D$13>$F$10:$F$13+$G$10:$G$13)*(MMULT(--$K10:L13,ROW(INDIRECT("1:"&COLUMNS($K:L)))^0)/$D$10:$D$13<=1))
复制代码


三键结束,右拉

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-10 11:06 | 显示全部楼层

谢谢高手先,我试试,这么复杂的公式,应该全对,哈哈

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-10 12:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

大侠,再追问一下。因为合同数量一直在增在,当增加行时,因为还没填合同额,EXCEL就当作0了,公式里除数不能为0,就报错了。怎么样改下公式,将为0的跳过或屏蔽之。感谢

TA的精华主题

TA的得分主题

发表于 2024-6-10 15:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 高个子 于 2024-6-10 16:00 编辑
干勇平 发表于 2024-6-10 12:14
大侠,再追问一下。因为合同数量一直在增在,当增加行时,因为还没填合同额,EXCEL就当作0了,公式里除数 ...

举个例子。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-10 17:26 | 显示全部楼层

比如在第12行插入一行,结果那黄色区域都变成#VALUE了。
在你帮忙写的公式MMULT前面套了一个IFERROR,就调好了。感谢

TA的精华主题

TA的得分主题

发表于 2024-6-11 09:24 | 显示全部楼层
  1. =SUMPRODUCT((1-ISERR(VDB(,,$F$10:$F$13,1%%%,SUBTOTAL(9,OFFSET($K10,{0;1;2;3},,,COLUMN(B1)))/$D$10:$D$13)))*L$10:L$13)
复制代码
  1. =SUMPRODUCT((1-ISERR(VDB(,,$F$10:$F$13+$G$10:$G$13,$F$10:$F$13+1%%%,SUBTOTAL(9,OFFSET($K10,{0;1;2;3},,,COLUMN(B1)))/$D$10:$D$13)))*L10:L13)
复制代码
  1. =SUMPRODUCT((1-ISERR(VDB(,,1,$F$10:$F$13+$G$10:$G$13+1%%%,SUBTOTAL(9,OFFSET($K10,{0;1;2;3},,,COLUMN(B1)))/$D$10:$D$13)))*L10:L13)
复制代码
规则有点坑,不然三个公式可以合并的

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-11 10:06 | 显示全部楼层
jivy1212 发表于 2024-6-11 09:24
规则有点坑,不然三个公式可以合并的

谢谢哈,这个也还很景,设计的很巧。百度了一下VDB函数,认识了一下。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-11 10:54 | 显示全部楼层
jivy1212 发表于 2024-6-11 09:24
规则有点坑,不然三个公式可以合并的

还想问一下,函数中使用了{0; 1;2; 3},示例中项目是4个项目,假设中间插入2行变成6个项目结果不对,在最后插入2行结果是对的。
试了下,收款记录是1-3月,随着时间流逝,变成1-5月,公式右拖结果也是对的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-6-11 11:00 | 显示全部楼层
jivy1212 发表于 2024-6-11 09:24
规则有点坑,不然三个公式可以合并的

那个VDB中叁数1%%%是啥意思啊,没悟出来
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-29 17:59 , Processed in 0.037485 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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