ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 【每周练习01】计算两个日期之间的有效时间合计值

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-4-22 20:45 | 显示全部楼层
梅州 发表于 2021-4-21 00:25
重复占楼了,写了2个公式我多次验证才发现都特么是错的,艹!!。
都怪星光模拟的数据不够多~~我 ...

这个不是竞赛区,没有什么占楼限制。
星光模拟的数据的确不够准确与典型,比如,既然是假节日,为什么还要上班?另外,模拟数据没有下午开始上午结束的情况,不知是遗漏,还是故意绕开这种情况?

TA的精华主题

TA的得分主题

发表于 2021-4-22 21:23 | 显示全部楼层
swyrlbq 发表于 2021-4-22 20:45
这个不是竞赛区,没有什么占楼限制。
星光模拟的数据的确不够准确与典型,比如,既然是假节日,为什么还 ...

我前2个写的公式对例子而言是对的,但是假如是节假日中途开始上班,隔几天又节假日提前下班的就不对。
总体来说,大致框架是我走我流老师这种,算实际天数又是NETWORKDAYS.INTL函数简洁。写来写去写到跟我流老师一样了,我就不写上来了。各中原理掌握即可。

TA的精华主题

TA的得分主题

发表于 2021-4-23 08:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
梅州 发表于 2021-4-22 21:23
我前2个写的公式对例子而言是对的,但是假如是节假日中途开始上班,隔几天又节假日提前下班的就不对。
...

黑黑,用不了多久,法法也快要出神了,等着膜拜,()(想找个色色的表情也找不到)

TA的精华主题

TA的得分主题

发表于 2021-5-26 13:09 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-6-5 21:19 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
还没有想明白,算时间的,不知道有没有漏洞
=SUM(TEXT(MOD(B2:C2,1)*24-{8.5;12;14.5;17.5},"[<]!0")*{1;-1;1;-1}*{-1,1}*(1-COUNTIF(K$2:K$6,INT(B2:C2))),(NETWORKDAYS.INTL(B2,C2,"0000000",K$2:K$6)-1+COUNTIF(K$2:K$6,INT(C2)))*6.5)/24

TA的精华主题

TA的得分主题

发表于 2021-6-5 21:21 | 显示全部楼层
我走我流 发表于 2021-4-19 18:12
x先占个位置,凑个
=CONCAT(TEXT(RIGHT(TRUNC(TEXT(TRUNC(SUM(TEXT(IF(ISNA(MATCH(INT(B2:C2),$K$2:$K$6,) ...

请教老师,为什么要用{0,“17:30”},我只能想到这样的公式:
=SUM(TEXT(MOD(B2:C2,1)*24-{8.5;12;14.5;17.5},"[<]!0")*{1;-1;1;-1}*{-1,1}*(1-COUNTIF(K$2:K$6,INT(B2:C2))),(NETWORKDAYS.INTL(B2,C2,"0000000",K$2:K$6)-1+COUNTIF(K$2:K$6,INT(C2)))*6.5)/24

TA的精华主题

TA的得分主题

发表于 2021-6-7 19:36 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-6-8 01:54 | 显示全部楼层
本帖最后由 丢丢表格 于 2021-6-8 08:30 编辑
我走我流 发表于 2021-4-19 18:12
x先占个位置,凑个
=CONCAT(TEXT(RIGHT(TRUNC(TEXT(TRUNC(SUM(TEXT(IF(ISNA(MATCH(INT(B2:C2),$K$2:$K$6,) ...

我来补个 “零”


=CONCAT(TEXT(TEXT(SUM({-1;-1;1;1}*TEXT({17;29;24;35}/48-MOD(B2:C2,1),"[<]!0")*{1,-1}*(1-COUNTIF(K:K,INT(B2:C2))))+TEXT(NETWORKDAYS.INTL(B2+1,C2,,K$2:K$6),"0;!0")*6.5/24,{"[H]","M.0","S;;零"}),{"0小时","0分钟","0秒"}&";;"))


image.png

TA的精华主题

TA的得分主题

发表于 2021-6-8 04:49 | 显示全部楼层
@刘卓 发表于 2021-6-5 21:21
请教老师,为什么要用{0,“17:30”},我只能想到这样的公式:
=SUM(TEXT(MOD(B2:C2,1)*24-{8.5;12;14. ...

他写  {0,“17:30”} 有点多了,应该写成 {0,1}


=CONCAT(TEXT(RIGHT(TRUNC(TEXT(TRUNC(SUM(TEXT(IF(ISNA(MATCH(INT(B2:C2),$K$2:$K$6,)),MOD(B2:C2,1),{0,1})-{8.5;12;14.5;17.5}/24,"[<]!0")*{1;-1;1;-1}*{-1,1})+(NETWORKDAYS.INTL(B2,C2,,$K$2:$K$6)-1)*6.5/24,8),"[h]mmss")/10^{4,2,0},0),{9,2,2}),"[>]0"&{"小时","分钟","秒"}&";"))


因为 {0,1})-{8.5;12;14.5;17.5}/24 的结果是 6.5 小时



评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-6-8 10:47 | 显示全部楼层
丢丢表格 发表于 2021-6-8 04:49
他写  {0,“17:30”} 是有点多了,应该写成 {0,1}

感谢丢丢老师的帮助,再理解下,主要是不明白跨天计算的逻辑
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-28 06:32 , Processed in 0.050745 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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