ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] excel 判断加总

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-2-4 13:38 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我要询问,我的资料excel连结在http://1drv.ms/1PKFGce

需要从最底下2013/12/20开始算,E525储存格应该加总D525:D489
也就是说,E525要先判断从A524(往前一格)开始第2个1出现为止的是在A489
所以E525要把D525:D489全部加总起来。

再举例,如果是E410,因为从A409开始往上判断第2个1出现在A388
所以E410应该加总D410:D388。

请问各位大大,这样的话,excel该如何跑? 跪求啊!!!!

000.rar

27.25 KB, 下载次数: 18

excel 判断加总

TA的精华主题

TA的得分主题

发表于 2016-2-4 15:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
E525=IFERROR(SUM(INDEX(D:D,LARGE(IF((WEEKDAY(C$2:C524)=4)*(DAY(C$2:C524)>14)*(DAY(C$2:C524)<22),ROW($2:524)),2)):D525),"")
数组公式,按Ctrl+Shift+Enter结束。

bill740615_excel 判断加总.rar

43.16 KB, 下载次数: 14

TA的精华主题

TA的得分主题

发表于 2016-2-4 16:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 hcm19522 于 2016-2-4 17:03 编辑

E2三鍵一起按下拉{=SUM(INDIRECT("D"&LARGE(IF((A$2:A$525="1")*(ROW(A$2:A$525)<ROW(A2)),ROW(A$2:A$525)),2)&":D"&ROW(A2)))
前面A列未有2個 "1" 會錯誤訊息

TA的精华主题

TA的得分主题

发表于 2016-2-4 17:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-2-4 22:09 | 显示全部楼层
山菊花 发表于 2016-2-4 15:38
E525=IFERROR(SUM(INDEX(D:D,LARGE(IF((WEEKDAY(C$2:C524)=4)*(DAY(C$2:C524)>14)*(DAY(C$2:C524)

山菊花总版主好厉害呀!!! 这样子就没问题了!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-2-5 14:41 | 显示全部楼层
山菊花 发表于 2016-2-4 15:38
E525=IFERROR(SUM(INDEX(D:D,LARGE(IF((WEEKDAY(C$2:C524)=4)*(DAY(C$2:C524)>14)*(DAY(C$2:C524)

山菊花总版主,我想新增判断加总条件在F栏,这次判断稍微复杂

如果我想在每个1那一天出现前的第二个周一开始算,于F栏加总到下个1为止(如果没有周一,就往上延至周二开始算,如果还是没有周二,就继续往上延至周三开始算,依此类推)

步骤举例:
1.A508的1那日期是2014/1/15,依日子算前面第二个周一是B519的2013/12/30,所以F519单元格要加总D519:D489,故从F519加总到F509停止,F508因为在A508有1,就不需要加了

2.依序上去的话,因为下个1出现的那一天2014/2/19前两个礼拜的周一是2014/1/27,所以F508~F501不用加,而F500~F490就要加到D470。

3.如果是2014/6/18那一天的前两个礼拜的周一应该是2014/6/2,但是数据没有这一天,所以就只能从2014/6/3周二开始往上加,所以F419等于D419:D388,依序加到F409停止

请问山菊花总版主,这样的判断该如何进行呢?
因为资料总数达5000笔,所以我需要了解该如何程式化进行
电子文件我已经先手动更新了,方便总版主了解我的意思

000-2.rar

29.92 KB, 下载次数: 1

excel 判断加总(F栏)

TA的精华主题

TA的得分主题

发表于 2016-2-5 16:33 | 显示全部楼层
F500是空白,没错吧?

bill740615_000-2.rar

50.76 KB, 下载次数: 5

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-2-5 18:31 | 显示全部楼层
山菊花 发表于 2016-2-5 16:33
F500是空白,没错吧?

山菊花总版主, excel跑得很顺, 我佩服你了!!

TA的精华主题

TA的得分主题

发表于 2016-2-5 18:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
bill740615 发表于 2016-2-5 18:31
山菊花总版主, excel跑得很顺, 我佩服你了!!


数组公式,数据多了就会慢下来。
提供一个VBA版,见附件。

bill740615_000-2.rar

59.92 KB, 下载次数: 16

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-3-9 21:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
山菊花 发表于 2016-2-5 18:41
数组公式,数据多了就会慢下来。
提供一个VBA版,见附件。

山菊花总版主, 出差回来, 才发现我错了,我要的应该是「扣减」而不是「累积加总」
我的资料excel链接同样在http://1drv.ms/1PKFGce

【扣减1】一样需要从最底部数据往上判断。如果我想在每个A栏出现1的那一天之前第二个周一开始算,于G显示该列与下个1出现的值的差(如果没有周一,就往上延至周二开始算,如果还是没有周二,就继续往上延至周三开始算,依此类推)

步骤举例:
1.A508中的A栏出现1,那日期是2014/1/15,此日子算前面第二个周一是B519的2013/12/30,而A栏下个1出现的是2014/2/19,所以G519单元格要计算D489-D519。数据从G519计算到G509停止,G508因为在A508有出现1,就不需要加了

2.依序上去的话,而G508~G500不用计算。A栏下个1出现的那一天2014/2/19前两个礼拜的周一应该是2014/2/3,但是数据没有这一天,所以就只能从有数据的2014/2/5周三开始往上判断,所以G499等于D470-D499,依序计算到G409停止。

请问山菊花总版主,这样的判断该如何进行呢?
因为数据总数达5000笔,所以我需要了解该如何程序化进行
电子文件我已经先手动更新了,方便大大了解我的意思
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-11 20:47 , Processed in 0.027604 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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