ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 工作日自定义函数(考虑调休)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-3-9 21:15 | 显示全部楼层
2018年2月10的的第三个工作日应该是2月13,但是楼主你这边却显示是2月14.有点不明白了。我把2月14添加到参数3了。
谢谢楼主

含调休工作日(测试).rar

13.9 KB, 下载次数: 24

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-10 09:15 | 显示全部楼层
cimine 发表于 2018-3-9 21:15
2018年2月10的的第三个工作日应该是2月13,但是楼主你这边却显示是2月14.有点不明白了。我把2月14添加到参 ...

按你的想法  ,如 出院当天为工作日则 加3,当天为休息日 则加 2,公式修改 如下 :

=IF(chinawork2(E12,0,$A$1:$A$24)=E12,chinawork2(E12,3,$A$1:$A$24),chinawork2(E12,2,$A$1:$A$24))
含调休工作日(测试2).rar (14.03 KB, 下载次数: 68)

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-10 09:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
1楼函数的 主要瑕疵在于 第二参数为0时会报错,后面考虑到这个情况并做了修正。

TA的精华主题

TA的得分主题

发表于 2018-3-12 10:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zopey 发表于 2018-3-10 09:21
1楼函数的 主要瑕疵在于 第二参数为0时会报错,后面考虑到这个情况并做了修正。

现在才看到,非常感谢楼主,感觉超级强大的,看了网上很多版本估计也就这边有唯一完美的解决方案了。我现在先好好消化消化,再次感谢zopey楼主。

TA的精华主题

TA的得分主题

发表于 2018-3-29 15:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
感觉不行啊 主要十一 春节两个长假有周日的话 也还是休息的,但是函数计算成工作日了

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-29 16:18 | 显示全部楼层
ivanhaojie 发表于 2018-3-29 15:47
感觉不行啊 主要十一 春节两个长假有周日的话 也还是休息的,但是函数计算成工作日了

1楼说明 "参数3 一五休息、六日上班(即调休) 的日期列表"

所以 :长假中有周日是休息的话 ,此周日不用放入 参数3;
          如果此周日放入参数3 ,为上班。

TA的精华主题

TA的得分主题

发表于 2018-4-4 21:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zopey 发表于 2018-3-29 16:18
1楼说明 "参数3 一五休息、六日上班(即调休) 的日期列表"

所以 :长假中有周日是休息的话 ,此周日 ...

应该是没理解holiday的含义。我一开始也是。不过看过两次试试看就理解的

TA的精华主题

TA的得分主题

发表于 2018-4-8 17:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zopey 发表于 2018-3-10 09:15
按你的想法  ,如 出院当天为工作日则 加3,当天为休息日 则加 2,公式修改 如下 :

=IF(chinawork2(E ...

想问一下,当日为休息日的话,怎么就加2呢。有点不明白,望指点,谢谢

TA的精华主题

TA的得分主题

发表于 2018-4-8 17:34 | 显示全部楼层
还有就是能不能注释一下代码的含义呢。有点懵了

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-8 21:47 | 显示全部楼层
cimine 发表于 2018-4-8 17:34
还有就是能不能注释一下代码的含义呢。有点懵了

基本思路就是 从开始日起 逐天判断是第几个工作日,直到符合条件则退出do循环。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-27 20:46 , Processed in 0.045740 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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