ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何只将重复时间段内的天数计入一次并求总天数和??

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-12-11 22:29 | 显示全部楼层 |阅读模式
EH的老师们:
我现在需要统计在指定时间区间(2012.1.1至2012.12.31)内4个合同ABCD的天数之和
我遇到的困难是:合同A,B,C在日期上有重叠,要求重复时间段的天数只计入一次,不重复计入,这该怎么办呀?
天数求和.rar (8.46 KB, 下载次数: 24)

天数求和.png

TA的精华主题

TA的得分主题

发表于 2012-12-11 23:01 | 显示全部楼层
不知道这么理解对不对,随便在表中找了一个地方用=MIN(B4:C7)得出最小的日期是2011/10/1,用=MAX(B4:C7)得出最大的日期是2013/3/31,最后用隐藏函数=DATEDIF(B12,B11,"d")算出总天数为547天

TA的精华主题

TA的得分主题

发表于 2012-12-11 23:03 | 显示全部楼层
合在一起就是=DATEDIF(MIN(B4:C7),MAX(B4:C7),"D")得出547

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-12 09:12 | 显示全部楼层
jinwood 发表于 2012-12-11 23:03
合在一起就是=DATEDIF(MIN(B4:C7),MAX(B4:C7),"D")得出547

不是这个意思,要把重叠的日期唯一化,所有合同的总天数在指定时间区间是不会超过365天的

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-12 09:18 | 显示全部楼层
请大家指教呀,领导着急要数据,急呀急呀~~

TA的精华主题

TA的得分主题

发表于 2012-12-12 09:35 | 显示全部楼层
  1. =SUMPRODUCT(IF(MMULT(((ROW(1:365)+C1)>=TRANSPOSE(A1:A4))*((ROW(1:365)+C1)<=TRANSPOSE(B1:B4)),ROW(A1:A4)^0),1))
复制代码
看附件能否满足你的要求。

工作簿1.rar

6.51 KB, 下载次数: 30

点评

尽量用 ROW(1:366) 只样通用性强, 润年也不会出错.  发表于 2012-12-12 19:36

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-12-12 09:39 | 显示全部楼层
那就是说只能分为两个时间段,2012-1-1至2012-8-31为一个时间段,用DATEDIF算出这个时间段的天数是243天,2012-11-1至2012-12-31为一个时间段,算出的天数是60天,其他的都是叠加的。一共303天,不知道这样理解对不对?

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-12 17:23 | 显示全部楼层
zxh361 发表于 2012-12-12 09:35
看附件能否满足你的要求。

您给的公式就是我想要的,非常感谢。
但真的好复杂啊,能不能麻烦您大概解释一下其中的原理呢,我只看懂好像是矩阵转置的原理,但具体还是不太明白。谢谢您!

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-12 17:37 | 显示全部楼层
jinwood 发表于 2012-12-12 09:39
那就是说只能分为两个时间段,2012-1-1至2012-8-31为一个时间段,用DATEDIF算出这个时间段的天数是243天,2 ...

对的,是这个意思,请问您公式如何修改呢?

TA的精华主题

TA的得分主题

发表于 2012-12-12 18:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 jinwood 于 2012-12-12 18:28 编辑

=SUM(DATEDIF(A1,B1,"d"),DATEDIF(D1,E1,"D"))
A1单元格为2012/1/1,B1单元格为2012/8/31,D1单元格为2012/11/1,E1单元格为2012/12/31
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 11:51 , Processed in 0.049943 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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