PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Office
[算表] 年资加总少一天?
楼主:
MagusLuLu
(海边漂来的某L)
2017-08-24 17:38:09
软件:Excel 2013
版本:档案为97-2003.xls格式
正在处理年资问题,但EXCEL计算结果对不起来,上板求教~
A到职日(有上班): 88/02/11
B留停起(未上班): 94/10/01
C复职日(有上班): 97/05/01
D结算日(有上班):106/10/31
我的算法如下:
全年资:D-A+1=18年8个月21天
年月算法DATEDIF(A,D+1,"Y/YM")
日算法D+1-DATE(YEAR(A)+18年,MONTH(A)+8月,DAY(A))
留停前:B-A = 6年7个月20天
年月算法DATEDIF(A,B,"Y/YM")
日算法B-DATE(YEAR(A)+6年,MONTH(A)+7月,DAY(A))
留停期:C-B = 2年7个月 0天
年月算法DATEDIF(B,C,"Y/YM")
日算法C-DATE(YEAR(B)+2年,MONTH(B)+7月,DAY(B))
复职后:D-C+1= 9年6个月 0天
年月算法DATEDIF(C,D+1,"Y/YM")
日算法D+1-DATE(YEAR(C)+9年,MONTH(C)+6月,DAY(C))
(日算法是为了避开DATEDIF(起,讫,"MD")的bug)
理论上(全年资-留停期)=(留停前+复职后),或(全年资)=(留停前+留停期+复职后);
但从EXCEL计算结果怎么算全年资都比(留停前+留停期+复职后)多1天……
请问我的算法是哪里出了问题呢?
作者: soyoso (我是耀宗)
2017-08-24 18:13:00
觉得是畸零大小月的问题,d为10/31,年资的日则是10/11~10/31为21天,而B留停日5/1未上班,算到4/30,日则为4/11~4/30为20天,d于大月(31天)时会产生1日落差,如于小月(30)时则会相同,如d为9/30时
https://i.imgur.com/aehbjE0
测试上则为相同如将b留停改为11/1算到10/31,a,c,d同原文资料,测试应会相同
https://i.imgur.com/ayYLoa3
作者:
qpowjohn
(pose)
2017-08-25 16:50:00
是闰年问题?
继续阅读
[算表] 图表坐标轴 10的负数次方
kipi91718
[算表] 下拉式方块的事件
skating
[算表] 相同人名多品项合并
sckkane
[问题] VBA取用跨工作簿的储存格范围
aovo
[问题] EXCEL 重复资料显示问题
KEI1130
[问题] 有遇到类似的编写情境吗?
thomasflee
[算表] 特定资料相加
partDu
[问题] pdf档无法支援"萤光标示文字"的功能
zzss2003
Re: [算表] 如何改变 $ 后的值
LeonYo
[问题] VBA计算文字字串
rj5871224
Links
booklink
Contact Us: admin [ a t ] ucptt.com